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…
The Sudoku Affair
31–40 of 45 posts
Re: The Sudoku Affair
#32https://coin-or.github.io/pulp/CaseStudies/a_sudoku_problem....
This example helped me enormously in developing my understanding of how to use binary variables in an LP solver
Re: The Sudoku Affair
#33Earlier 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
(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
#34Earlier 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…
"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
#35Norvig 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.
Re: The Sudoku Affair
#36Norvig is a world level genius and he outdid Jefferies because of that. No shame in losing a basketball match to LeBron James.
Re: The Sudoku Affair
#37Hilarious 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…
Re: The Sudoku Affair
#38Earlier 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…
Re: The Sudoku Affair
#39Earlier 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…
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.