"The Google design incoporates the Pelamis Wave Energy Converter units, which use the motion of ocean surface waves to create electricity and can be combined to form “wave farms.” The largest existing project uses seven Pelamis units to generate about 5 megawatts of power. Diagrams included with Google’s patent application indicate the company plans to combine 40 or more Pelamis units to produce 40 megawatts of power." - Bret Taylor
via Bookmarklet
http://en.wikipedia.org/wiki/P... "The Pelamis device consists of a series of semi-submerged cylindrical sections linked by hinged joints. The wave-induced relative motion of these sections is resisted by hydraulic rams which pump high pressure oil through hydraulic motors via smoothing hydraulic accumulators. The hydraulic motors drive electrical generators to produce electricity." - bob
"offshore data havens?" wow, are they pursuing the "Cryptonomicon" Master Plan or what? :-D next up i guess is the tax-free Google Dollar ;-) - Karim
It's sad to see Google getting conservative. Five years ago, the plan would have been to launch data centers into orbit. - Neil Kandalgaonkar
I always enjoy it when tabloids translate a patent application into a "plan to" - Neil Dunn
A blog covering the American electorate. Warning: really depressing. - Leonard
I started to read this book in B&N but gave up when he said that the book wasn't actually going to try to gauge just how stupid we are. ;) - Neil Kandalgaonkar
Chrome is nice, but a browser war this is not. BTW, this would technically be the third browser war. #1: Netscape vs. IE, #2: IE vs. Firefox, #3: IE vs. Firefox vs. Chrome. - Jason Huebel
It's not a browser war. It's an application-platform war, where Chrome fights plain old web apps, AIR, Flash, Java, and Windows. I don't know if Firefox is really in this fight; XUL never really took off, so at best it is in the "plain old web apps" corner. - Neil Kandalgaonkar
Now that I've read the details, it sounds like somebody was seriously misinformed. There was probably a confidential informer who heard from a friend of a friend of a friend that they might have guns, and told the police that in order to curry favor. - Gabe
@Gabe: that reading is very, very generous to the RNC and the police. Even given your farfetched scenario, the police are obliged to check out random allegations before they go in with guns drawn. You should apply Occam's Razor here. What's the obvious reason why they were shut down? - Neil Kandalgaonkar
I'm sorry if it sounded like I actually supported what the police did. If I were one of those arrested, I'd be preparing to sue them for civil rights violations under 42 U.S.C. § 1983 and 1985. Seriously, though, the simplest reason is that they were just bumbling idiots. That doesn't mean it can't be a conspiracy, but it probably isn't. - Gabe
@Gabe: If it had been random idiocy, random people would be targeted. They are systematically intimidating the very activists who documented police misconduct during RNC 2004. - Neil Kandalgaonkar
Neil, it's idiocy, but not random. Somebody mistakenly believed there were dangerous weapons there. That person was wrong. - Gabe
Look at this "FBI looking for vegan potluck terrorists" http://www.boingboing.net/2008... from May 21st. "Carroll would be compensated for his efforts, but only if his involvement yielded an arrest." If that's how you incentivize your informants, of course you're going to be misinformed! - Ruchira S. Datta
Some people will go audibly apoplectic at hearing this news. "Another browser to deal with!" "Owww!" "KILLIT!?!1101@#!" Potentially, it might help to hear that A) it's open source B) it's based on WebKit so if you develop for Safari, you're good already. - Chris Wetherell
This is a great post, and is accurate. But we need to look at ourselves, too. Why are we more interested in downloading stupid apps than ones that have real value? It's sort of like why the National Enquirer and other rags exist. If people want stupid stuff, rather than stuff like Evernote, the VCs are there to support the needs of people, not try to force them to download stuff that would actually be better for them. A lot of McDonalds got built by people who wanted to make a buck. - Robert Scoble
Is true value determined by the market? Cultural prejudice? Pop culture? A cabal of high priests? It may differ by subject. - todd
This is something that we as a society are responsible for, it is no different to bad food or alcohol. Moderation is the key and something that people do not understand, why can't I have 65 cheese burgers with dinner, while I watch
4 hours of reality television and read about Britney's love child alien abduction ?
And we in the geek world enable people to be idiots, by treating them like adults and expecting them to understand that crapware should be in moderation, like everything else.
/rant over
Great article. - Jonathan Ferguson
Is anyone else hearing this title as if it were an NWA track? - Neil Kandalgaonkar
I'm sorry, but Tron was a BAD science fiction film. Just BAD. The others might be legit, but not Tron...(And I say that as a woman who has sat through some bad sci-fi movies late at night.) - Jill O'Neill
As narrative, Tron is stupid, but so is opera. You go to opera for the music, costumes, and sets. Movies like Tron are about vision and imagination. - Neil Kandalgaonkar
Stamen Design seem to have done what I did to figure out transit times, only much more thoroughly. They figured it out times directly from the graph of transit schedules and also did the full n**2 connection of each district to each district. I found this surfing someone's del.icio.us, so I'm not sure if it was announced yet. - Neil Kandalgaonkar
In other news, the number of people wanting to work at Google has dropped by 15%. - possible248
Hard to believe. Maybe they decided to be penny wise and pound foolish after all. - Paul Buchheit
This is similar to when the fine microbrews at various startups were replaced with PBR and Beast. Served warm. In a communal set of tumblers. - qthrul
File under "I CAN'T HAS CHEEZBURGER." Attention all staff: Due to budgetary constraints, the hot and cold running champagne taps will be switched to non-vintage blends until further further notice. That is all. - Karim
I guess they decided they don't want people working late. - Gabe
Dinner was always the least effective meal at keeping geeks at their desks. I saw it mostly abused by families who would zoom in to have dinner with Dad or Mom and then they'd all leave together. To my knowledge Google didn't even have a dinner serving before 2005 or so, anyway. - Neil Kandalgaonkar
In my experience it's always far worse when a company removes a perk than if they'd never introduced it at all. It's like removing features from software--even if it should never have been there in the first place, users will scream murder if you try and remove something in a future release. - Reto Meier
funny, funny (just coming back from my Google Dinner). this story is fake, as you can guess. - Ihar Mahaniok
@Ihar nope, I couldn't guess that - at least based on the contents of that article. Why do you think it's fake? - Metta (Kamath)
Kamath, because I know. I work at Google, I have eaten my dinner one hour ago, and my colleagues in MV are having their dinner in a few hours from now. Do I need to post pictures to prove this? :) - Ihar Mahaniok
Ihar, maybe it's the Last Supper? Sorry, couldn't resist. - Sprague D
I really really did really not want to go to my ten year high school reunion, so I hired a stripper to go, as me, instead. Really. - Neil Kandalgaonkar
Maybe the right way to think of it is that 2-D is suitable for third-person stories, and that 3-D is suitable for first-person (and second-person?) storytelling. Immersive 'video-rides' like Honey I Shrunk the Audience and Star Tours would seem to back this up. - Kevin Fox
Well, duh. If 3D movies were anything more than a sucky idea, why didn't they become popular the last time they were tried, in the 50s/60s? And why not the time before that? - j1m
Looking at it another way, what exactly would you want a 3D movie for? Would the idea be that you'd walk around the movie as it played, so you could see the action from all sides? I mean, your retinas are only 2D. - j1m
Singlely your retinas are 2D, but stereoscopic vision and a ton of neurology extends that to 3D. *Every* film uses 3D, whether it's through atmospheric perspective, geometric perspective (far things being smaller) or even simple occlusion. I don't see what's happening today as substantially different except that when they use it they wield it like a hammer, and you have to wear stupid glasses. - Kevin Fox
my point. but, while you're right that it doesn't provide any advantages worth bothering with, the list of disadvantages goes beyond the 2 you mentioned: a bunch of money is poured down the toilet, and those heavy-handed tricks you mention distract directors from doing other things to make their movies good. - j1m
How would second-person storytelling work? There have been a few video games with second-person sequences where you control one character while viewing the scene through the eyes of another (Battletoads, Zelda: Phantom Hourglass), but I'm not sure how you'd distinguish first- and second-person in a movie. - Ben Darnell
Maybe second-person is like Star Tours and Star Trek: The Experience, where there's a 'guide' who's constantly telling you what's happening to you. You're a passive participant, so it's not true first-person. The entire experience is saying 'you' metaphorically for the duration. - Kevin Fox
What's second-person storytelling in movies Kevin? - Philipp Lenssen
I'm not sure if it exists. If so it's certainly a novelty, but then that's true of fiction literature as well. Not many books start out with, "You woke up on Sunday with a hangover, trying to remember the night before." Except for Choose Your Own Adventure books, which just goes to show how interactivity is a hallmark of the second-person experience. - Kevin Fox
What, do we think sculpture isn't art? That's in 3-D! Artful 3-D movies must be possible, but it has to come way down in price and improve in convenience first. When making a movie, additional expense and audience inconvenience = studio takes less risks = Brendan Fraser thrill ride. Furthermore, to explore the medium, an artist needs to make cheap throwaway crap, lots of it. The day this technology is available, you'll get artful 3-D movies. - Neil Kandalgaonkar
To approach from the other end of the Uncanny Valley, what's Ebert's opinion of theater? Given its non-interactive nature, can't theater simply be seen as the highest fidelity reproduction of a story? Does the production suffer for taking place in the physical world? - Kevin Fox
If Spam didn't work, you wouldn't get any. Just like direct mail and telemarketing - it will stop when it becomes unprofitable. Until then, get used to it. (Spam has an even greater head start because it is inherently cheap.) - AJ Kohn
I can believe it. If it weren't for spam I would never have met my husband. - April Buchheit
I'm still waiting for unsolicited email trying to sell me Spam. - Kevin Fox
oh yes, i have for fun. my limit is $20 and we have product demostrations. on my old blog, i had reviews on some of the crap i bought. - Faboo Mama
Brian, I agree. It should be closer to 80% with the 90,10,1 rule. The rest are just too embarrassed to admit it. - John Frost
No way. If it worked this well, more legit organizations would be using it. Right now, spammers who sell products are often deceiving even their customers about what the click-through rate is going to be. The rest are organized crime. - Neil Kandalgaonkar
I suspect these 'surveys' are using expansive definitions of spam, including newsletters from organizations that you've bought from before. - Neil Kandalgaonkar
About 29% of Americans can't find Canada on a map. The same 29%? - Dror Shimshowitz
29% of Americans support President Bush. - James Prudente
You're joking?!!?? Absolutely not, are there really people out there that are that stupid? - Kol Tregaskes
via twhirl
About 2-4 times a year, I get a SPAM e-mail that I like. That's about 2-4 out of 40,000 = 0.005-0.01%. Lousy ratio compared to 0.5-3.0% direct mail or opt-in-e-mail, but I guess it works for many companies. - Mitchell Tsai
e-commerce, 'e' stands for e-mail :-D - Yung-Hui Lim
Never forget that things happen for a reason. There wouldn't be spam if it didn't work at least one in one billion times. That's all it takes. That's okay. Bill Gates solved spam back in 2006 or so. - Chris Brogan
i'm still waiting for my $29 million check from those guys in Nigeria. what's up with that? - .LAG
Where the hell did they find these people? At an idiots conventions? That number sounds exceptionally high!! - Paul OFlaherty
a security company suggests that 29% of survey "respondents" admit to purchasing something from a spam email. 622 survey participants, ~150 admit to purchases. So, 150 purchasers who visit a security company's website has been extrapolated to the entire population of the internet. well done. - Chris Hollander
oh, and by the way, the security company that did the survey happens to sell anti-spamware software. but I'm sure that's just a coincidence. - Chris Hollander
Makes perfect sense. There's a reason there's so much spam -- people respond. - Charles Barthold
via Alert Thingy
CYPHER [holding piece of apple pie on fork]: "You know, I know this apple pie doesn't exist. I know when I put it in my mouth, the Matrix is telling my brain that it is crumbly, but good. After nine years, do you know what I've realized?" [puts piece of pie in mouth, chews, savors] "Ignorance is bliss." - Karim
NEO: Can you make that thing? TRINITY: Not yet. [picks up phone] TANK: Operator. TRINITY: I need a recipe for an apple pie. [Tank scrolls through database of recipes, selects 'APPLE PIE' and presses 'UPLOAD'] [Trinity's eyelids flutter] TRINITY: Let's go. - Karim
MOUSE: [bursts into room excitedly] Morpheus and Neo are having a bake-off! - Karim
MORPHEUS: What is the Matrix? Control. The Matrix is a computer-generated dream world built to keep us under control in order to change a human being into this. [holds up a slice of apple pie] - Neil Kandalgaonkar
I want to assign a user a random number (lets say from 0 to 10,000) - but I want to make sure that it is a unique number, no other user has that number. Presumably I'm storing all taken numbers in a database. How do I most efficiently make sure a new number is a unique number? While the set is still sparse, I can just assign a number, and see if it is taken, and then try again until I find an untaken one. But as the set of all numbers approaches being full, this will approach 10,000 tries just to find that last untaken number. Is there a better way? - Shannon Bauman
Hm... thinking about this some more. Perhaps if I just stored all of the untaken items in a list (is that the right structure?)... then do a random role of rand(list.length()), and go to that spot in the list, and then use that number stored there, and remove it from the list. That may work. Not sure how that equates to a database though :-) - Shannon Bauman
Just talking to myself, don't mind me :-) I may have to just have a continuous process running that does the assigning of IDs, and always stores the unused numbers in it - and then just hit up that process whenever i need a new ID assigned. I could then add that number to the DB for bookkeeping, etc. (I need the resulting number stored in a DB for other reasons/Longevity). - Shannon Bauman
It sounds just like dealing with hash collisions... one easy approach is to pick a random number and then scan for the next available number after that (modulo table size). Linear scans should be fast if the database stores things in sorted order. - Jim Norris
@jim - yeah, that totally makes sense. Thanks! - Shannon Bauman
How about just using a larger number? (like perhaps 128bits) - Paul Buchheit
@paul (and jim) - I am actually trying to completely fill the namespace so to speak (or numberspace as the case may be in this case). I basically want to keep assigning people numbers as they come in the door until all 10,000 numbers have been taken, and then close the door. But ideally I would like to do the assigning out of order. Perhaps what I should do is just do the shuffle before hand all at once, and then assign them from first to last after they have been shuffled? - Shannon Bauman
By the way - it is pretty amazing for me to be able to post a CS question, and have the two smartest CS people I know on the planet be able to give feedback. Damn that's cool. - Shannon Bauman
I was just about to suggest pre-shuffling. Create a 10,000 item linked list, generate a random number from 1 to 10,000, pluck it from the linked list and add that number to an array table along with an auto-incrementing sequential ID. Then generate a random number from 1 to (10,000-N), and repeat until the list is gone and you have a table with IDs and random non-colliding numbers. Mind you, there may be a faster method than traversing a linked list each time, but if you're talking about 10,000 instead of 1,000,000 and you're not doing it often then it's probably more efficient to code it quickly than execute it quickly. - Kevin Fox
@Kevin: alternatively: put the N (10,000) numbers in an array A. At step i (for 0 <= i < N), swap element A[i] with A[j], where j is a random number such that i <= j < N. - Tudor Bosman
ff is now your one-stop shop for cheating on your homework. - j1m
@j1m a healthy discussion doesn't do any wrong. Even if it is HW, it is the effort that counts. - Akshay Dodeja
Tudor's method is the best (although I don't agree that j has to be constrained on the lower limit by i) and my understanding is that that's the method used for most card-dealing games to shuffle the deck. The only challenge is making sure your random number generator is really random. - Stephen Mack
Tudor's solution is simple and efficient. If you need a solution that takes even less memory, then you use a vector of booleans indexed by id to keep track of allocated ids. If each boolean is represented as a single bit, then the solution requires 1250 bytes for the 10,000 ids. - Gary Burd
Could you use a block cipher/Feistel network approach? That way, you'd only have to store the number you had last operated on and when you needed the next number, you could pass it through the block cipher to generate the next one. I believe the easier way to do it is on an even number of bits, so 2^14 = 16384 > 10000. Whenever the cipher generated a number > 10000, you could just feed that number back into the cipher until you got one that was less than 10000. - Josh
Do these non-sequential numbers have to be random, or is "random-looking" good enough? If so, pick a primitive root of 10007 (5 works), and then cycle through by multiplying mod 10007 (multiply again if you get a 5-digit numbers). While the numbers are deterministic, they may work good enough for your approach, and you can get a counter that will spit out non-sequential numbers. - Alex Power
So, you'll get 5, 25, 125, 625, 3125, 5618, 8076, 352, 1760, 8800, 3972, ... Not random, but good enough to fool most people. If you use a larger primitive root, you'll probably be OK regardless. - Alex Power
Pre-shuffling is the way to go. Fisher-Yates shuffle is easy to implement. - Neil Kandalgaonkar
Josh and Alex's ideas are interesting. You can use an LCG to generate all numbers between 0 and n with suitable choice of constants. See http://en.wikipedia.org/wiki/L.... Then you just need to remember the last number given out. It might be hard to find a set of numbers for m=10000, but you can choose, say m = 10007 and just not hand out numbers higher than 10000. x = (37 * x + 7753) % 10007 works. - Sanjeev Singh
@Neil: I didn't know that there was a name for that :) @Stephen: apparently, according to the article on the Fisher-Yates shuffle on Wikipedia, not restricting j leads to a biased distribution. - Tudor Bosman
http://en.wikipedia.org/wiki/F... - (modified) - "always selecting j from the entire range of valid array indexes on every iteration also produces a result which is biased, albeit less obviously so. This can be seen from the fact that doing so yields N**N distinct possible sequences of swaps, whereas there are only N! possible permutations of an N-element array." - Tudor Bosman
"Since N**N can never be evenly divisible by N! (as the latter is divisible by N−1, which shares no prime factors with N), some permutations must be produced by more of the N**N sequences of swaps than others." - Tudor Bosman
It's a lot more intuitive to see how this works if you create the possibility chart for N=3; the probabilities for certain outcomes will all be /27 rather than /6, but you can see what is more/less likely; apart from that, I think we've done a good job re-inventing pseudo-RNGs here tonight. - Alex Power
Kudos folks :-) @j1m: for the record, no, this was not homework or anything of the like - just a fun side project I am working on. Tudor, Alex, Sanjeev, Alex, Neil, Josh, Gary, Stephen, Kevin, Paul and Jim - thanks again for all the great ideas. A shuffle as well as the psuedo random idea both seem like great solutions for my project - not sure which I will end up doing, but one will definitely work. I'll investigate them a bit more to see which works better for my situation. Thanks again all! Fun times. - Shannon Bauman