Hacker News new | ask | show | jobs
by dmd 2079 days ago
I hate to be critical of what's a rather impressive piece of work, but a lot of the reason for that length is just a lot of repetition, e.g. https://github.com/xwmx/nb/blob/master/nb#L10423
1 comments

That particular function, `nb show`, is a big `if` statement checking the file type and environment for available tools. I'm more than happy for suggestions and / or pull requests for optimizing that.

Note that Bash is a weird language that doesn't provide language features found in normal languages, and this targets old Bash which doesn't even have associative arrays, so there are things that might look "wrong", but aren't necessarily in this context. That's a big part of what makes it interesting to code in.

Why did you decide to go with Bash instead of another scripting language like Python or Ruby? Portability? "Just because"?

I am not bashing Bash ;) but genuinously interested in the motivations as a programmer. You have stated that the Bash shortcomings are "interesting", so I guess it boils down to some kind of "who cares, let's do it with Bash".

I tried nb yesterday and damn if it had a native capture tool for macOS and iOS this would be the perfect Evernote replacement for me.

Portability, philosophy, style. I find that designing within constraints can lead to interesting solutions, and this project has focused on embracing and leveraging the command line interface itself.