[HN Gopher] Show HN: Using SQL's Turing completeness to build Te...
___________________________________________________________________
Show HN: Using SQL's Turing completeness to build Tetris
Author : nffaria
Score : 145 points
Date : 2024-09-04 12:28 UTC (2 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| abhgh wrote:
| Cool project! I remember I had coded a Reinforcement Learning
| (RL) assignment long ago back in college with just SQL (I was
| familiar with Oracle back then, so that's what I had used). The
| course instructor was amused, more so when he saw how loops were
| implemented: I had a "loop" table with a sequence of N numbers in
| a column, and used to join with it to "loop" N times!
| jihadjihad wrote:
| It seems at first to be a toy or silly intellectual exercise, but
| after reading the whole thing it really feels like an example of
| how constraints can lead to creative solutions. Can't log to
| stdout in the recursive CTE's loop? Maybe `RAISE NOTICE` will
| work. Can't take user input from the query itself? What if we
| stored the input in a table locally and read from that instead
| with `dblink`?
|
| It's just a lot of fun, kudos for hacking this together, this is
| the sort of thing that makes me love software so much.
| nffaria wrote:
| Thanks for the kind words, it was exactly like you described.
| Many times I thought it would not be possible after hitting
| some of those walls, but luckily there was always a way around
| them.
| tanelpoder wrote:
| I once wrote a top-like tool in Oracle's sqlplus client, that
| is _not_ designed for building self-refreshing terminal UI
| display apps. Just to see if I could do it, had to get
| creative too. Used pipelined PL /SQL functions with never-
| ending output stream and a sleep function within it and had
| to carefully match the sqlplus "fetch array size" with number
| of rows returned in a batch from the pipelined function.
| Called it MOATS - the Mother of All Tuning Scripts - and then
| someone took the idea further and built v2.0 with added
| colors and charts, etc:
|
| The v2.0 UI GIF is here: https://github.com/dbsid/moats_rac
| written-beyond wrote:
| I will admit that in the past I've used `RAISE NOTICE` quite
| frequently for debugging difficult to navigate PL/pgSQL
| procedures.
| otteromkram wrote:
| This is awesome. I did linear regression in T-SQL once and it's a
| fun way to figure out what you can do with the language (eg - if
| you're unfamiliar with CTEs or cursors).
|
| I'll definitely be checking this out later. Thanks for the post!
| foreigner wrote:
| This is great but even more impressive than the code is all the
| documentation and explanation of how it works. Well done!
| gigatexal wrote:
| This is really really cool. Very cool work and welcome to HN!
| fishtoaster wrote:
| This is hilarious and amazing. But moreso than most such cool
| hack projects, it has a great writeup. The author really did a
| great job walking through how it worked. Love it.
___________________________________________________________________
(page generated 2024-09-06 23:00 UTC)