Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How a Startup from Krakow Got Mentioned in “The Art of Computer Programming” (sinterit.com)
309 points by mci on Feb 6, 2018 | hide | past | favorite | 27 comments


Apart from the 2016 Christmas Tree lecture [1] (which is even available in 3D [2]), Knuth also mentioned this “mysterious package from Poland” during an earlier (a week earlier) lecture at Brown University [3] (about 25 minutes in).

I love this talk (he gave roughly the same talk at both places, though one was more rushed than the other). He goes pretty deep into history — for example his discussion of Hamiltonian tours (knight's tours etc.) in Sanskrit poetry is at a level of detail that I have not seen in any other published source in English. After knowing that he was interested in this topic, I requested a contemporary Sanskrit poet to write a “knight's tour” Sanskrit poem, and gave it to Knuth as a gift. He loved it!

[1]: https://www.youtube.com/watch?v=DjZB9HvddQk

[2]: https://www.youtube.com/watch?v=9DrzK3Z0rg0

[3]: https://www.youtube.com/watch?v=4UFkH5ZlVqQ


What a cool gift. I didn't know Knuth was into Sanskrit poetry. Nice to notice that people from STEM fields are interested in things like that. I'm always happy to see something related to ancient languages in HN.


There is perhaps a technical reason for this. Computer languages are described using BNF notation, apparently invented in the 20th century, but others have noted that Panini did this 2500 years earlier, describing Sanskrit with a similar notation:

https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form

The idea of describing the structure of language using rewriting rules can be traced back to at least the work of Pāṇini (ancient Indian Sanskrit grammarian and a revered scholar in Hinduism who lived sometime between the 7th and 4th century BCE).[1][2] His notation to describe Sanskrit word structure notation is equivalent in power to that of Backus and has many similar properties.

Citation:

https://dl.acm.org/citation.cfm?id=363165

I can't copy the text here, but it's worth a read:

https://www.deepdyve.com/lp/association-for-computing-machin...

Knuth is mentioned in the same letter as Panini, regarding the naming of "BNF".

https://www.infinityfoundation.com/mandala/t_es/t_es_rao-t_s...

Knuth invented LR parsing of context free grammars:

https://en.wikipedia.org/wiki/LR_parser

LR parsers were invented by Donald Knuth in 1965 as an efficient generalization of precedence parsers. Knuth proved that LR parsers were the most general-purpose parsers possible that would still be efficient in the worst cases.


It is widely assumed Pāṇinian languages (generated using the formalism he used for describing Sanskrit) are context free languages but the following paper argues that they are a much larger set than CFLs.

https://web.stanford.edu/~kiparsky/Papers/panini-1.pdf

My Knuth tale: I happened to be sitting near Prof. Knuth at a dinner last December and I mentioned to him Pāṇini & Sanskrit in the context of something I work on now and then. He heard Sanskrit and immediately pointed me to this Christmas lecture of his!


Actually, based on my limited social circle, people from STEM get into Sanskrit much faster, because of its complex rules and similarity to programming (it's their words, I don't know Sanskrit, so can't confirm it). Learning Sanskrit is kinda "cool" now. Also, my girlfriend (not from STEM background) knows Sanskrit pretty well and keeps telling me that she feels like writing code (as she imagines that from seeing me doing or talking about it) when translating text to/from Sanskrit.


Retrospectively considering "It would be nice to own a 3D-printed object like this!" as an understatement (i.e. a "mistake" in his book) was a clever hack to create an excuse for giving them one of his famous reward checks. And kind and hilarious to boot! Prof. Knuth is amazing.


Nice one, congrats!

(Also imagine my surprise, seeing my home town mentioned on the front page of HN this early morning! I thought for a second that sleep deprivation finally got the best of me.)

I wish you best of luck. I used to be in the Kraków's 3DP commumity back in Materialination heydays. That was before you were founded, but maybe we've crossed paths there.


It looks like they got the N upside-down. The top of the N (the end with two serifs, as you can see here http://www.identifont.com/similar?TI ) is pointing to M, rather than the bottom.


It looks like you are correct. They seem to have taken the design from Donald Knuth, who put the N in upside down.


Of course this is exceedingly cool and the item itself is of good quality, but it should be said that it's possible to make your own twenty-sided dice with whatever you want on their faces, by ordering blank dice on the internet and painting your desired symbols by hand. There's also companies that can print you the diece you want.

In fact, gaming lore says that in the early days of pen-and-paper RPGs, gamers couldn't find anyone selling the polyhedral dice they needed, so they ordered instead Platonic solids used for demonstration of geometric objects' properties from school supplies retailers and filled in the numbers by hand, as above. Which in no way means that any early d20s were missing a few 1's and 2's :|


FYI Prof. Knuth presents the problem at 16:50 into the lecture[1] linked in the blog, then shows off his Sinterit trinket at 18:30ish.

[1] https://youtu.be/DjZB9HvddQk?t=1010


Startup opportunity: Custom 3D printed dice. Pick any variation (e.g. less boring than cube). Different text and order.

Excellent swag.


You're limited to the other Platonic solids [1] for dice having more than the standard 6 faces if you want the odds to be the same, aren't you though?

[1]: https://en.wikipedia.org/wiki/Platonic_solid


In addition to D10, as PeterisP commented, D30 is also doable. Then you can have barrel dice: https://en.wikipedia.org/wiki/Long_dice

Wikipedia generally has quite good overview of non-Platonic dice: https://en.wikipedia.org/wiki/Dice#Rarer_variations


Nope, for example d10 is commonly used, has the same odds for each face, and is not a Platonic solid.

https://en.wikipedia.org/wiki/Pentagonal_trapezohedron#10-si...


Just has to be face-transitive or isohedral for dice: https://en.wikipedia.org/wiki/Isohedral_figure

For example: https://mathsgear.co.uk/products/d120-dice


I should add that I have no affiliation with mathsgear, in fact, I was unaware of their existence until just now. They seem to have lots of nice stuff: https://mathsgear.co.uk/collections/shapes


Since you can assign the same label to multiple faces, it seems like you could construct a fair die that's not a Platonic solid.

I wonder if the rule is that the total face area for each label must be the same?


I don't believe so, the YouTuber standupmaths has an episode on a a three sided coin (die) which is equally likely to land on its edge as either face. They blackboard two theories on what ratio the coin should have, test them both extensively, do proper statistics, and conclude that neither is right and the answer must be somewhere in between.

They are currently encouraging viewers to try a bunch of different values and come up with an experimentally derived result.


I was looking for a 4D dice with 8 sides, just dots from 1 to 4 and couldn't find it (the same one as used in Sorcery's Swindlestones) so I'd definitely be interested.



I've got the double 4d dice (white) but it didn't occur to me that blank dice and a little bit of paint can just do the job. Thanks!


As someone who brought a branch of a US company to Krakow (my birth place), I can only say - great job and congrats!


What does it say in Knuth's response?

"Of course you could have used the ( <word here> font/foot???)"


cmtt aka Computer Modern Typewriter, the same font as in the diagram from TAOCP.


Very fun.

I didn't know what a Hamiltonian graph was: https://en.m.wikipedia.org/wiki/Hamiltonian_path


:) beautiful story, thanks for sharing




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: