Hacker News new | ask | show | jobs
by m00s3 3316 days ago
Seems if the query is always going to start with SELECT, that maybe it should be assumed? I would never use this though, ack or find seem sufficient to me.
4 comments

It's a shame Bash used 'select' as an elaborate menu built-in - it'd be quite neat to name the binary that (and drop the quotes). The you could just type the query right into your prompt!
You could use an alias. They're case sensitive so SELECT could be mapped without impacting the built in "select".
Just use the fish shell instead, and you can avoid the years of shell cruft of bash, or the endless customization of zsh. Bash is a good environment for shell scripting, but not really the best for user interaction. Although perl is probably the best environment for shell scripting.
Xonsh is far better both interactively and for scripting than bash, fish, zsh, or perl.
"alias select=command select" lets you override it.
Yeah, I like the idea of using sql but it is painful to write.

It would be nice to omit the select and the quoting; my suggestion would be that

    fsql "select * from ..."
could be written as

    select all from ...
and all could be assumed if ommitted; so you could write

    select from
or just

    from ...
But unfortunately `select` is a sh(1) reserved word and `from` is an existing command! (shows who who your mail is from)

So maybe select and from could be shortened to sel and frm.

> or just > from ...

Or just ... Why even bother naming fields. Just make <space> enter return everything from anywhere from all time for all people on all platforms.

How many times are we going to have this ridiculous suggestion that less characters/words is automatically better.

This is 'short/arrow functions' (pick your language) all over again, and invariably ends up with the situation where the new syntax is just fucking impossible to read at first glance, because it has so many variances.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

Parens are optional. Unless you have no arguments, then they're required. Curly braces are optional, unless you want more than a simple expression, or no return or to return an object literal, then they're required.

I grow weary enough of this bullshit notion that code must 'look pretty', but when you're using "less characters is always best" as the definition for 'pretty' it just becomes unbearable.

> this ridiculous suggestion that less characters/words is automatically better.

Not what I suggested; yes they are shorter but that's not the point. Can you find a longer name than for `select` that is more appropriate?

I sympathise but for interactive shells the ergonomics are different than for most languages.

Even then I don't mind long names but I do mind hitting the shift key. Which means avoiding most punctuation.

still arrow functions are the single one ES6 addition to js that made the language finally nice enough for me to enjoy ;-)

as a fp geek

You can do "alias select=command select", it works in bash and zsh (and maybe others).

In zsh you could also "alias select=noglob command select" and it wouldn't do wildcard matching. Then you could use

    select * from ...
and it would pass the asterisk to your select binary :)
I like this! I've started work on this [0], feel free to add to the issue if you'd like.

[0] https://github.com/kshvmdn/fsql/issues/10

It could be extended with other queries like “update” for batch file operations, I suppose. Like you, I’m fine with my existing suite of find/grep/ack/awk/perl/whatever, but I already know how to use them; a beginner or someone who doesn’t live their whole life at a Unix terminal could probably benefit from the simpler interface.
Pay me then sick of walking or riding