Nvidia announces Project Shield handheld gaming system - <AUTHOR> http://theverge.com/2013/1/7/3845282/nvidia-announces-project-shield-handheld-gaming-system

<comment><USER2> Notable feature: it streams games from your desktop PC, kind of like a personal OnLive-type service where the games run on your own PC instead of at a datacenter.

[http://www.theverge.com/2013/1/7/3845358/nvidia-shield- big-p...](http://www.theverge.com/2013/1/7/3845358/nvidia-shield-big-picture- mode)

</comment><comment><USER3> this is an awesome device!</comment>


Godaddy not liable for cybersquatting, court rules - <AUTHOR> http://www.out-law.com/en/articles/2012/january-/domain-registrar-not-liable-for-cybersquatting-us-court-rules/

<comment><USER2> This sounds reasonable. I know the current trend this month is to hate on GoDaddy because of it being Reddits cause of the week regarding SOPA, but in reality a large company such as this can't prevent this type of infringement due to it's customers acting in bad faith in an automated fashion. To enforce this programatically I think would be extremely difficult, if not impossible, hence why SOPA is a terrible bill. :)

<comment><USER3> As always with Godaddy, you need to take a look at the bigger picture.

A couple of years ago, a lot of domain tasting was going on. If you registered a domain, you could "return" it within 7 days and get your money back. Bad people abused this to "taste" how many visitors they would get, returning the domain on the very last second. Sometimes they even registered and then returned the domain multiple times in a row.

Bob Parsons, then CEO of Godaddy, was very outspoken against this practice (after all, it made no money for domain registrars like him and occupied domains that he could sell to his customers). Don't get me wrong, domain tasting sucked, but it sucked especially for domain registrars. Thankfully a change in registration rules has since stopped domain tasting.

Which is good for Godaddy, which is now one of the leading "domain parking" and "domain aftermarket" registrars. Which means in layman's terms that they are holding domains ransom for advertising revenue and on the chance that they can squeeze a lot of money from whoever wants the domain. If you let a Godaddy domain expire, chances are that they, knowing how much traffic it brought to you, will renew it for themselves, slap ads on it and wait for some poor schmuck to pay hundreds of dollars to get that domain.

So, to sum it up. Godaddy didn't like people squatting domains when there was no money in it for them, but now they like it a lot because they get a lot of money from it. You may think it is reasonable to not be liable for hosted domains. In my opinion, Godaddy systematically caters to domain squatters, and this should be punished. It's the same for spammers. You can't blame a webhost if a spammer abuses his service, but a webhost that almost exclusively caters to spammers must be stopped.

<comment><USER2> I thought I've heard of other registrars in the past basically doing something similar, where they log your typo'd domain name due to their DNS redirect and register the domain proactively in order to squat up and coming trends. Surely GoDaddy isn't the only offender in this type of squatting? Not that they should get a pass, but it seems like a problem with shady registrars overall.

</comment></comment></comment><comment><USER4> Why did they not sue the individual responsible (Heiko Schoenekess) rather than godaddy that simply enabled him to set up the redirects?</comment>


Deep Work in the Age of Distraction - <AUTHOR> https://www.7pace.com/blog/deep-work-in-the-age-of-distraction <comment><USER2> Never realized there were so many ways to go about creating space for deep work. I see and use the Bimodal strategy most often, but I'm interested in how Rhythmic might work. Personally that last one, Journalistic, just seems like setting yourself up to never get anything done.</comment>


ADP fires back at Zenefits - <AUTHOR>

(apropos of https://news.ycombinator.com/item?id=9679312)
Dear Valued Client,
On June 5 you received an email from Zenefits CEO Parker Conrad making erroneous and irresponsible claims about ADP's intentions when we were forced to block Zenefits' access to ADP's RUN platform. I would like the opportunity to set the record straight and reassure you that we always operate with our clients' best interests in mind.
We suspended access solely because the Zenefits unauthorized method of extracting your data, if allowed to continue, would have put the security of your payroll information and our ability to operate at risk. We would block access of any individual or organization that created these or similar conditions.
Zenefits' approach to accessing ADP's RUN solution extracted sensitive client payroll data, including Social Security Numbers and employee banking information, in a manner that does not comply with ADP's standards for data security. In addition, Zenefits' method of extracting data from ADP's RUN system put excessive demands on ADP's servers, potentially impacting service delivery to all of ADP's RUN clients. Based on the system risks and sensitivity of client data, on June 4, 2015, ADP was forced to block Zenefits from accessing ADP's RUN payroll system.
ADP has seamlessly worked with numerous third party solution providers who deliver valuable services to shared clients. To protect your information and ensure service delivery, ADP maintains high standards for data security and systems integration. Zenefits chose not to engage ADP to find a safe and effective solution, and instead deployed automated systems to circumvent ADP's safeguards, forcing ADP to take immediate action to protect clients.
also: http://www.adp.com/zenefits/downloads/The-Facts-About-ADP-and-Zenefits.pdf <comment><USER2> Extensive discussion of ADP's statement here: [https://news.ycombinator.com/item?id=9686175](https://news.ycombinator.com/item?id=9686175)

</comment><comment><USER3> The missing pie sluces in the post are:

1\. Recognition that ADP's decision may cause inconvenience for ADP and Zenefits customers.

2\. Any indication that ADP tried to work with Zenefits to avoid the problem.

3\. Any indication that ADP was interested in working with Zenefits to resolve the issues in the interest of customers.

On the other hand, building a business on someone else's API often ends this way.</comment>


How To Get Tenure at a Major Research University - <AUTHOR> http://www.preposterousuniverse.com/blog/2011/03/30/how-to-get-tenure-at-a-major-research-university/

<comment><USER2> "Don't be too well known outside the field." reminds me of Dr. Michio Kaku (he's actually our professor at CCNY). I suppose he did a lot of great work in the past. He was with CCNY since (I think?) late 80s... there are always exceptions.</comment>


Show HN: ShipIT for GitHub Management - <AUTHOR> Hi, I'm Federico and I'm creating a Lightweight Project Management tool for Github. This MVP is being tested from some friends and myself. There are 3 major features that I'm testing.<p>* Notes: To enhance the ability to create issues and product backlog from user feedback, ideas or simply "online post-its".<p>* Board: To automate Sw iteration from issues and pull-requests. This is where progress is done.<p>* Suggestions: To recommend actions from your product backlog and board. This are suggestions made by ShipIT that improve how you develop, deploy and test features. Even adding resources like blog posts and articles about important topics.<p>I'd love to hear your feedback. Thanks! https://ship-it-app.herokuapp.com/ <comment><USER2> Something's not working. Try again in a few minutes.</comment>


How Does a Nepalese Sherpa Carry So Much Weight? - happy-go-lucky http://www.npr.org/sections/goatsandsoda/2017/03/12/517923490/how-does-a-nepalese-sherpa-carry-so-much-weight <comment><AUTHOR> "Sherpa" isn't a generic word for porter, it's an ethnic group. They originated in Tibet and migrated across the Himalayas. While in decades past most high-altitude porters were Sherpa, today it's more common to see Rai employed in these roles.

</comment><comment><USER2> TLDR; Scientists find nothing interesting, conclude its just training from birth and the human body is amazing

</comment><comment> tuna-piano I recently completed a trek to Everest Base Camp, and saw some incredible porters. Here are just a few pictures I managed to capture, including a mule who can carry two propane tanks while the porter was carrying five.

[http://m.imgur.com/a/9mSNe](http://m.imgur.com/a/9mSNe)</comment>


Tips and Tricks for debugging unfamiliar AngularJS code - <AUTHOR> http://eng.localytics.com/tips-and-tricks-for-debugging-unfamiliar-angularjs-code/

<comment><USER2> This is a phenomenal practical look into not only really useful debugging tactics, but also helps make sense of the inner workings of Angular and its Javascript underpinnings. Great article!</comment>


World's most photographed places - <AUTHOR> http://www.sightsmap.com/ <comment><USER2> I'm curious how this would look if it were somehow "divided by" population density. It wouldn't make sense for somewhere in the middle of the ocean but it might highlight more remote, scenic places. edit: For example I noticed that southern Utah is significantly brighter than you would expect from population density.

<comment><USER3> That was my first reaction too.

But zooming all the way in (to Manhattan, for example), it's clear that the heat map corresponds to actual scenic tourist spots, it goes all the way down to street level, pretty amazing.

And since these are "panoramio" photos, not selfies snapped for Facebook, it would seem to be a pretty accurate reflection of tourist destinations, as opposed to population.

<comment><USER4> When you zoom in, you do in fact control for differential population density to a lot of extent.

<comment><USER5> Not for the markers though, they are mostly for cities with high densities of people.

</comment></comment></comment></comment><comment><USER6> There are probably some sites in here that really are photographed more, but a lot of it seems to be some version of this: [http://xkcd.com/1138/](http://xkcd.com/1138/)

Edit: Oh! It's much more useful if you zoom in. Sorry for the knee-jerk.

<comment><USER7> He should make another one on the correlation of this comic being linked to in the comments of a heat-map related HN submission.

<comment><USER8> And one on this very comment.

</comment></comment></comment><comment><USER9> Back in 2007, one of the teams at Yahoo Research Berkeley (YRB) built an awesome tool on top of Flickr that showed on a map the things that were photographed somewhat, but not a ton.

For instance, it wouldn't surface pictures of the Golden Gate Bridge, but it did show pictures of the Yoda statue in the Presidio (how I learned of it's existence). There was even day mode and night mode to see what was interesting, but not well known, at different times.

Perhaps unsurprisingly, it never found its way to actual release, but it taught me a ton about where to look in data for the cool bits of info.

<comment><USER10> walkingsf did a series of heatmaps based on flickr data: [http://www.flickr.com/photos/walkingsf/sets/7215762420915863...](http://www.flickr.com/photos/walkingsf/sets/72157624209158632/)

</comment></comment><comment><USER11> Interesting to see the hotspots in non-populated places. I took a look around the Washington Cascade Mountains and you can see photos aligning around the main trails, peaks, road turnouts and other sights.

</comment><comment><USER12> Finally, proof that acorn street is not the most photographed street in the world.

Amazing work on this. I just found some new places to go on vacation.

</comment><comment><USER13> Interesting to see that France which is supposed to be the most visited country in the world is not the brightest area in Europe...at all.

Could there be a bias in the data due to the fact that all the countries don't have the same usage rate of social medias ? Or just population density ? Or official statistics are the ones that are biaised...

Anyway, great work. Loved it.

<comment><USER14> My guess: In France everything concentrates in Paris, while other popular sites are 'diluted' (there is not _the_ spot in Provence, Normandy or Bretagne where everyone takes pictures).

<comment> guard-of-terra I think this is true but the background color of the whole France is too dark even for that. I will assume that French don't use panoramio for some reason.

</comment></comment></comment><comment><USER15> Geograph have gamified photo density heatmaps for the UK and Ireland:

[http://www.geograph.org.uk/](http://www.geograph.org.uk/)

[i.e. You can earn points by submitting images for an empty grid square or where there haven't been any recent images]

</comment><comment><USER16> This is great! Flickr has a similar feature[1] I use all the time but I love the heat map addition

[http://www.flickr.com/map](http://www.flickr.com/map)

</comment><comment><USER17> Someone made a program that could reconstruct models of places from tons of automatically gathered photographs ([http://www.ted.com/talks/blaise_aguera_y_arcas_demos_photosy...](http://www.ted.com/talks/blaise_aguera_y_arcas_demos_photosynth.html)). Imagine creating an entire model of the world from pictures like this, as well as things like Google's streetview, and in the future tons of data from drones and robots.

</comment><comment><USER18> Wonder why Europe has so many more photograph density than the US. Just correlating with higher population density?

<comment><USER19> The average population density of western europe is much higher than the average population density of even the eastern USA.

Coupled with the fact that there is a lot more 'older' stuff there, whether castles, old battlefields, churches, you name it, it's not surprising there are a lot more tourist photos being taken. The average European city is a lot more photogenic than the average American or Asian city (clearly there are exceptions, given NY is #1).

Tourism is not necessarily a function of what is the best thing to do, but what is the best thing to do, given a set budget, timeframe and comfort level. On those scores, tourism in western europe wins.

<comment><USER20> I just checked Paris, the most photographed is Moulin Rouge, in the middle of the former prostitutes quarter. More photographed than arc de triumph, Eiffel tower, of the 2 km long Champs Élysée.

We have to talk either about tourists motivations or the effect of the difference between the camera position and the target position in density maps relevance.

<comment><USER21> Eiffel tower photo locations are spread over a fairly wide area, while Moulin Rouge photos are taken in a relatively small spot, hence more intense.

<comment><USER19> A very good point. The Eiffel tower photos will only show up when people are ironically taking photos _from_ the tower, instead _of_ the tower. It's much too big to get a good photo of with normal point and shoot lenses. There will be related hotspots such as from across the river, but lots of random photos on the streets will be of the tower from different angles.

Whereas the Moulin Rouge is tucked into a street, and that street is the only place you can snap it.

A great innovation in camera tech would be to tag the 'main' object being photographed if it is more than _x_ m away from the camera itself. Using GPS for direction, and using some type of algorithm for detecting the main image, I'm sure you could get a decent approximation of the target as well as the shooters location. That would make for some interesting data and you'd be able to sort on landscape vs portrait photos just by examining the GPS data.

</comment></comment></comment></comment></comment><comment><USER22> Zooming in on London, Piccadilly Circus (the no. 1 photo location in London according to this site) and found that the no.7 location here is 'Alex's Amazing Test Location of Greatness'

I wonder what this is and if anyone else has found similar spots anywhere else?

<comment><USER21> The marked locations in high-res areas like cities are based on both most popular wikipedia articles and most popular foursquare locations in the intense area. Quite likely Alex's place is one of these highly popular foursquare locations.

</comment></comment><comment><USER23> A great new way to find interesting places, awesome indeed!

This is what a social network should be, a place where human collective consciousness is used to better our choices in life.

</comment><comment><USER24> Does anyone know the data source for this?

<comment><USER25> "The heatmap shows the places people like, based on the number of panoramio photos at each place in the world."

</comment></comment><comment><USER26> At a rough glance I thought it was world's most photoshoped places. Now that would be interesting.

</comment><comment><USER27> Amazing work.

<comment><USER28> Yes it is, I upon zooming into my area of the world, a sparsely populated area, but visited by tourists, the map highlights the road system, and all of the tourist trips that are undertaken on a boat, or on a walking/tramping track. This information is great feedback for tourist operators in my area, of which I'm not one. But I'll be passing the link onto them.

</comment></comment><comment><USER29> Doesn't seem to work at all in Safari, had to switch to Chrome.

</comment><comment><USER30> This is probably going to be the coolest thing I will see all week.

</comment><comment><USER31> Look at North Korea

</comment><comment><USER32> How data like that are gathered? Amazing.

</comment><comment><USER33> Holy crap, Somalia.

<comment><USER34> If you are interested in relatively fresh photos of everyday Somali, you could look at reports of famous Russian traveller and designer Artemiy Lebedev:

[http://tema.ru/travel/somaliland-1/](http://tema.ru/travel/somaliland-1/)

[http://tema.ru/travel/somaliland-2/](http://tema.ru/travel/somaliland-2/)

[http://tema.ru/travel/somaliland-3/](http://tema.ru/travel/somaliland-3/)

[http://tema.ru/travel/somalia/](http://tema.ru/travel/somalia/)

English versions of this reports are available, switcher is in top right corner.

<comment><USER35> Thanks for the links! Very interesting read!</comment></comment></comment>


Ask HN: Please post information related to Non-Traditional Payment Models - <AUTHOR>

I'm interested in hearing about innovative/alternative payment schemes suitable for digital goods. I know there has been a lot of research aimed at alternative models for the music industry. Here are some links I've found:
Ransom Model (some interesting links at the bottom)
--- http://en.wikipedia.org/wiki/Threshold_pledge_system
Assurance Contract (related)
--- http://en.wikipedia.org/wiki/Assurance_contract
Article providing overview of some services that approach the music industry problem in different ways
--- http://www.last100.com/2007/10/11/music-industry-five-alternative-business-models/
Interested in reading what you all post! <comment><USER2> OMG, I've been battling this issue too, especially in regards to the music industry.

For now, it is still unclear how customers can safely and conveniently pay for digital goods, without credit/debit cards; especially now we are not in a digital currency world.

But these are all interesting models you've posted here.

Thanks for the links

</comment><comment><USER3> trialpay.com</comment>


Solving Every Sudoku Puzzle (2006) - <AUTHOR> http://norvig.com/sudoku.html

<comment><USER2> Another way to solve Sudoku is to understand that it is an instance of the Exact Cover problem [1]. Basically, solving a 3x3 Sudoku grid is nothing more than finding 9 "sheets" of each number which superimpose exactly on top of the grid.

For example (2x2 sudoku = 4 sheets):

        1324
        3142
        4213
        2431

is:

        1...   .2..   .3..   ...4
        .1..   ...2   3...   ..4.
        ..1. + .2.. + ...3 + 4...
        ...1   2...   ..3.   .4..

or even:

        x...   .x..   .x..   ...x
        .x..   ...x   x...   ..x.
        ..x. + .x.. + ...x + x...
        ...x   x...   ..x.   .x..
        x...   .x..   ..x.   ...x <- number row

where the last "number row" does not belong to the grid but serves to indicate the number of the sheet.

This explains how sudoku relates to the Exact Cover problem. Now, there is a good algorithm by Knuth to solve Exact Cover, which is known as Algorithm X [2].

Algorithm X is just an algorithm but Knuth has also invented a very efficient implementation of it, called Dancing Links or DLX for short [3]. DLX is described in a very good and very readable paper by Knuth himself [4]. This is one of the first serious papers I ever read and it was a real joy, mind- opener.

[1] [https://en.wikipedia.org/wiki/Exact_cover](https://en.wikipedia.org/wiki/Exact_cover)

[2] [https://en.wikipedia.org/wiki/Knuth%27s_Algorithm_X](https://en.wikipedia.org/wiki/Knuth%27s_Algorithm_X)

[3] [https://en.wikipedia.org/wiki/Dancing_Links](https://en.wikipedia.org/wiki/Dancing_Links)

[4] [http://www-cs-faculty.stanford.edu/~uno/papers/dancing- color...](http://www-cs-faculty.stanford.edu/~uno/papers/dancing-color.ps.gz)

<comment><USER3> There is a very succinct implementation of Algorithm X in Python that uses a variation of the Dancing Links approach.

[http://www.cs.mcgill.ca/~aassaf9/python/algorithm_x.html](http://www.cs.mcgill.ca/~aassaf9/python/algorithm_x.html)

[http://www.cs.mcgill.ca/~aassaf9/python/sudoku.txt](http://www.cs.mcgill.ca/~aassaf9/python/sudoku.txt)

</comment></comment><comment><USER4> Sudoku solver using Perl regex [http://www.perlmonks.org/?node_id=471168](http://www.perlmonks.org/?node_id=471168)

Sudoku solver in three lines of Perl (golf): [https://web.archive.org/web/20070106133158/http://www.eccles...](https://web.archive.org/web/20070106133158/http://www.ecclestoad.co.uk/blog/2005/06/02/sudoku_solver_in_three_lines_explained.html)

          use integer;@A=split//,<>;sub R{for$i(0..80){next if$A[$i];my%t=map{$_/9
        ==$i/9||$_%9==$i%9||$_/27==$i/27&&$_%9/3==$i%9/3?$A[$_]:0=>1}0..80;R($A[
        $i]=$_)for grep{!$t{$_}}1..9;return$A[$i]=0}die@A}R

</comment><comment><USER5> I've noticed that solving a sudoku is something of a rosetta stone for how people program. Norvig's solution is very straightforward in hindsight, but I think that code was either the result of many iterations or of a career of making progressively more readable code.

Here are some other sudoku solvers that give more insight into the coder than the problem:

Sudoku in APL: [https://www.youtube.com/watch?v=DmT80OseAGs](https://www.youtube.com/watch?v=DmT80OseAGs)

Test driven sudoku: [http://ronjeffries.com/xprog/articles/sudokumusings/](http://ronjeffries.com/xprog/articles/sudokumusings/)

<comment><USER6> A lot was discussed about Norvig's elegant solution compared to Ron Jeffries effort and what it said about TDD: [http://ravimohan.blogspot.co.uk/2007/04/learning-from- sudoku...](http://ravimohan.blogspot.co.uk/2007/04/learning-from-sudoku- solvers.html)

To be fair, the reason Norvig was so successful was he knew exactly the sort of problem soduku was and how to solve it, whereas Ron lacked this background knowledge.

<comment><USER7> I think you're missing the point. TDD forces you to choose data representations that best fit your tests. But in most cases of complex programming you want to choose representations that reflect your current understanding of the problem and then evolve them as your understanding evolves.

In TDD your test will always predate your understanding. So it forces you to solve (part of) the problem in your head first, rather than combine the act of problem-solving and writing. And you do this over and over again. And when you change your mind about something, you have twice the code to refactor.

It's a difference between _recording_ your thinking in code and actually thinking in code.

This reminds me of an old article that exemplifies this: [http://insideofthebox.tumblr.com/post/52002125683/prime- fact...](http://insideofthebox.tumblr.com/post/52002125683/prime-factor-kata- my-way)

Prime factor kata is often used as an introductory example of TDD, yet it is clearly impractical and produces garbage code. Not to mention that I've actually seen people do it, stumble, and hectically reach for their notes to see what's the next step. And it's a pretty darn simple problem.

<comment><USER6> Err, I'm missing the point of my own point? You raise an interesting point, but I don't think TDD was what stumped Ron. It's not a simple problem to solve without a lot of thought unless you have the requisite background knowledge like constraint problems. TDD did however have him going round in circles, partly for the reasons you describe.

</comment></comment></comment></comment><comment><USER8> It has been shown in 2012 that you need at least 17 digits to uniquely specify a Sudoku puzzle: [http://www.math.ie/McGuire_V1.pdf](http://www.math.ie/McGuire_V1.pdf)

Their approach was quite close to _solving every sudoku puzzle_ , although they traversed the space by the solutions.

</comment><comment><USER9> Small discovery: Brendan Eich implemented generators because he found them incredibly important to translate this code in JS.

In fact in the 'Translations' section at the end there's a link to this Bugzilla ticket: [https://bugzilla.mozilla.org/show_bug.cgi?id=380237](https://bugzilla.mozilla.org/show_bug.cgi?id=380237)

</comment><comment><USER10> FWIW I've got benchmarks and ports of Norvig's sudoku solver in Python/PyPy, Dart, C#, Ruby and CoffeeScript at:

[https://github.com/dartist/sudoku_solver](https://github.com/dartist/sudoku_solver)

</comment><comment><USER11> I love that this code is so elegant, but (and!) chooses strings and string manipulation for storage of the possible cell values.

It seems like he started with lists and switched when he got to the search method ("This is why I chose to implement the set of possible values for a square as a string: I can copy values with values.copy() which is simple and efficient.") - It's probably not an amazing insight, but I'm sure my brain would have been yelling at me "don't use strings! don't use strings!".

</comment><comment><USER12> I implemented a solver in Common Lisp, quite a while back. The repo:[https://github.com/dmsurti/sudoku](https://github.com/dmsurti/sudoku) and some details here: [http://www.deepaksurti.com/blog/my-attempt-to-solve- sudoku](http://www.deepaksurti.com/blog/my-attempt-to-solve-sudoku).

I was learning algorithms then and a sudoku solver was both fun and a good learning exercise.

</comment><comment><USER13> Good time to pimp my c implementation of Norvig's algorithm:

[https://github.com/ssadler/ssadler- various/blob/master/sudok...](https://github.com/ssadler/ssadler- various/blob/master/sudoku-hammer/sudoku.c)

(This code is completely indulgent but very fast!)

</comment><comment><USER14> If someone is interested in seeing Sudoku solved in other languages, here's a nice page: [http://rosettacode.org/wiki/Sudoku](http://rosettacode.org/wiki/Sudoku)

Not all of the code is efficient, but it's interesting nevertheless.

</comment><comment><USER15> I feel like the 'search' function is missing the point. The sudoku puzzles are generated in such a way that there is always a next move to be deduced: there is never any need to guess. If you have to guess, then you have missed something.

<comment><USER16> Depending on what you mean here, you are misrepresenting the problem. You may not have to guess for what is a valid move that can be done on the board as it is. But you do have to guess for a valid move that will lead you to a completed board. Hence, you search among the possible moves for the one(s) that will lead to a completed board state.

</comment></comment><comment><USER17> I find it rather disappointing that it still takes on the order of 10^2 milliseconds to solve the hardest sudokus.

This was tested with my own algorithm and one supposedly fast found online. I will revise my code, but I doubt I will improve the speed.

</comment><comment><USER18> This is good to know that we can win Sudoku with a computer program but not surprising. The goal of Sudoku is to make your intellect work and find logic by yourself. The article should be named: How to win every Sudoku puzzle by cheating.

<comment><USER19> I never solved a single Sudoku. I never will. Instead, I wrote a Sudoku solver.

What's better for the brain, solving Sudokus, or writing a Sudoku solver?

<comment><USER20> >What's better for the brain, solving Sudokus, or writing a Sudoku solver?

Both can be good. Chances are that your first Sudoku solver uses some bruteforce approach, while your manual solution certainly does not. Then the intuitions that you get from many manual games can drive the design of your solver. Of course you can implement some established algorithm but I don't see that challenging.

I have mathematician friend who won't ever play Nine Men's Morris because it's a solved game, so it's not longer interesting for him. It's a shame, you can learn a lot even playing Nim variants if you don't already know the winning strategy, it's a good learning material for kids too.</comment></comment></comment>


Way cooler than Legos - <AUTHOR> http://tech.li/2012/01/kickstarter-project-qubits-make-legos-look-lame/

<comment><USER2> Why bash a toy brand that is immensely popular and loved... to promote a product that isn't comparable in the least.

<comment><USER3> The Qubits Kickstarter page doesn't mention Lego as far as I can tell- seems like just a poor choice of words by the journalist.

<comment><USER4> I would not call that journalism. Look around at that site, the worst kind of linkbait and "infographics".

</comment></comment></comment><comment><USER5> Certainly most alternative-geometry building tools could claim to be cooler than Legos. The advantage legos have is that a rectangular geometry is very intuitive and easy to work with.

As alternative-geometry building toys go, I think Zome Tools are the coolest.

</comment><comment><USER6> If you can't build a little house for your little dude and have him drive a little car to his little job, it's not comparable to the Lego brand. There's a sort of imaginative vicarity at play. This toy is far more abstract.

<comment><USER7> I agree. Legos are targeted at kids who, as I understand it, have not developed abstract thinking yet. Thus allowing them to build concrete objects that they are familiar with such as houses, cars, shops, towers, etc. is the strength of that play type.

Perhaps it would be more appropriate to say that Qubits are the abstract thinker's legos? Even that would be a bit of a stretch. However, I do see that there is some very interesting potential there. I cannot speak to how well those pieces will work. Will they hold together like Legos do, or will it be frustration-ville like Mega-Blocks. (I only speak from personal experience, maybe others had better experiences with Mega-Blocks.)

I had both legos and Meccano/Erector sets when I was growing up. Those two toys, though complementary, filled vastly different roles in my game play. Legos filled the practical, down to earth area, where I could build cities, create stories for my people, etc. On the other hand Erector sets taught me lots about engineering or architecture. Even following the instructions to put together a pre-conceived set was very instructive. I also learned a lot about prototyping from them. You would build something, say a car, and the first instance it would come out blocky and ugly, but functional. Then you would see how it could improve aesthetically or performance-wise. You make those changes, which quite often required taking most of the car apart, and then you would see others. Quite a good lesson in R&D at least at a base level.

Qubits seems to combine some aspects from both those toys and the result appears to be a third niche in the free-play type toy market. Qubits is rather abstract when compared to legos, and even erector, though it definitely has the architectural potential like Erector. However its pieces are more lego-ish in that they appear to be large, plastic, multi-colored, and most importantly don't require tiny screws and special tools to put together and take apart. The result, I think, will be a toy that is far more popular at school than at home. Teachers will use it to model shapes, concepts, etc. This could continue into high school where math, chemistry, etc classes could model things with them. (be warned I am neither a mathematician nor chemist.) I think the toy will be successful in its niche, but it is not a cooler lego, it is entirely separate. I am curious about a couple of things.

1) They already use the triangle shape as their basic object. I had to learn that it was the best shape for building sturdy structures on my own using Erector. Is making that an assumption instead of a learning point a negative? Tentatively, I think that depends on the goal of the toy.

2) I am not sure how much traction it will be able to grab outside of learning environments. Legos (and for some of us Erector) were a toy that allowed imagination play, which was real play. This toy seems to be mostly learning disguised as play (not a bad thing.)

3) Did I miss the picture of a gun, cause those shapes are just itching to be built into awesome unrealistic weaponry. Its the first thing I would build. (maybe that says something about me...)

EDIT: formatting.

</comment></comment><comment><USER8> These little connector bits are going to be the very first thing that a kid breaks when playing with this, rendering the piece useless: <http://i.imgur.com/OKGGF.jpg> <http://i.imgur.com/uwNIm.jpg>

</comment><comment><USER9> Not nearly the same, and nowhere near as cool as Lego. More comparable to Meccano.

<comment><USER10> agreed.

</comment></comment><comment><USER11> It's Lego, not Legos.</comment>


Glittering Generality - <AUTHOR> https://en.wikipedia.org/wiki/Glittering_generality <comment><USER2> They can often be found within political slogans and the names of many political action committees / lobbying groups.</comment>


A simulation of angel investing, part 2 - <AUTHOR> http://jmillerinc.com/2010/04/28/angel-investing-simulation-part-2/

<comment><USER2> _Angel investors can expect favorable payoffs with only 10 deals, but it takes at least 20 investments to truly be safe._

Taking this to heart might get dangerous. The benefit of going from 2 to 20 deals exists only if the quality of the extra deals remains high - but what are the chances of that happening?

An angel that's doing a few investments would be cherry picking from a moderately larger deal flow, and so each extra deal would almost certainly be a step down in quality.

I'd say that doing math like this is a bit of a leaky abstraction, and it could just as easily cloud judgement if not taken with a large grain of salt.

<comment><USER3> I agree that the quality of the deals won't remain constant, but I'm not certain the quality goes _down_ with additional deals.

Well-known angels have more and better-quality dealflow than lesser-known angels. When a round is oversubscribed, it's the well-known angels who are in it. And you only get to be a well-known angel by doing deals. Therefore I would expect some net _benefit_ from doing more deals - up to a point, anyway.

<comment><USER2> I agree that you're likely to increase your potential deal flow in the long term by staying active. I suspect you'd also learn a hell of a lot about angel investing too, and build your network which may be an asset to the companies you're investing in.

All of which would have far more effect on the bottom line than spreading risk - it's just that, unfortunately, there's no simple way to build a model of it!</comment></comment></comment>


Can Anyone Build a Quality Android App – Rheti believes so - <AUTHOR> http://www.rheti.com/rhetis-platform-to-build-apps-launches-public-beta/

<comment><AUTHOR> Rheti launched its first product, an Android App, a day before Google IO. Coincidence?</comment>


The Art of Ware-How to win in the software world - <AUTHOR> http://and-still-i-persist.com/?page_id=236

<comment><USER2> From Sun Tzu's Art Of War, 2:15: One cartload of the enemy's provisions is equivalent to twenty of one's own, and likewise a single picul of his provender is equivalent to twenty from one's own store.

From The Art Of 'Ware, Chapter 2: Supporting Development: Try to gain resources from the competition. Each dollar gained from or spent by the competition is worth two dollars raised and spent by yourself.

I don't know if the following is true, but it is a good story, anyhow. Apparently, in the UK, McDonalds spent about 30000 pounds (about US$60000) looking for the optimal placement for an establishment. Burger King subsequently ensured that they were line-of-sight from McDonalds.

</comment><comment><USER3> I'll have to dig up my copy of Sun Tzu and see how they compare.

<comment><USER2> My apologies. I was referring from the Gutenberg.Org version ( <http://www.gutenberg.org/etext/132> ).</comment></comment>


What's the difference between a startup and a magic spell?  - <AUTHOR>

You assemble symbols in a specific manner.  If done correctly, they will have an alchemical effect on the chemical reactions within the mind of the intended target.  This will alter his perception of the world, which in turn will alter his actions, which in turn will further alter the world according to your will ... to a reasonable degree.  Quick - what am I talking about - a spell or a business plan/website/demo? <comment><USER2> Everything can be reduced to determinism. It's still easier to pretend we have free will.

<comment><AUTHOR> But determinism is just what happens when you negate your own role in the system with personal apathy; otherwise you have the much more fun realm of scenarios and their associated probabilities, which are in turn largely in flux ...</comment></comment>


Show HN: Dictation – Type with Voice Commands - <AUTHOR> https://dictation.io/ <comment><AUTHOR> Dictation, available at [https://dictation.io](https://dictation.io), lets you type with your voice in all popular languages. There are no apps to install and all you need is Google Chrome and a microphone.

Dictation uses the web speech API to magically transcribe your spoken voice in real time. It recognizes voice commands, like New Paragraph or Go to Sleep or Insert Happy Face, to help you do more without the keyboard.

All your transcribed text is stored in the local browser and it auto-saves everything in the cache.

Dictation: [https://dictation.io](https://dictation.io) Voice Commands: [https://dictation.io/commands](https://dictation.io/commands) Languages: [https://dictation.io/languages](https://dictation.io/languages) FAQ: [https://dictation.io/help](https://dictation.io/help)</comment>


Steam-powered Blender - <AUTHOR> http://lists.blender.org/pipermail/bf-committers/2013-August/041483.html?august <comment><USER2> copy/pasted for readability:

Hi everyone, I work for Valve ([http://www.valvesoftware.com/company/](http://www.valvesoftware.com/company/)). We would like to make our digital distribution platform Steam (www.steampowered.com<[http://www.steampowered.com>](http://www.steampowered.com>)) one of the places where you can download Blender. The long-term goal would be to make it easier for people to build their own mods for PC games with Blender and share these mods with other gamers. So I was wondering if there are any Blender users on this list who are interested in PC games and could see themselves working on an integration between Blender and PC games that offer official modding support such as DOTA 2.

Long story: Valve is a company that is built on modding. The original Half- Life was built on a modified version of the Quake engine. All our major games since then started out as mods which we found cool, hired the people who built them and released them as major game titles. This is true for Counter-Strike, the original Team Fortress, Day of Defeat and DOTA 2 (Portal was not technically a mod but a student project - but you see the pattern). Similarly, one of the most successful features of our Steam platform is the Steam Workshop ([http://steamcommunity.com/workshop/](http://steamcommunity.com/workshop/)), which is an interface for users to share, discover and install mods for their games. Essentially, you can publish your mod there and other gamers can bring your mod into their games with a single mouse click. This is something that we think would be a cool feature for Blender to tap into. Like modeling a sword in Blender, pushing a button and having it available to all users of Skyrim. But we bet there are more creative ideas out there than this one. What we are currently looking at is offering a completely vanilla version of Blender as a free download on Steam that is completely the same as that offered on other websites. We'd hope that this will get enough of our users exposed to and interested in Blender so they will be inclined to work on Blender plugins that would talk to Steam's backend services such as Workshop. If you think you might be interested in being part of that, we'd be happy to hear from you! Best, Jan-Peter

<comment><USER3> Hands up who else read the post before coming to the comments, saw this and cursed themselves.

<comment><USER4> I even stopped, "Wait a second, this has nothing to do with blenders powered by steam", realized the context, and still continued on scrolling back and forth.

<comment><USER5> That's exactly what I thought of.

</comment></comment></comment></comment><comment><USER6> Although I'm happy to hear this news, it highlights the importance of Blender's choice of GPL as its license. If it weren't for the GPL, Valve would be free to modify Blender and then sell it without contributing anything back to Blender. Blender is an amazing app that I've enjoyed using for many years. It's definitely in my top 10 ten list of best open source projects. Hopefully the increased exposure through Steam will only help the Blender Foundation continue to provide incredible free software.

<comment><USER7> That's a strange conclusion to reach. The GPL license is actually a _major_ problem with Blender. Importing and exporting content from artist tools is a huge headache. The Autodesk FBX file format and SDK have largely solved those issues. It's a phenominal interchange format and most professional tools support it out of the box. Just drag and drop. It's wonderful.

Blender does not and will not have official FBX support because of the GPL. That's unfortunate and actively harms users. Providing support for user generated content is a _lot_ of work. Trying to support Blender is extremely painful and adds to that pile of work.

I'd argue that one of the single biggest issues with Blender right now is it's GPL license.

[http://wiki.blender.org/index.php/User:Ton/Autodesk_FBX_EULA](http://wiki.blender.org/index.php/User:Ton/Autodesk_FBX_EULA)

<comment><USER6> I wouldn't say in this case that the problem lies with Blender's choice of the GPL, but rather with Autodesk's FBX license. The FBX license is much more restrictive and onerous than the GPL. Whether GPL is freer than BSD-style licenses or not is debatable, but it certainly respects the user's freedom far more than Autodesk's "Evaluation License" with "Permitted Number equal to one".

<comment><USER8> Yeah. "Releasing" a file format as a restrictive binary SDK rather than actually documenting the format is a really weird and aggressive thing to do, and is very much Autodesk's fault rather than Blender's, even if you ignore the issues with platforms for which the binary might not be available.

On the other hand, the format does not appear to actually be that complicated, so integrating the SDK probably wouldn't save that much programming time compared to just reimplementing it.

<comment><USER7> Blame whichever license you want. It doesn't matter.

Let's say it is Autodesk's fault and they don't care. Now what? Blender is the tool that's a pain in the ass to use so the onus is on them to make their tool not suck. Meanwhile the rest of the world will continue to use FBX because it's an awesome format to work with.

<comment><USER9> "Blame the gun or the guy who died for not having a steel skeleton, it doesn't matter. The guy is the one who's dead, the gun is fine. The onus is on guys to not die."

<comment><USER10> If we're going to make this analogy work, the guy who died could have easily worn a bullet-proof vest or avoided getting in the fight at all.

<comment><USER11> Or he could have picked a different software license.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> You know, with a link title like that, I was really hoping to see a food processor powered by a steam engine.

<comment><USER13> Third, I'd like to see this. Or a steam powered coffee grinder, who's with me?!

<comment><USER14> I'm all for it, now I just need to find that free steam source

<comment><USER15> Go full-circle and make the steam with a Bitcoin miner.

</comment></comment></comment></comment><comment><USER16> It seems strange that steam would want to put blender in steam. Wouldn't they just work on integrating with blender if they wanted blender?

I suppose the strategy is to get the devs currently working on blender to look closer at making blender more compatable with the formats DOTA 2 is using, and putting a little more focus on the UX for that.

Then again, steam is basically a content distribution system, and windows doesn't have one of those (or at least doesn't have one that anyone wants to use. I'M SORRY [http://chocolatey.org/](http://chocolatey.org/) I LOVE YOU, DON'T BE MAD)

<comment><USER17> From the follow-up posts on the list I take it Blender is already popular with the mod community and they are trying to make Blender easier to install and get going to make a mod.

</comment></comment><comment><USER18> The Unity game engine calls their equivalent to this the Unity Asset Store ([http://blogs.unity3d.com/2013/07/19/funding-indie-games- asse...](http://blogs.unity3d.com/2013/07/19/funding-indie-games-asset- store/)) which was discussed previously here: [http://news.ycombinator.com/item?id=2500426](http://news.ycombinator.com/item?id=2500426) ("Unity Asset Store: $3000 revenue in 5 days from a spline drawing tool").

</comment><comment><USER19> I am not sure if I understand this right - what I understand is, that they try to attract Blender users (which is a good thing (tm) ). But are they referring to developers that integrate towards a certain game? What kind of integration? You fire up Blender and have an exporter? Or artists contributing to mods? Or are they looking for ideas in general? And where would I post them?

</comment><comment><USER20> Is an interesting proposal, some of the early day blender games + the blender browser plugin really did show the potential of having the browser be the delivery system for games... some day, and with webgl, someday sooner!

I'd really love to see this, but only if it comes with a character narrated walk through of the blender ui... it would do a lot for the future blender userbase.

</comment><comment><USER21> Great news. I'm almost surprised this hasn't occurred sooner. Blender is used all the time in the item and mapmaking community.

<comment><USER22> How is it used for making maps? For models that are imported to Hammer?

</comment></comment><comment><USER23> Wait, what ?

What happened to the tools developed by Valve for HL2 and the integration with Lightwave and their facial animation tool ?

Those were awesome and already proved their usefulness.

How does it fit with Hammer and the fact that... well... modding is never going to be what it was in the 90's again ? *

* I am looking at all those modders that got folie des grandeurs and turned into studio with 7 years dev. plan.

</comment><comment><USER24> I hate the papermail web front-end...

I'm not sure about papermail, i.e. whether it supports "format=flowed" or not. Perhaps the mail lacked it anyway.

Use gmane for your own sake and sanity: [http://thread.gmane.org/gmane.comp.video.blender.devel/40386](http://thread.gmane.org/gmane.comp.video.blender.devel/40386)

</comment><comment><USER25> I clicked on it thinking that blender technology might have come into the 20th Century...

</comment><comment><USER26> It's be cool to build an actual steam-powered blender, but the article title is misleading (in a funny way)

</comment><comment><USER27> WOW, it would be awesome if it becomes a reality :)

</comment><comment><USER28> I read this is as "Hey, can everyone do our work for us? That'd be great."

<comment><USER29> Except that you can sell the items you make for cash, and a lot of people make thousands of dollars making hats for Valve games.

<comment><USER30> Yup, over 10 million dollars paid out for TF2 items as of June apparently: [http://www.teamfortress.com/post.php?id=10843](http://www.teamfortress.com/post.php?id=10843)</comment></comment></comment>


Persi Diaconis - magician-turned-mathematician (2004) - <AUTHOR> http://news-service.stanford.edu/news/2004/june9/diaconis-69.html

<comment><USER2> Great read!

 _At a friend's suggestion, he bought himself a copy of William Feller's textbook An Introduction to Probability and Its Applications but couldn't read it because he didn't know calculus. He was 18 at the time._

..

 _At 24, Diaconis began taking evening math classes at the City College of New York. He performed magic tricks during the day to pay his way through school._

..

Martin Gardner makes an interesting cameo appearance in this man's life as well.

</comment><comment><USER3> He is also involved in computational topology <http://comptop.stanford.edu/>.

</comment><comment><AUTHOR> An interesting passage from the article:

 _He still doesn't [own a computer]. He says he got sick of adjusting to new operating systems and noted, after not using computers for several years, that "nothing bad happened to me. And I said, 'Well, I could either learn the current system or learn differential geometry. I think I'll learn differential geometry this year.'"_

<comment><USER4> Persi relies on collaborators and students for computer stuff. (I talked with him about this after a lecture he gave at Caltech. The lecture was on perfect shuffles, and involved a live demonstration of the technique.)

<comment><AUTHOR> I assumed he does, indeed, rely on collaborators for computer stuff. After all, although Diaconis is a former magician, no amount of magic would cause the papers to write themselves.

In fact, there were two things I liked about this passage: 1) the fact that he does not use a computer, 2) the fact that he does not know much of Differential Geometry.

1) makes me wonder if I waste too much time online. 2) makes me feel less bad for knowing so little of Differential Geometry ;-)</comment></comment></comment>


Show HN: freespeech - mobile messaging for everyone. Real time, Free SMS, Groups - <AUTHOR> http://www.getfreespeech.com/

<comment><USER2> This is great, the group chat function is seamless and very helpful. I know these guys and the technology they've put together shows real promise. Kudos.</comment>


Why it's impossible to actually be a vegetarian - <AUTHOR> https://theconversation.com/why-its-impossible-to-actually-be-a-vegetarian-55806 <comment><USER2> Wtf. How did this get even one upvote? Minimal, basic logic folks. Critical thinking.

</comment><comment><USER3> Oh, these old, tired straw men again.</comment>


Amazon and Google fight crucial battle over voice recognition - <AUTHOR> https://www.theguardian.com/technology/2017/jan/22/home-battleground-amazon-google-voice-technology <comment><USER3> I'm enthusiastic about the potential for this technology but I don't like either of these options. I feel like both the customer and the product. I'd like an open source, neutral voice assistant that is working for me, not trying to exploit me.

<comment><USER4> Neither of those options is very scriptable either. They just kinda suck. None of them have any compatibility with actually used home automation ("computer ! lights !" is actually useful). You're right. We need an assistant that's just a piece of software. Paid for, working for me, not caring which messenger it has to use.

<comment><USER5> Yup. I'm not really going to be interested in this landscape until i can get a full NLP / Intent Recognition / Voice Transcripting package in my home, completely offline.

I'm not even paranoid about the NSA/etc either, i'm paranoid about a potential 3rd party listening in and knowing when to rob my home, or viewing my family through the IP camera, etcetc.

I want a smart home. I don't want an internet connected smart home. It's simply too dangerous.

</comment></comment></comment><comment><USER6> Intelligence services of the world, are you listening? There is something to learn from the way these companies have managed to create themselves an army of informers. First they managed to convince people to pay for their own personal tracking devices, putting one in nearly every pocket. They come equipped with microphones and cameras, with satellite positioning, with everything you could wish for to keep tab on your subjects. Next they managed to convince them to use those devices to create a detailed profile of their interests and their friends and relatives, there to be perused at will. And now they've gone a step further, convincing them to put microphones in their domiciles, always listening, net-connected, recording all the time. With voice recognition to ease the transcription of anything of interest. If anything these commercial intelligence services suffer from an overload of data on their subjects, not a dearth of such as is the usual case for governmental services.

Note to current and future governments: outsource intelligence gathering, it is much more effective that way.

</comment><comment><USER7> Voice is just an input device like a keyboard is.

Why do we see companies fighting over this technology, but didn't we see those fights back in the days when the keyboard was invented?

Also, why is open-source lacking behind? Surely there's plenty of free training data available, so that can't be the reason.

<comment><USER8> Because this stuff is very compute-intensive and that is simply expensive.

Also, I don't think there is as much free training data publicly available as Google or Amazon have gathered privately.

</comment></comment><comment><USER9> Without having any "hands on" (or off) with either of these devices - <USER2> anyone tell me if there is any training data held locally on either of these or do all voice commands get sent to Amazon/Goolge for parsing centrally?

<comment><USER10> In the case of Echo (I have one), it only sends to data to Amazon when her name is heard. The training for the detection of that name is local to the device, which is why there are only a few name options (Alexa, Computer, Echo and Amazon)

</comment></comment><comment><USER11> Do either of the devices do actual voice recognition or do they only have speech recognition?</comment>


Product management hacks for when you're strapped for resources - <AUTHOR> https://medium.com/building-with-the-builders/638668b88c6c

<comment><USER2> Thanks for sharing, I would also love to learn more about how others on HN work around not having enough ressources. Any hacks/insights to share? :)

E.g. I remember seeing a talk by Gagan of Udemy on how they used a marketplace (was it mechanical turk?) to scale bizdev dealflow (identify, contact & close people who are good fits for providing courses).</comment>


Ron was Wrong, Whit is Right - <AUTHOR> http://eprint.iacr.org/2012/064.pdf <comment><USER2> Posting what I said in the other thread: As far as I can tell, this is what they're doing: if two different keys have a factor in common (i.e. A=PQ, B=PR), then you can use Euclid's algorithm (which just requires repeated subtraction, and is thus really easy) to find P (=gcd(A,B)), and then just use division to find Q (=A/P) and R (=B/P) easily. So what the researchers did, apparently, was to gather all the RSA public keys they could find (6 million or so) and then calculate the gcds of all pairs of keys. (Presumably they were slightly more clever than this, but it doesn't really matter--doing this is still vastly easier than factoring even a single public key). Whenever they found a gcd that wasn't equal to 1, they'd cracked (at least) 2 keys. And it turns out that roughly 0.2% of the keys could be cracked in this way (for a total of 12720 1024-bit moduli). As far as I can tell, the problem isn't with RSA itself, but with whatever algorithms are used to pick two random primes to multiply and produce the key (or moduli, whatever)--they don't have high enough entropy and output duplicates ~0.2% of the time.

<comment><USER3> _So what the researchers did, apparently, was to gather all the RSA public keys they could find (6 million or so) and then calculate the gcds of all pairs of keys._

Apparently not. The number of unique pairings among 6 million is 5,999,999 factorial. Which is a _really_ large number.

<comment><USER4> Isn't it 6 million squared? 36 x 10^12. Factorial would be the number of ordered sets that include _all_ the elements.

<comment><USER5> At the risk of redundancy (I wrote my post while you posted): you're double counting (since gcd(a,b) = gcd(b,a), you needn't compute both; either tells you whether a,b have a common factor. (a,b) and (b,a) having a common factor both account for the same problem) and you're including pairs of the same element (gcd(a,a)=a always, but this is meaningless for the data set we're considering--we don't care that a number has common factors with itself, only with other numbers)

</comment></comment></comment></comment><comment><USER6> In case it's not obvious to everyone: Ron = Ron Rivest (the R in RSA); Whit = Whitfield Diffie (of Diffie-Hellman).

<comment><USER7> What a bad choice for a paper title.

<comment><USER8> I don't agree. It's short and gets across the main point to the right people. If you don't know the names being referred to, you're probably not the audience for the paper.

<comment><USER9> I am the audience for this paper, and I recognized the names.

I still had absolutely no clue what the title meant until grandpa pointed it out. I agree with locacorten: Horrible title.

<comment><USER10> You can't see "Whit" and immediately know "it's Whit Diffie", or given Whit Diffie expect that "Ron" means "Ron Rivest"? I got it instantly and have way less crypto than you.

Or are you saying, "Ron Rivest was wrong, Whitfield Diffie was right" is still a horrible title?

The whole paper had the feel of a rump session pub, didn't it?

<comment><USER9> _Or are you saying, "Ron Rivest was wrong, Whitfield Diffie was right" is still a horrible title?_

Yes. That title made me think "ok, what famous argument dud they have which this is referring to?" (the way "Torvalds was wrong, Tanenbaum was right" would) and I can't think of any famous arguments about whether people have enough entropy in their prime generation.

<comment><USER10> To an implementor, isn't one of the biggest differences between DH (super easy to implement) and RSA (considerably trickier) the difference between needing one prime number instead of two?

Anyways I take your point. The paper really doesn't have too much to do with the title.

<comment><USER9> To me, the biggest difference between DH and RSA is that DH is stateful and RSA is stateless. Next up is that with DH you're generating random exponents each time instead of doing it once during key generation.

The number of primes involved is _way_ down on my list of important differences between DH and RSA.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Should certificate authorities be checking that any new key they sign doesn't have a common factor in common with any other key they've signed?

It would have discovered a few problems much earlier, but it conceivably leaks information when your CSR gets rejected.

<comment><USER12> It would only "leak" information which is already public.

</comment></comment><comment><USER10> This paper has as much social science commentary as math. Things I found interesting or amusing:

pg2 (last graf into pg3)

 _Publication of results undermining the security of live keys is uncommon and inappropriate, unless all aff ected parties have been noti fied. In the present case, observing the above phenomena on lab-generated test data would not be convincing and would not work either: tens of millions of thus generated RSA moduli turned out to behave as expected based on the above assumption. Therefore limited to live data, our intention was to con firm the assumption, expecting at worst a very small number of counterexamples and aff ected owners to be notifi ed. The quagmire of vulnerabilities that we waded into, makes it infeasible to properly inform everyone involved..._

"Of course when we generate keys ourselves they work fine. We have no idea why there are so many collisions in the real world, and there are so many plausible suspects we don't even know where to start notifying people.

pg3 (last graf)

 _As was the case with the Debian OpenSSL vulnerability, we believe that publication is preferable to attempts to cover up weaknesses. There is a risk, but people desiring to exploit the current situation will have to redo our work, both the data collection and the calculation, as we have put our data under custody. We hope that people who know how to do the computation quickly will show good judgment._

Translated: "On the scale of crypto attacks this is so easy to do that just talking about it discloses the attack; please don't be dicks about that."

pg 5

 _... Except for eight times e = 1 and two even e-values among the PGP RSA keys ..._

!!!

 _... Two e-values were found that, due to their size and random appearance, may correspond to a short secret exponent (we have not investigated this)._

Good reference: Boneh at <http://www.ams.org/notices/199902/boneh.pdf> \--- under "Elementary attacks"

pg 6

 _Looking at the owners with shared n-values among the relevant set of 266 729 X.509 certi cates, many of the duplications are re-certi cations or other types of unsuspicious recycling of the same key material by its supposedly legal owner. It also becomes clear that any single owner may come in many di fferent guises. On the other hand, there are also many instances where an n-value is shared among seemingly unrelated owners. Distinguishing intentionally shared keys from other duplications (which are prone to fraud) is not straightforward, and is not facilitated by the volume of data we are dealing with (as 266 729 cases have to be considered). We leave it as a subject for further investigation into this "fuzzy" recognition problem to come up with good insights, useful information, and reliable counts._

Translation: "This is not the only WTF we found in the survey."

pg 7

 _Although 512-bit and 768-bit RSA moduli were factored in 1999 and 2009, respectively, 1.6% of the n-values have 512 bits (with 0.01% of size 384 and smallest size 374 occurring once) and 0.8% of size 768. Those moduli are weak, but still o ffer marginal security. A large number of the 512-bit ones were certifi ed after the year 2000 and even until a few years ago. With 73.9% the most common size is 1024 bits, followed by 2048 bits with 21.7%. Sizes 3072, 4096, and 8192 contribute 0.04%, 1.5%, and 0.01%, respectively. The largest size is 16384 bits, of which there are 181 (0.003%)._

Most certs have 1024 bit keys, but there are still semirecent 512 bit certs out there.

pg 8

 _Generation of a regular RSA modulus consists of finding two random prime numbers. This must be done in such a way that these primes were not selected by anyone else before. The probability not to regenerate a prime is commensurate with the security level if NIST's recommendation is followed to use a random seed of bit-length twice the intended security level. Clearly, this recommendation is not always followed._

The nut graf of the paper, right?

 _footnote:_

 _Much larger datasets can be handled without trouble. We chose not to describe the details of our calculation or how well it scales_ (sapienti sat). _On a 1.8GHz i7 processor the straightforward approach would require about ten core-years and would not scale well. Inclusion of the p and q-values from Section 4 and the primes from related to the Debian OpenSSL vulnerability did not produce additional results._

Sapienti sat: "a word to the wise", which I take to mean, if you understand basic RSA attacks, this stuff is pretty straightforward. Notable: the Debian OpenSSL CSPRNG bug didn't seem to contribute to this finding.

pg 9

 _Irrespective of the way primes are selected (additive/sieving methods or methods using fresh random bits for each attempted prime selection), a variety of obvious scenarios is conceivable where poor initial seeding may lead to mishaps, with duplicate keys a consequence if no "fresh" local entropy is used at all. If the latter is used, the outcome may be worse: for instance, a not- properly-random fi rst choice may be prime right away (the probability that this happens is inversely proportional to the length of the prime, and thus non-negligible) and miss its chance to profi t from local entropy to become unique. But local entropy may lead to a second prime that is unique, and thus a vulnerable modulus._

To me the most interesting graf: here's a story about how generating a random prime is tricky _even when you have a reliable source of random bits._ You write a prime generator that taps entropy only after each guess. If your first guess is prime, you never tap entropy at all; you generate "correct" but insecure results.

Then, yadda dadda I skipped all the stuff about DSA and ElGamal except:

 _The only interesting fact we can report about ECDSA is the surprisingly small number of certi cates encountered that contain an ECDSA key (namely, just one), and the small number of certi cates signed by ECDSA (one self- signed and a handful of RSA keys)._

Yay for progress!

pg 13

 _The lack of sophistication of our methods and fi ndings make it hard for us to believe that what we have presented is new, in particular to agencies and parties that are known for their curiosity in such matters. It may shed new light on NIST's 1991 decision to adopt DSA as digital signature standard as opposed to RSA, back then a "public controversy"; but note the well-known nonce-randomness concerns for ElGamal and (EC)DSA and what happens if the nonce is not properly used._

OH SNAP, NSA. This is so easy even YOU could figure it out.

Regarding nonce-randomness: this is what happened to Sony; if nonces to DSA are predictable, the whole algorithm falls.

<comment><USER13> I love this one:

 _The remaining connected component is the most intriguing - or suspicious - as it is a complete graph on nine vertices (K9): nine primes, each of whose 9C2 = 36 pairwise products occurs as n-value._

There's an RSA key generator out there which randomly picks two primes from a set of 9.

<comment><USER5> I'd love to know if the author of that generator knew that that's what (s)he was doing.

That is, I like the idea of someone trying to be a bit too clever and accidentally borking their code due to their unfamiliarity with math rather more than I like the idea of that kind of negligence.

Of course, who's to say that a single generator isn't responsible for more than one connected component of the graph...?

</comment></comment></comment><comment><USER14> Somewhat disappointing, but not surprising that they did not describe their actual calculation technique for finding the connected primes. It strikes me that there isn't a good excuse for having bad random numbers with the computation power we now have. A simple bitwise addition of various sources of supposedly random numbers is strictly stronger than any subset of its components. So we can combine lots of questionable strong sources and get a very strong source.

Generating the primes locally with insufficient independence seems more understandable than that the same primes are used by independent parties. That hints at a more severe problem with random number generation. Regardless, assuming this is confirmed, it is a significant problem that needs to be hunted down.

<comment><USER15> It was mentioned in the nytimes article, and in retrospect it's fairly obvious: you use the Euclidean algorithm.

If you have _n1_ = _p q1_ and _n2_ = _p q2_ , so that the prime _p_ is shared between them, then gcd( _n1_ , _n2_ ) = _p_. That only takes a few iterations of bignum modulos to solve.

<comment><USER14> Ah, I took the 'the straightforward approach would require about ten core- years and would not scale well' to mean they had a more efficient method.

<comment><USER15> Hm, that's possible. A comprehensive search over 4 million pairs would be O(16 trillion) operations, so perhaps they gain something by reusing intermediate steps of the gcd, or something? Good point, I'm not sure. The brute-force solution is still not out of the question for a modestly large map-reduce cluster.

<comment><USER16> Yeah, regarding going ahead with the "naive" search, I'm coming up with a price of 5k to 15k on Amazon EC2 using the cluster compute 8XL instances, and under a month using 10 machines.

<comment><USER14> Considering the potential value of some of those rsa keys, that is a quite minimal investment. This might be an in the wild danger pretty quickly.

<comment><USER10> The chances of any one key being compromised are very, very low.

If this is a pattern of simple software flaws, or something environmental like keys generating during cold start entropy starvation, the likelihood of pulling a truly valuable key out of that soup are even lower: generally (not always, but generally) the more valuable keys are generated using very well known software, and under tight process constraints.

So basically you get ~10k random certs that allow you to MITM ~10k random sites. It's not nothing, but criminals have better ways of monetizing attacker effort.

<comment><USER14> A lot does depend on the actual circumstances for the bad RNG. If you had a good method of recognizing the valuable sites (anything involving money or maybe email?) it might be more practical considering a botnet would be just fine for this sort of computation.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> As if it's somehow Ron Rivest's fault that people can't generate random numbers?

<comment><USER10> "Yes, because his algorithm requires you to get two secure ones, and other public key algorithms don't."

Would be the authors' response to that.

<comment><USER17> One could write an equivalent article suggesting the need to avoid weak groups for Diffie-Hellman means that Rivest is right.

<comment><USER10> The weak group problem is addressable by a NIST standard in a way that the two-relatively-secure-primes problem isn't. "Here, use exactly these values", instead of "use code that does X, not Y".

</comment></comment></comment></comment><comment><USER18> Utterly simple and completely obvious in retrospect -> game changing.

Maybe it's a good idea to tag a public key with the software/version used to create it. Debian fiasco keys are easy to pick out - the entropy was so low that the bad keys can be enumerated. This new attack relies on any small weakness in the distribution of primes, and it seems quite hard to track down responsible versions of software.

I wonder how many of these shared factors _aren't_ the actual value of p or q chosen at generation time (primality tests are probabilistic).

<comment><USER17> > Maybe it's a good idea to tag a public key with the software/version used to > create it.

I'm a full-disclosure guy at heart, but why would I want to advertise to the attacker my potential weaknesses?

Wouldn't I find my own personal selfish security is maximized when I falsify that field when generating my keys?

<comment><USER19> > Wouldn't I find my own personal selfish security is maximized when I falsify > that field when generating my keys?

It depends if you're the type of user who would like to rely on hearing themselves that their keys are vulnerable because of the software used or if you're the type of user who would like to be informed by an automated script that their keys are vulnerable.

I am guessing there are many in the latter category and a few in the former category but at the same time most of the people who decide these things will live in the former.

As for you, marshray, personally, I'm going to go with yes. But does that really make things worse for those who opt in to the potential for notifications? I think you can make your security tradeoff and others can make theirs and both categories of users will end up happy.</comment></comment></comment>