Live data from Hacker News

Harlequin: DuckDB IDE for the terminal

harlequin.sh

41–50 of 61 posts

Re: Harlequin: DuckDB IDE for the terminal

#41

If anyone here is using DuckDB in production i'd love to hear what your stack looks like over the entire lifecycle of extract->transform->load.

I'm using it for site-search analytics. Originally I was using MariaDB but because we do search-as-you-type there's a complex aggregation query to identify the "real" searches, and with 1000 entries that was taking 10s of seconds to run. Materialized views would've fixed that but...

My stack is now JSON files containing the search data. At present I'm loading these into DuckDB and pre-aggregating due to a bug I found in DuckDB, not because it was needed for performance.

Re: Harlequin: DuckDB IDE for the terminal

#42
post #28

Earlier quoted context omitted.

+1. Lazygit is one of the few tools that does the TUI just right. Super functional UI + Easy discoverability = Chef's kiss.

TIL about LazyGit. Looks excellent. Thanks for the tip, and the UI feedback

Don’t forget lazydocker if you use docker

Re: Harlequin: DuckDB IDE for the terminal

#43
Perhaps slightly off topic, but I'm not familiar with DuckDB. I don't really understand what it is for, and their site is doesn't really explain it well either.

What is the advantage of using this instead of something well-proven and battle tested like an in memory SQLite database?

Re: Harlequin: DuckDB IDE for the terminal

#44
post #43

Perhaps slightly off topic, but I'm not familiar with DuckDB. I don't really understand what it is for, and their site is doesn't really explain it well either. What is the advantage of using this instead of something well-proven and battle tested like an in memory SQLite database?

DuckDB is a columnar db and focused on analysis queries. So it is more optimized for those workflows. Of course for many things sqlite is fine but if you have a really large db with complex queries duckdb should be faster.

Re: Harlequin: DuckDB IDE for the terminal

#45
I don't mean to minimize the effort and contribution of this project in any way, and I understand the author is scratching their own itch, but I'm curious why this is specific to DuckDB? From skimming the homepage, it has generic querying capabilities. Isn't there a generic DB driver that can be swapped out and the TUI used on top of another DBMS?

Re: Harlequin: DuckDB IDE for the terminal

#46

I don't mean to minimize the effort and contribution of this project in any way, and I understand the author is scratching their own itch, but I'm curious why this is specific to DuckDB? From skimming the homepage, it has generic querying capabilities. Isn't there a generic DB driver that can be swapped out and the TUI used on top of another DBMS?

Apache Arrow recently introduced ADBC for this.

Re: Harlequin: DuckDB IDE for the terminal

#47

I don't mean to minimize the effort and contribution of this project in any way, and I understand the author is scratching their own itch, but I'm curious why this is specific to DuckDB? From skimming the homepage, it has generic querying capabilities. Isn't there a generic DB driver that can be swapped out and the TUI used on top of another DBMS?

I quite like the dbcli.com family of TUI DBMS tools. I personally use pgcli a lot.

Re: Harlequin: DuckDB IDE for the terminal

#48
post #20

I'm not in love with this style of UI design in terminals: https://harlequin.sh/_app/immutable/assets/export.a0e81d27.p... Every item in the form takes 4 lines (I think?) whereas in more traditional curses UI they would be packed to one line per item, the scrollbar could have easily been avoided here. Smaller nitpick but that style of toggle switches is also form over function; I'd find traditional [X] far more clear…

Agree. The best curses interfaces make liberal use of highlighting and color, rather than box drawing characters, which take up too much real estate. Besides lazygit, which rocks, I would even point to the old DOS versions of MS Word, which had popups that were information dense but readable.

Color can be tricky too. Colorblind or bad contrast. Terminals do bold, italic, underline and strikethrough.

Re: Harlequin: DuckDB IDE for the terminal

#49
post #43

Perhaps slightly off topic, but I'm not familiar with DuckDB. I don't really understand what it is for, and their site is doesn't really explain it well either. What is the advantage of using this instead of something well-proven and battle tested like an in memory SQLite database?

DuckDB is a columnar db and focused on analysis queries. So it is more optimized for those workflows. Of course for many things sqlite is fine but if you have a really large db with complex queries duckdb should be faster.

DuckDB also compresses the data. I've ingested ≈ 1 TB of apache-like access logs into a duckdb file that was small enough to load completely into ram on my local machine (like 10-15 GB). It was blazingly fast to query over.

(The large spark cluster was still ingesting the data when I was done with my analysis, only working on my local laptop)

Re: Harlequin: DuckDB IDE for the terminal

#50

I need this but for C++, I kinda miss the old borland turbo C++ ide. mostly what I care about is terminal access and code navigation but other than some vim + plugins monstrosity I cant find any.

Same. Thousands text editors, but not a single IDE. And they all get SO close, just give a look to SetEdit screenshots: https://setedit.sourceforge.net/ I don't know if it can be of any help for you, but at the moment on the terminal I mostly use: - Tilde: https://github.com/gphalkes/tilde - Textadept: https://github.com/orbitalquark/textadept Or "Geany IDE" on desktop environment (while waiting for lapce.dev to get…

A rich text-based UI feels like it has all the downsides of a GUI while substantially lacking the upsides.

For example, Tilde. It seems nice and maybe it has nice features, but what about these features is so highly dependent on being accessible through a "menu"? Do you reach for the "menu" all the time? Or are there fancy "dialogs"?

This feels like Vim, but with some strange plugin that provides a "menu". I'd think why not just jump ahead and ditch the quasi-GUI and just learn some shortcuts?

Honestly not trying to be difficult here. I want to understand the mindset, because you are definitely not alone.

Post reply on HN