Live data from Hacker News

The Sudoku Affair

explaining.software

31–40 of 45 posts

Re: The Sudoku Affair

#31

Hilarious post. I recommend people read to the end > If Jeffries started with a different core representation, then it's likely his subsequent design decisions would also change. The bookkeeping for constraint propagation might push him towards Norvig's relational approach to the rules of Sudoku; rather than continually recomputing the rows, columns, and boxes, he could simply have a map of each cell onto its peers.…

> In software we have the luxury of rethinking from first principles What does this even mean? I'm aware of the meaning of "first principles" and it doesn't seem to relate at all to software development at all. I can imagine using this when trying to figure out how code works, but I can't figure out how it relates to building the software to begin with. What questions are you trying to answer where first principles w…

It's a thing tech (and tech-adjacent) people say when they rub their temples and decide to try to work out the solution to a problem from their existing ideas and biases instead of considering what anyone else has said about it.

Re: The Sudoku Affair

#33
post #29
post #21

Earlier quoted context omitted.

> I wish more people would be circumspect about the genre of problem they're trying to solve and how their framing railroads them into a particular type of solution that might have a better method. Do you mean "explicit?" "Circumspect" seems like not what you want.

From Wiktionary [0]: > Carefully aware of all circumstances; considerate of all that is pertinent. "I wish more people would put more consideration of all that is pertinent about the genre of problem they're trying to solve and how their framing railroads them ..." [0] https://en.wiktionary.org/wiki/circumspect

Ah, I thought you meant that you wished people who talked in public about their approaches to a problem (as Norvig and Jeffries did) would talk more about their framings. I think I now understand that you mean that you wish individual people would analyze their own framing for their own use, not (just) for the purposes of other people learning from them.

(I also am more familiar with the sense of "circumspect" from the macOS dictionary, "wary and unwilling to take risks," which seemed totally out of line. The Wiktionary meaning makes more sense.)

Re: The Sudoku Affair

#34
post #33
post #29

Earlier quoted context omitted.

From Wiktionary [0]: > Carefully aware of all circumstances; considerate of all that is pertinent. "I wish more people would put more consideration of all that is pertinent about the genre of problem they're trying to solve and how their framing railroads them ..." [0] https://en.wiktionary.org/wiki/circumspect

Ah, I thought you meant that you wished people who talked in public about their approaches to a problem (as Norvig and Jeffries did) would talk more about their framings. I think I now understand that you mean that you wish individual people would analyze their own framing for their own use, not (just) for the purposes of other people learning from them. (I also am more familiar with the sense of "circumspect" from t…

Yes, in fact it seems strange to me that the Wiktionary entry (currently) lists only one definition, which doesn't even match its example sentence very well.

"Being aware of the danger of upsetting her audience, she was somewhat circumspect in her comments."

Here the word doesn't mean "carefully considerate of all pertinent circumstances"; it means exactly what is to me the usual sense of the word in American English: "cautious; beating around the bush; indirect; allusive; judicious; cagey."

Re: The Sudoku Affair

#35
post #14
post #8

Norvig is a world level genius and he outdid Jefferies because of that. No shame in losing a basketball match to LeBron James.

Leaving Norvig out of it, it seems to me that there is some shame in taking a reasonably straightforward problem like this one, thrashing around with it for months or years without producing an effective solution, and then being unable to see that your methodology wasn't working. If the account is accurate, this Jeffries guy wasn't getting the ball through the hoop, whether or not LeBron was around.

Exactly. This wasn't a game of one-on-one. It was two guys standing at foul lines taking shots, and one was sinking most of them.

Re: The Sudoku Affair

#36
post #8

Norvig is a world level genius and he outdid Jefferies because of that. No shame in losing a basketball match to LeBron James.

A Sudoku solver isn't a hard problem. It's more like scoring 30% on a couple simple layup shots, then LeBron James comes along and dunks it out of the sky, but you still tell everyone that your way of training basketball is the best.

Re: The Sudoku Affair

#37

Hilarious post. I recommend people read to the end > If Jeffries started with a different core representation, then it's likely his subsequent design decisions would also change. The bookkeeping for constraint propagation might push him towards Norvig's relational approach to the rules of Sudoku; rather than continually recomputing the rows, columns, and boxes, he could simply have a map of each cell onto its peers.…

> In software we have the luxury of rethinking from first principles What does this even mean? I'm aware of the meaning of "first principles" and it doesn't seem to relate at all to software development at all. I can imagine using this when trying to figure out how code works, but I can't figure out how it relates to building the software to begin with. What questions are you trying to answer where first principles w…

One example is with databases. In the olden days, if you needed performance, you bought a big Oracle server, and that was that. If you needed more performance, you just bought a bigger one. Without revisiting the database from first principles, we'd still be using acid-compliant relational SQL databases for everything. By starting from first principles and asking what the database software is for, and considering a changed hardware landscape aka the cloud, among other factors, we now have other types of databases which are more appropriate for different kinds of workloads. Key-Value stores, document stores, Wide column stores, Graph databases, time-series databases, NewSQL databases, vector databases; all of those are an example of first-principles rethinking of the database, and being willing to throw out the rules and ACID compliance in favor of what's actually necessary for a given workload instead of continuing on with existing conventions.

Re: The Sudoku Affair

#38

Earlier quoted context omitted.

> In software we have the luxury of rethinking from first principles What does this even mean? I'm aware of the meaning of "first principles" and it doesn't seem to relate at all to software development at all. I can imagine using this when trying to figure out how code works, but I can't figure out how it relates to building the software to begin with. What questions are you trying to answer where first principles w…

One example is with databases. In the olden days, if you needed performance, you bought a big Oracle server, and that was that. If you needed more performance, you just bought a bigger one. Without revisiting the database from first principles, we'd still be using acid-compliant relational SQL databases for everything. By starting from first principles and asking what the database software is for, and considering a c…

[flagged]

Re: The Sudoku Affair

#39

Earlier quoted context omitted.

> In software we have the luxury of rethinking from first principles What does this even mean? I'm aware of the meaning of "first principles" and it doesn't seem to relate at all to software development at all. I can imagine using this when trying to figure out how code works, but I can't figure out how it relates to building the software to begin with. What questions are you trying to answer where first principles w…

One example is with databases. In the olden days, if you needed performance, you bought a big Oracle server, and that was that. If you needed more performance, you just bought a bigger one. Without revisiting the database from first principles, we'd still be using acid-compliant relational SQL databases for everything. By starting from first principles and asking what the database software is for, and considering a c…

I find this post ironic in that it (unintentionally) mirrors the atticle's point.

Graph (hierarchical) databases and time series (SCADA) datbases predate your (implicit) definition of "database" as a "relational datbase."

Key values have also existed before Oracle came to be.

It's never really been a matter of "rethinking from first principles".

Like Norvig's contraint propagation in the post, it has been about choosing the right design for the problem at hand, instead of trying to fit square pegs into round holes.

Re: The Sudoku Affair

#40
Not trying to defend Jeffries, but Norvig's solution despite looking so elegant and in hindsight seemingly the obvious solution by everyone here, is not at all obvious, and I doubt someone without prior experience in exploring the problem area would come up with it. Just no way.
Post reply on HN