I'm not quite entirely sure what you mean by the verb "map", the noun "map", and in which sense you use it in each instance. Also, I'm unsure why you think sorting enters into it.
My understanding of MapReduce is that it's (surprise!) all about applying the higher-order functions map and then reduce. Here's what they do:
Map takes a function f and a list [x_1,..., x_n], then returns [f(x_1),..., f(x_n)]. That is, it applies f to all the elements of the list. [variants takes multi-argument functions and multiple lists].
Reduce takes an associative operator ++ and a non-empty list [y_1,..., y_n] and returns y_1 ++ y_2 ++... ++ y_n. [Variants take an initial value, and may accept empty lists then.]
Example: you want to know the sum of the squares of 1 through k, and have a list [1,..., k]. You can evaluate Reduce(addition, map(squaring, [1..k])) to get exactly what you want.
So, what's the big fuss about Google's MapReduce? It's an implementation of map and reduce that works in parallel on many machines; note that if f has no side effects, you can compute f(x_i) independently from f(x_j). Also, if you know f(x_i) and f(x_{i+1}) then you can compute f(x_i) ++ f(x_{i+1}) without worrying what happens elsewhere in the reduce job.
Also, Google probably uses it for something other than computing sums of lists of numbers. Especially the ones that have closed form expressions;)
hide a unit behind a tree or building somewhat and it makes ground units very hard to click on when there are lots of air units on top but I'd say it works well.
You can hit insert or delete to temporarily turn your camera roughly 120 cw or ccw (in its horizontal plane). You can also hit page up and page down to raise or lower your camera. These camera adjustments makes it much harder to hide your units behind your opponent's UI limitations. I suspect Blizzard learned something from watching SC replays;)
The only thing telnet is good for anymore is checking to make sure SMTP traffic works and configuring devices that won't talk with anything else.
And wouldn't trust telnet with that either. Last I checked, it inserts characters that talk to your terminal--ever wonder how a MUD can clear your screen? You really should do yourself a favor and use netcat instead, as they connect stdin and -out with a socket completely transparently. See man netcat for more reasons to use it over telnet.
(If you want netcat with support for openssl, ipv6, unix sockets and all other kinds of unix streams, use socat instead; they both do udp).
old information never dies and bad new travels much faster than good news
In fact, you can propel a rather large spaceship with bad news; it will make it travel faster than light, but won't be welcome anywhere. How infinitely improbable is that, huh?;)
<pick object="nit"> Whether something is open source is orthogonal to whether it's commercial. From the annotated open source definition:
6. No Discrimination Against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
Rationale: The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it.
The free software definition has point 2 stating that you're free to redistribute. This includes distribution in exchange for money.
Also, let's not call GPL software "free." It's legally encumbered, just like everything else. If you want something to be truly free, then public domain it.
It's meant to preserve some freedoms by taking away others.
Here's a crazy analogy: let's not call the constitution "free". It's encumbered (in that you're not free to censor, torture or disperse peaceful assemblies) just like everything else. If you want something to be truly free, then make it an anarchy.
Sometimes, some freedoms can only be granted to everyone if other freedoms are taken away. In that sense, *nothing* can be (with your words) "truly free".
It's always seemed to me that RMS isn't about freedom, just his own twisted version of it.
Allow me to explain what I think RMS's view is. I don't have a specific source to quote, but audio-video.gnu.org might help you out if you care.
Freedoms can conflict; saying you're "for freedom" fails to make sense when freedoms do conflict. Are you free to assemble or free to disperse? Are you free to speak or free to censor? Are you free to limit the exercise of other people's freedoms?
When freedoms conflict, you can't give more of one without taking some of the other. You have to choose the right balance between freedoms, which comes down to a value judgment: do you value software freedom more than technical convenience.
RMS values freedom over technical convenience (so he's said).
Also, this isn't about whether people are free to choose licenses for their software. It's about how that freely made licensing decision will affect the software's possibility of being shipped as part of gNewSense.
I don't recall hearing RMS say that people should be forced to use the GPL for works of the kind it's meant for (i.e. functional works like software, dictionaries, encyclopedias and so forth). If you can show how I'm wrong, I'd be delighted to read up (or listen up) on your reference.
It's ironic that the ideology behind including binary drivers is an attack on peoples freedoms - the freedom to not use non-free software. It's always seemed to me that timmarhy isn't about freedom, just his own twisted version of it.
I don't mean this bit, but do you see where I'm driving at with it?
If this person profited by selling a piece of software that took money, time, and labor to make, how did he not deny someone the money they should have made?
I see someone else has given their argument against the "should" part: that copyright lasts too long these days.
Here's my argument against the "how did he not" part: it's possible that the return on investment in selling those games is sufficiently low that the creators have a better way to spend their time and money, whereas this guy sees it as good business.
Were that the case, it looks like this guy got a benefit from the transaction, as well as the buyer (they both think they did a good trade), and that the creators didn't lose anything; it would seem as if we would all be better off if this transaction which has societal benefit was allowed to happen.
However, how do we make laws that allows for this and still gives creators some incentive to create? Will copyright infringement suits cost more money? Whose money?
Oh well: in answer to you question, it's possible that the dude made money the creators didn't want to make.
You might find a new joy in bringing your work home!
Your underlying assumption, that we here on slashdot want sex a lot, is true, but then why on earth would you use a woman as a penetration test subject? Your job is to prevent penetration!
Allow me to clarify parent and grand-parent for those of you who don't read articles:
As a proof-of-concept, I have written a hacky Python script, named debsudoku.py, that can convert ksudoku saved games into Packages files suitable for use with apt-get or aptitude.
Emphasis added. Note that dpkg doesn't solve the dependency puzzle, but apt-get, aptitude and other package managers do (including synaptic and gnome-app-install [the "Add/Remove" thing]). Hence the suggested badtitle (which I agree with).
The 'aptitude --help' bit and the super cow powers: if you run 'apt-get moo', you'll get a cowsay output (that is, an ascii-art cow saying "Have you mooed today"). Running 'aptitude moo' gets you "There are no Easter Eggs in this program". Running 'apt$GETITUDE --help' gives you "this apt[itude] does [not] have Super Cow Powers".
However, I do not believe that the grandparent is correct in stating that these methods solve sudokus in a fraction of the time of the brute force method if you allow for [...]
Well, run some tests then;) Seriously, though: as you point out yourself, if you add some simple heuristics to the brute-forcing it ceases being brute-force. Guess what, the heuristics for solving Sudoku problems (you've pointed one out yourself) eventually run out, and you have to guess and backtrack or brute-force in some other way.
If we compare the completely vanilla brute force (that's 9^(n^2) tries where n^2 is the number of squares) with the heuristics-plus-brute-force, you may get something better than a constant factor time improvement (that is, time is reduced with more than just a fixed fraction). However, the Sudoku problem (for arbitrary-sized boards) is NP-complete, so you can't get down to polynomial time.
Although typical Sudoku puzzles (with 9×9 grid and 3×3 regions) can be solved quickly by computer, the generalization to larger grids is known to be NP-complete. Various optimization methods have been proposed for large grids.
Could you please express sudoku as a set theoretic problem? Bonus points if it's not the trivial solution of saying "... but everything is a set in ZFC, so this concerns sets":)
I'd say that it's a combinatorics problem; in particular, it's nine-coloring graphs of a very restricted structure: one vertex per square, and for every square x there's an edge between x and y if y is in the same row, column or cluster as x. (N-coloring means assigning to each vertex a color from a set of N colors, such that no two vertices with an edge between them have the same color).
You can think of graph coloring as covering the nodes in as few independent sets as possible; is that where you're aiming at when you say it's a set theoretic problem?
With the controllers getting more complex,the next natural step is fretted, stringed activation. Might as well just get a real guitar. The difference is:
Controller: you do the instrumental karaoke thing, some people appreciate it, you go home with the admiration of a small clique. Limited to songs you purchase. Plastic junk you eventually garage sale.
Guitar: you actually milk out the sounds in your head, most people appreciate it, you go home with that blond in the front row. Not limited to songs included in game modules. Guitar has some resale value to enable better model in the future.
(I've quoted the parent in its entirity, inserting whitespace and fixing minor punctuation issues).
My background, so that you can put what I'm saying into perspective: I have three guitars [Stratocaster, Telecoustic, Flying V], I've taken guitar lessons through five years about ten years ago; I've played, I've been on a stage, I've been in a recording studio and had one of my songs recorded; I wouldn't want to give up music. I don't play much these days, but when I play Gerudo Valley (LoZ: OoT) or Ken Stage (SF2) to myself I like what I hear.
I've played GH:Aerosmith at my local video game store, and a different version at one other occasion. I've ordered GH3 for my wii, and I expect it to be worth the monies.
You do have a point, and here's what I think it is when stated in neutral terms: real guitars and GH guitars give you different things. I agree with that, whole-heartedly. You then go on to add your personal value judgments on the two different things through claims about what they will give you.
I don't believe all the claims. I also don't believe your list is complete. I never went home with the blond in the front row, for one, but that's because I also read slashdot;) Staying in the "I read slashdot" ballpark: I have a very well-informed opinion based on the article which I didn't read, and it is that with GH you are not (contrary to your claim) limited to the songs you buy---you can create your own; or did I miss a badtitle?
You fail to mention that guitars cost significantly more than GH games. True, there's resale value, but my experience is that you become emotionally attached to guitars and don't want to sell them; also, buying and reselling a guitar is going to cost your more than a GH game. Second of all, note how I said I learned to play the guitar by taking lessons? It's not easy; it takes time and effort before you sound just as good as the game does when you play it well. It takes even more time until you're writing your own music.
Also, GH is a fun kind of musical-ish competition (if you've played singstar you know what I'm talking about, although GH is quite a bit more light on the musical skill thing), which is fun, and social interaction; either playing with friends, or chatting with the other customers in the video game store. True, playing in a band does that as well, but it takes more than one person with comparable skill level and musical taste.
Your post is presenting a false dichotomy between enjoying GH and enjoying the real deal. One can enjoy both, and enjoy both for exactly what they are; I love my guitars, I love composing, soon I'll be auditioning for a local band that needs another guitar player. I love the music. I'm also an avid gamer, since my first computer which was an Amiga 500 (and, although chess is a board game, games is what got me into programming, which I'll probably do professionally). I predict that I'll enjoy playing GH very much, that it'll be great fun, and that I'll beat the crap out of my non-guitar-playing friends;) and I'll love it for what it is: a great game [and emphatically *not*: a replacement for the real thing].
Also, my stage experience says to go for the goth chick with black hair and a nose ring. You know, the one with the perky breasts who looks at you with this curiously intense stare. She'll insist on letting her girlfriends take part in the fun too. Bet you didn't know that, huh?;)
I know you're just trying to be funny, but allow me still to (hopefully) educate some of your readers.
If anyone was wiretapping and using reasonably well-designed equipment, you wouldn't hear clicks, since clicks can be avoided. I think "high-impedance circuitry" was the phrase used to justify that claim.
Also, if the wiretappers are playing by the rules, you can just press C on your phone (or play back two tones with the corresponding frequencies but less amplitude than your phone does) to shut down the recording equipment at the other end.
Interesting to know, if you plan on being wiretapped. What's also interesting to know is that wiretapping equipment is (usually) illegal to posses, yet can be bought from law enforcement agencies on ebay:)
That'd be "map<signed short int, unsigned long int>::iterator it = m.begin()". And you can write "using namespace std;" instead of "std::", saving a net minus 15 characters;)
Anonymising of email addresses is done all the time on publicly archived mailing lists and I don't hear an outcry about that.
Okay, let me cry out about that: it frigging stinks when the archiver censors anything that matches [a-zA-Z0-9]*@[a-zA-Z0-9]*. Don't believe me?
"You can access anonymous read-only cvs by doing $ cvs co:/projects/myproj/". "You can log in to our new world-wide shell account by doing $ ssh."
Forgive me for not remembering SMTP and current best practice well enough, but isn't it reasonable to expect "recipient doesn't exist" after RCPT TO but before DATA? The archiver could check that the strings it wishes to censor are in fact mail addresses by half-sending a mail to the address (stopping after RCPT TO, before DATA, of course). That should rid the world of some false positives. It could then cache its finding and only recheck it every so often to avoid stressing the mail servers.
Ahem... bad implementation rant, not bad idea rant. Mod me OT now...
I think you've watched too much American Idle...
There's the solution! Everybody sends people on sleepovers until there's only four persons left in the household.
Oh, wait...
Your advisor must be smoking something good. Please ask him to share.
Fixed that for you :)
I'm not quite entirely sure what you mean by the verb "map", the noun "map", and in which sense you use it in each instance. Also, I'm unsure why you think sorting enters into it.
My understanding of MapReduce is that it's (surprise!) all about applying the higher-order functions map and then reduce. Here's what they do:
Map takes a function f and a list [x_1, ..., x_n], then returns [f(x_1), ..., f(x_n)]. That is, it applies f to all the elements of the list. [variants takes multi-argument functions and multiple lists].
Reduce takes an associative operator ++ and a non-empty list [y_1, ..., y_n] and returns y_1 ++ y_2 ++ ... ++ y_n. [Variants take an initial value, and may accept empty lists then.]
Example: you want to know the sum of the squares of 1 through k, and have a list [1, ..., k]. You can evaluate Reduce(addition, map(squaring, [1..k])) to get exactly what you want.
So, what's the big fuss about Google's MapReduce? It's an implementation of map and reduce that works in parallel on many machines; note that if f has no side effects, you can compute f(x_i) independently from f(x_j). Also, if you know f(x_i) and f(x_{i+1}) then you can compute f(x_i) ++ f(x_{i+1}) without worrying what happens elsewhere in the reduce job.
Also, Google probably uses it for something other than computing sums of lists of numbers. Especially the ones that have closed form expressions ;)
hide a unit behind a tree or building somewhat and it makes ground units very hard to click on when there are lots of air units on top but I'd say it works well.
You can hit insert or delete to temporarily turn your camera roughly 120 cw or ccw (in its horizontal plane). You can also hit page up and page down to raise or lower your camera. These camera adjustments makes it much harder to hide your units behind your opponent's UI limitations. I suspect Blizzard learned something from watching SC replays ;)
and people like me would mail in the checks to get it.
Only problem is that you would mail those checks to a Swedish bay affected by global warming :p
6pool
The only thing telnet is good for anymore is checking to make sure SMTP traffic works and configuring devices that won't talk with anything else.
And wouldn't trust telnet with that either. Last I checked, it inserts characters that talk to your terminal--ever wonder how a MUD can clear your screen? You really should do yourself a favor and use netcat instead, as they connect stdin and -out with a socket completely transparently. See man netcat for more reasons to use it over telnet.
(If you want netcat with support for openssl, ipv6, unix sockets and all other kinds of unix streams, use socat instead; they both do udp).
guaranteed to decrease in value over time
True and stated: Whenever you buy a computer C at time t0, there's a time t1 > t0 such that val(t0, C) < val(t1, C).
Possible and not stated: there is a time t2 >> t1, such that val(t2, C) > val(t0, C), due to num(t2, C) << num(t0, C).
That is, your old Amiga 500 might become a collectors item some day :)
old information never dies and bad new travels much faster than good news
In fact, you can propel a rather large spaceship with bad news; it will make it travel faster than light, but won't be welcome anywhere. How infinitely improbable is that, huh? ;)
that was commercial software, not open source
<pick object="nit">
Whether something is open source is orthogonal to whether it's commercial. From the annotated open source definition:
6. No Discrimination Against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
Rationale: The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it.
The free software definition has point 2 stating that you're free to redistribute. This includes distribution in exchange for money.
</pick>
Also, let's not call GPL software "free." It's legally encumbered, just like everything else. If you want something to be truly free, then public domain it.
It's meant to preserve some freedoms by taking away others.
Here's a crazy analogy: let's not call the constitution "free". It's encumbered (in that you're not free to censor, torture or disperse peaceful assemblies) just like everything else. If you want something to be truly free, then make it an anarchy.
Sometimes, some freedoms can only be granted to everyone if other freedoms are taken away. In that sense, *nothing* can be (with your words) "truly free".
It's always seemed to me that RMS isn't about freedom, just his own twisted version of it.
Allow me to explain what I think RMS's view is. I don't have a specific source to quote, but audio-video.gnu.org might help you out if you care.
Freedoms can conflict; saying you're "for freedom" fails to make sense when freedoms do conflict. Are you free to assemble or free to disperse? Are you free to speak or free to censor? Are you free to limit the exercise of other people's freedoms?
When freedoms conflict, you can't give more of one without taking some of the other. You have to choose the right balance between freedoms, which comes down to a value judgment: do you value software freedom more than technical convenience.
RMS values freedom over technical convenience (so he's said).
Also, this isn't about whether people are free to choose licenses for their software. It's about how that freely made licensing decision will affect the software's possibility of being shipped as part of gNewSense.
I don't recall hearing RMS say that people should be forced to use the GPL for works of the kind it's meant for (i.e. functional works like software, dictionaries, encyclopedias and so forth). If you can show how I'm wrong, I'd be delighted to read up (or listen up) on your reference.
It's ironic that the ideology behind including binary drivers is an attack on peoples freedoms - the freedom to not use non-free software. It's always seemed to me that timmarhy isn't about freedom, just his own twisted version of it.
I don't mean this bit, but do you see where I'm driving at with it?
Sing it, brother.
They should have called it Gnubuntu.
If this person profited by selling a piece of software that took money, time, and labor to make, how did he not deny someone the money they should have made?
I see someone else has given their argument against the "should" part: that copyright lasts too long these days.
Here's my argument against the "how did he not" part: it's possible that the return on investment in selling those games is sufficiently low that the creators have a better way to spend their time and money, whereas this guy sees it as good business.
Were that the case, it looks like this guy got a benefit from the transaction, as well as the buyer (they both think they did a good trade), and that the creators didn't lose anything; it would seem as if we would all be better off if this transaction which has societal benefit was allowed to happen.
However, how do we make laws that allows for this and still gives creators some incentive to create? Will copyright infringement suits cost more money? Whose money?
Oh well: in answer to you question, it's possible that the dude made money the creators didn't want to make.
You might find a new joy in bringing your work home!
Your underlying assumption, that we here on slashdot want sex a lot, is true, but then why on earth would you use a woman as a penetration test subject? Your job is to prevent penetration!
Allow me to clarify parent and grand-parent for those of you who don't read articles:
As a proof-of-concept, I have written a hacky Python script, named debsudoku.py, that can convert ksudoku saved games into Packages files suitable for use with apt-get or aptitude.
(Source: TFA, at http://algebraicthunk.net/~dburrows/blog/entry/package-management-sudoku/)
Emphasis added. Note that dpkg doesn't solve the dependency puzzle, but apt-get, aptitude and other package managers do (including synaptic and gnome-app-install [the "Add/Remove" thing]). Hence the suggested badtitle (which I agree with).
The 'aptitude --help' bit and the super cow powers: if you run 'apt-get moo', you'll get a cowsay output (that is, an ascii-art cow saying "Have you mooed today"). Running 'aptitude moo' gets you "There are no Easter Eggs in this program". Running 'apt$GETITUDE --help' gives you "this apt[itude] does [not] have Super Cow Powers".
Just FYI ;)
However, I do not believe that the grandparent is correct in stating that these methods solve sudokus in a fraction of the time of the brute force method if you allow for [...]
Well, run some tests then ;) Seriously, though: as you point out yourself, if you add some simple heuristics to the brute-forcing it ceases being brute-force. Guess what, the heuristics for solving Sudoku problems (you've pointed one out yourself) eventually run out, and you have to guess and backtrack or brute-force in some other way.
If we compare the completely vanilla brute force (that's 9^(n^2) tries where n^2 is the number of squares) with the heuristics-plus-brute-force, you may get something better than a constant factor time improvement (that is, time is reduced with more than just a fixed fraction). However, the Sudoku problem (for arbitrary-sized boards) is NP-complete, so you can't get down to polynomial time.
Although typical Sudoku puzzles (with 9×9 grid and 3×3 regions) can be solved quickly by computer, the generalization to larger grids is known to be NP-complete. Various optimization methods have been proposed for large grids.
(Source: http://en.wikipedia.org/wiki/Sudoku)
Sudoku is a set theory problem
Could you please express sudoku as a set theoretic problem? Bonus points if it's not the trivial solution of saying "... but everything is a set in ZFC, so this concerns sets" :)
I'd say that it's a combinatorics problem; in particular, it's nine-coloring graphs of a very restricted structure: one vertex per square, and for every square x there's an edge between x and y if y is in the same row, column or cluster as x. (N-coloring means assigning to each vertex a color from a set of N colors, such that no two vertices with an edge between them have the same color).
You can think of graph coloring as covering the nodes in as few independent sets as possible; is that where you're aiming at when you say it's a set theoretic problem?
man in the $COLOR house smoking $BRAND and having a $SPECIES.
Spoiler warnings next time or you hand in your geek card! ;)
With the controllers getting more complex,the next natural step is fretted, stringed activation. Might as well just get a real guitar. The difference is:
Controller: you do the instrumental karaoke thing, some people appreciate it, you go home with the admiration of a small clique. Limited to songs you purchase. Plastic junk you eventually garage sale.
Guitar: you actually milk out the sounds in your head, most people appreciate it, you go home with that blond in the front row. Not limited to songs included in game modules. Guitar has some resale value to enable better model in the future.
(I've quoted the parent in its entirity, inserting whitespace and fixing minor punctuation issues).
My background, so that you can put what I'm saying into perspective: I have three guitars [Stratocaster, Telecoustic, Flying V], I've taken guitar lessons through five years about ten years ago; I've played, I've been on a stage, I've been in a recording studio and had one of my songs recorded; I wouldn't want to give up music. I don't play much these days, but when I play Gerudo Valley (LoZ: OoT) or Ken Stage (SF2) to myself I like what I hear.
I've played GH:Aerosmith at my local video game store, and a different version at one other occasion. I've ordered GH3 for my wii, and I expect it to be worth the monies.
You do have a point, and here's what I think it is when stated in neutral terms: real guitars and GH guitars give you different things. I agree with that, whole-heartedly. You then go on to add your personal value judgments on the two different things through claims about what they will give you.
I don't believe all the claims. I also don't believe your list is complete. I never went home with the blond in the front row, for one, but that's because I also read slashdot ;) Staying in the "I read slashdot" ballpark: I have a very well-informed opinion based on the article which I didn't read, and it is that with GH you are not (contrary to your claim) limited to the songs you buy---you can create your own; or did I miss a badtitle?
You fail to mention that guitars cost significantly more than GH games. True, there's resale value, but my experience is that you become emotionally attached to guitars and don't want to sell them; also, buying and reselling a guitar is going to cost your more than a GH game. Second of all, note how I said I learned to play the guitar by taking lessons? It's not easy; it takes time and effort before you sound just as good as the game does when you play it well. It takes even more time until you're writing your own music.
Also, GH is a fun kind of musical-ish competition (if you've played singstar you know what I'm talking about, although GH is quite a bit more light on the musical skill thing), which is fun, and social interaction; either playing with friends, or chatting with the other customers in the video game store. True, playing in a band does that as well, but it takes more than one person with comparable skill level and musical taste.
Your post is presenting a false dichotomy between enjoying GH and enjoying the real deal. One can enjoy both, and enjoy both for exactly what they are; I love my guitars, I love composing, soon I'll be auditioning for a local band that needs another guitar player. I love the music. I'm also an avid gamer, since my first computer which was an Amiga 500 (and, although chess is a board game, games is what got me into programming, which I'll probably do professionally). I predict that I'll enjoy playing GH very much, that it'll be great fun, and that I'll beat the crap out of my non-guitar-playing friends ;) and I'll love it for what it is: a great game [and emphatically *not*: a replacement for the real thing].
Also, my stage experience says to go for the goth chick with black hair and a nose ring. You know, the one with the perky breasts who looks at you with this curiously intense stare. She'll insist on letting her girlfriends take part in the fun too. Bet you didn't know that, huh? ;)
I know you're just trying to be funny, but allow me still to (hopefully) educate some of your readers.
If anyone was wiretapping and using reasonably well-designed equipment, you wouldn't hear clicks, since clicks can be avoided. I think "high-impedance circuitry" was the phrase used to justify that claim.
Also, if the wiretappers are playing by the rules, you can just press C on your phone (or play back two tones with the corresponding frequencies but less amplitude than your phone does) to shut down the recording equipment at the other end.
Source: Matt Blaze, http://www.usenix.org/events/lisa05/tech/mp3/blaze.mp3, http://www.usenix.org/events/lisa05/tech/.
Interesting to know, if you plan on being wiretapped. What's also interesting to know is that wiretapping equipment is (usually) illegal to posses, yet can be bought from law enforcement agencies on ebay :)
std::map::iterator it = m.begin()
That'd be "map<signed short int, unsigned long int>::iterator it = m.begin()". And you can write "using namespace std;" instead of "std::", saving a net minus 15 characters ;)
Anonymising of email addresses is done all the time on publicly archived mailing lists and I don't hear an outcry about that.
Okay, let me cry out about that: it frigging stinks when the archiver censors anything that matches [a-zA-Z0-9]*@[a-zA-Z0-9]*. Don't believe me?
"You can access anonymous read-only cvs by doing $ cvs co :/projects/myproj/". ."
"You can log in to our new world-wide shell account by doing $ ssh
Forgive me for not remembering SMTP and current best practice well enough, but isn't it reasonable to expect "recipient doesn't exist" after RCPT TO but before DATA? The archiver could check that the strings it wishes to censor are in fact mail addresses by half-sending a mail to the address (stopping after RCPT TO, before DATA, of course). That should rid the world of some false positives. It could then cache its finding and only recheck it every so often to avoid stressing the mail servers.
Ahem... bad implementation rant, not bad idea rant. Mod me OT now...
<reference geekiness="total>
Whenever Thieving Magpie deals damage to an opponent, you draw a card.
</reference>
(you might put them in an Icy Prison, or shoot them with a Lightning Bolt). /me is geek