Live data from Hacker News

Harlequin: SQL IDE for Your Terminal

github.com

81–89 of 89 posts

Re: Harlequin: SQL IDE for Your Terminal

#81
post #4

Suggestion: under "works with your database" consider naming the databases rather than only offering a list of icons. Also seems to be a bit of hubris to claim a SQL IDE "works with your database" when SQL Server and Oracle, two of the database products with the largest market share, are not supported (yet?)

Fair enough (author here). I just launched support for any databases other than DuckDb and published a guide to create adapters for new dbs. I’m expecting the community to step up here, since I’d rather spend my time adding features to Harlequin. ODBC should be coming shortly. The hard part is honestly just having access to a DB server for testing.

> The hard part is honestly just having access to a DB server for testing.

Fwiw Microsoft SQL server is available as a Linux Docker build:

https://learn.microsoft.com/en-us/sql/linux/quickstart-insta...

Oracle is available as a container and vm:

https://container-registry.oracle.com/ords/f?p=113:4:1173021...

https://github.com/oracle/vagrant-projects

Re: Harlequin: SQL IDE for Your Terminal

#82

Every time I notice something is a Python codebase I feel a letdown as it means it will likely break some other Python project from someone else I have on my dev machine which I may not have touched in a while but which I will find got silently broken when I most need it Especially if it's a nice TUI app like this looks EDIT: Guys, in my experience, virtual environments do not fix this problem in all cases . At least…

Docker could be an alternative if virtual environments aren't your thing. I'd imagine they would provide a greater degree of isolation, too.

Re: Harlequin: SQL IDE for Your Terminal

#83
post #8
post #7

Question: do people love TUI, because they love being in a terminal? Or ... is this a movement against application bloat, which has become all to common these days? EDIT: why the downvotes?

If you develop SQL you need to write code and view tables. A grid with monospace characters is perfectly suitable for that. But other than that, no, people don't love being in a terminal. It just happens that all open source portable toolkits like qt and gtk do not work via ssh and are in general total abominations for developers and users. The vt100 standard is 45 years old and turned out to be the lowest common den…

In case of client-server databases one alternative that works great is to open an ssh tunnel using "ssh -L" and just connect using gui tool to it.

Re: Harlequin: SQL IDE for Your Terminal

#84

Earlier quoted context omitted.

alright, I will bookmark this and try this next time I want to play with a python project. OK, how would I include all of these under the same PATH regime? So for example say I want to run this project from a commandline location elsewhere... I'd only be able to have one venv activated at the same time in the same session, right? I guess that's part of my issue with this. I want to be able to access 10 different Pyth…

To access 10 different commands at the same time, that is tricky but definitely doable. First thing that comes to mind, you can use aliases. To keep it simple, lets use 3 examples instead of 10: harlequin (this project), pgcli ( https://www.pgcli.com/ ) and httpx ( https://www.python-httpx.org/ ) Setup a main home for all your venvs: cd ~ mkdir venvs Go into this dir, and create your venvs and install the packages cd…

You know, at this point in the complexity story, you're literally at (or beyond) the level of Nix complexity which is the very solution that everyone who engages with this level of tooling seems to be trying to avoid, and since Nix solves this problem already definitively without having to jump through all these hoops, why don't Python projects just use Nix? Then they could all be colocated on the same machine and all be accessible from the same PATH and all have their specific dependencies none of which would ever collide with each other!

Like, you're LITERALLY making a FANTASTIC argument for Nix usage in the Python ecosystem, here. In fact I'm going to bookmark this conversation now because of how ridiculously complicated your answer is compared to just using Nix.

Here's the Nix whitepaper. It's 14 pages or so. Read it on your next lunch break.

https://edolstra.github.io/pubs/nspfssd-lisa2004-final.pdf

Re: Harlequin: SQL IDE for Your Terminal

#85

Earlier quoted context omitted.

That's impressive! Anyone know if there are similar libraries available for other languages?

I like this one for .NET https://github.com/spectreconsole/spectre.console which I found in this list https://github.com/shadawck/awesome-cli-frameworks .

https://github.com/charmbracelet/bubbletea is a nice TUI framework for Go.

Re: Harlequin: SQL IDE for Your Terminal

#86

Earlier quoted context omitted.

Yeah. I've heard this same comment before in different forms from "Python apologists" about a dozen times. In practice it's still a lot of hair-pulling, because your entire comment assumes that EVERY Python project is already doing things exactly this way and hasn't screwed up a single part of it: https://twitter.com/pmarreck/status/1735363908515295253 but also... > but stuff like this would usually get installed glo…

Your Tweet shows that you don't actually know what these tools do. There's not much overlap in functionality between Pyenv, Tox, and Poetry, for example. Also, nobody active in the Python community will argue that there's 1 correct way to do packaging. That's a serious straw man. Fortunately, none of those tools you mentioned other than venv are actually required to run Python applications, and there are in fact exac…

> Your pinned post on Twitter is predicated on double standards and lack of basic understanding of the tools you're criticizing

If it means that I get to see less Python, then I guess... Mission accomplished? LOL

My first, second and tenth experiences with Python were all negative. Everything from trying to exit the REPL the first time I used it and getting chastised for doing it wrong (which meant that it knew what I was trying to do, and instead of just doing that, decided to be a little snit about it, which is about the jerkiest attitude a tool can take), to the Python 2.x->3.x transition pains, to the significant whitespace, to every project stepping on the dependencies of every other project (you might argue that "I just didn't use venv right" but I did follow every package's installation instructions!), to... Well, just read this, he did a good summary: https://medium.com/nerd-for-tech/python-is-a-bad-programming...

There's literally nothing I like about it. It just seems like a poorly written, older Ruby with a lot of baggage and a minefield of gotchas (except that I like Ruby... or did, before Elixir). Ruby should have absolutely fucking had Python's current market share, and I am 1000% convinced that if it did, everyone would be happier. Whenever Elixir tries to eat Python's lunch (like in the ML space which it's doing now), a part of me is as glad as a puppy. The language, despite its ubiquity, absolutely sucks in my mind, is not only a terrible introduction to programming for newbs but also likely an annoying language to work in, and the people who don't see it HAVE to be blind. That is the only conclusion I can come to, and I'm entitled to my opinion, strong as it is.

Next you're going to say that it is unprofessional to have such strong feelings about code and languages. To that I say: So what, dude. I care. Caring means having very positive feelings about the design decisions behind languages, or very negative feelings about the same. (I don't like Go, either. Python's basically a step above PHP on the "tech I want to minimize my time to zero with" department.)

Re: Harlequin: SQL IDE for Your Terminal

#87
post #49

Earlier quoted context omitted.

Have you seen Pipx or its predecessor Pipsi? Although your tool looks more like Virtualenvwrapper. It's good to have other options of course (and yours looks nice), but it's also good to at least make a case for improvement over what's already out there.

Thank you. I have, actually (though not Pipsi). Some others have commented on that and lead me to them. Part of the "fun" of it was just doing it, I guess, and knowing exactly what went into it. Just a few lines of Bash, really.

His attitude is very Pythonic. That's another thing I didn't like. Other languages let you write whatever you want (maybe to a fault, but still) and support you. This guy's all like "Python has venv and everything else is superfluous so why did you write this". Sigh.

Re: Harlequin: SQL IDE for Your Terminal

#88
post #82

Every time I notice something is a Python codebase I feel a letdown as it means it will likely break some other Python project from someone else I have on my dev machine which I may not have touched in a while but which I will find got silently broken when I most need it Especially if it's a nice TUI app like this looks EDIT: Guys, in my experience, virtual environments do not fix this problem in all cases . At least…

Docker could be an alternative if virtual environments aren't your thing. I'd imagine they would provide a greater degree of isolation, too.

Docker wastes a lot of extra space/resources (disk space, memory, possibly CPU) and can have issues when it comes to needing networking (you start to need a container coordinator). But yes, I've used it in the past. Seems more geared towards server apps than anything else though (although being able to run macOS via Docker is kind of neat).

Re: Harlequin: SQL IDE for Your Terminal

#89
post #4

Suggestion: under "works with your database" consider naming the databases rather than only offering a list of icons. Also seems to be a bit of hubris to claim a SQL IDE "works with your database" when SQL Server and Oracle, two of the database products with the largest market share, are not supported (yet?)

Fair enough (author here). I just launched support for any databases other than DuckDb and published a guide to create adapters for new dbs. I’m expecting the community to step up here, since I’d rather spend my time adding features to Harlequin. ODBC should be coming shortly. The hard part is honestly just having access to a DB server for testing.

harlequin-odbc was released today. https://harlequin.sh/docs/odbc/index
Post reply on HN