Show HN: Strukt – a visual shell for tabular data
Well, I didn&#x27;t do too well.<p>I saw the welcome screen offering to let me read the manual.  I like manuals, but I figured I&#x27;d poke around first.<p>I clicked on each of the samples, but none of them really appealed to me.  The closest was the &quot;Hot Cities&quot; one.<p>I then tried to load a file to look at.<p>I hit enter and got a new operation, typed file and saw &quot;Load File&quot;, but couldn&#x27;t figure out how to enter the filename. :(<p>I did lots of enter and tab and such, but finally gave up and opened the manual.<p>After reading through it, I discovered that I was supposed to use - to select an argument and = to enter a value for it.  <i>Still</i> not quite used to that, but I&#x27;ll say you really need some sort of intro tooltip to help people figure that out.<p>So, I entered the filename, and it gave me the little orange minus flag.  Clicked it and saw it didn&#x27;t have authorization.  Clicked the Help question icon and read that I had to predefine a list of folders it could access.  I haven&#x27;t purchased too many Mac Store apps, maybe this is some limitation of that, but I&#x27;ve never had an app before that couldn&#x27;t access a file without my first telling it where it was allowed to look.  Is that really necessary?<p>So I added a data directory to the allowed list and then I saw the contents of my file. Yay!<p>This file is a dump of a Kafka topic.  It has a line per record, each record has a JSON key, a tab character, and then a JSON value.<p>So, I went to add the second operation to my pipeline.  The first few tries, I kept overriding my Load File operation, but then I got the hang of using the down arrow to get a new one.  I have an outstanding question on how to insert one between two steps, but I haven&#x27;t needed to do it yet so I haven&#x27;t experimented.<p>I first tried to use Split String to break up the key and value fields, but found I couldn&#x27;t enter a tab character either via \t or by pasting it.  I saw a note that said not to use Split String for CSV or TSV, so I next tried the TSV operation.<p>TSV was able to break it up into two fields, but I don&#x27;t have any control over specifying the keys for the fields, it just automatically eats the first row of data and uses it as the key name. :(<p>So I poked around looking for a way to fix that, saw the option to change key names, but that wouldn&#x27;t get my first row of data back, so I opened the file in Vim and gave it a header.<p>Came back to Strukt and reloaded.  I then tried to add a Parse JSON operator.  First tried to point it at the &quot;key&quot; field, got nothing back, so I tried the &quot;value&quot; field.  Still nothing.  Hitting the Play button takes 1.85s but returns zero rows.  No indication of what went wrong.<p>That is where I stopped cause I have work to do.<p>Sorry that this is kinda a negative review.  Don&#x27;t let it get you down, there is a lot of promise in the concept and interface.  Feel free to poke me for further info if you need it.<p>I&#x27;m coming from the world of Pentaho Data Integration and command line utilities, and I love playing with data apps.