Live data from Hacker News

Tad, a tabular data viewer

tadviewer.com

101–110 of 113 posts

Re: Tad, a tabular data viewer

#101
post #98
post #77

Earlier quoted context omitted.

Genuinely curious, what can be used instead of Electron for cross-platform desktop app?

Tk - It can look a bit dated, but it's easy to use, comes bundled with Python or Tcl, and bindings in most popular languages. Can run on Windows, Linux, macOS. Qt - The IDE is great. It doesn't look native. Either dynamically linked, or commercially licensed. Runs on Windows, Mac OS X, Linux, Android, iOS, and a range of embedded hardware. wxWidgets - Native backends, so it always looks like it belongs. Bindings in a…

Thanks for such a detailed answer. Can you elaborate why those would be better than Electron?

Re: Tad, a tabular data viewer

#102
post #98

Earlier quoted context omitted.

Tk - It can look a bit dated, but it's easy to use, comes bundled with Python or Tcl, and bindings in most popular languages. Can run on Windows, Linux, macOS. Qt - The IDE is great. It doesn't look native. Either dynamically linked, or commercially licensed. Runs on Windows, Mac OS X, Linux, Android, iOS, and a range of embedded hardware. wxWidgets - Native backends, so it always looks like it belongs. Bindings in a…

Thanks for such a detailed answer. Can you elaborate why those would be better than Electron?

It depends on what you want from the framework.

Electron doesn't look native, which a lot of consumers don't like. Others don't care. So, depending on your audience, it can be an extra hurdle that some like wxWidgets don't have.

Electron is difficult to get performant. You need to really think and test your perf. Qt, Tk, and a few of the others are much faster, much easier. And if you put in the same effort you need to put in for a fast Electron program, you can end up with blisteringly fast speeds.

Electron bundles are large to download. Some places this doesn't matter, others it does. (Think Australia, Africa and the like where tiny download caps exist). IIRC Qt, the biggest dependency, is about half the size of Electron. Tk and wxWidget are small, nuklear is just a header. It's tiny.

Electron is not good with touchscreens (or "harder to get right"), but more and more people have them. Kivy is great for that usecase.

Electron is "just code". Qt Creator and Lazarus' IDE are phenomenal for putting GUIs together. You'll be surprised how little code you need.

Electron is primarily JavaScript. Some people like that, others don't. If you want an easy language, you can use Python, or Nim. Want more control C or C++. Value both time and control? Go with Java.

Electron has its place.

If you have a really tight time-to-market window, or this is just a tiny personal project, and JavaScript is your "goto" language, then awesome. Use it.

But, the cross-platform GUI world is big. You have a dozen or so mature, stable, proven frameworks.

So if your project takes off, or you have the time to do things right, evaluate if any of these libraries, including Electron, fit your needs.

Re: Tad, a tabular data viewer

#103
post #77

Nice, some initial remarks: - Sad to see it's an Electron app, but I don't want to start this flamewar all over again - Mid-sized CSV file opens fairly quick - If you want to build this into a full-fledged app, be prepared to handle a lot of CSV edge cases, also think about supporting AVRO, Parquet files - Regarding filtering: I can filter on CONTAINS and '=' but not on NOT-CONTAINS or ' ' I think? This is annoying t…

Genuinely curious, what can be used instead of Electron for cross-platform desktop app?

I can understand the appeal of writing a non-internet app that uses html/css/javascript. But if you want to do that, why not just run a server locally and use a normal web page? Seems better than running a custom chrome instance.

Re: Tad, a tabular data viewer

#104
post #102

Earlier quoted context omitted.

Thanks for such a detailed answer. Can you elaborate why those would be better than Electron?

It depends on what you want from the framework. Electron doesn't look native, which a lot of consumers don't like. Others don't care. So, depending on your audience, it can be an extra hurdle that some like wxWidgets don't have. Electron is difficult to get performant. You need to really think and test your perf. Qt, Tk, and a few of the others are much faster, much easier. And if you put in the same effort you need…

How's Java giving user more control than Nim? The latter allows for hardware access like C/C++

Re: Tad, a tabular data viewer

#105
post #104
post #102

Earlier quoted context omitted.

It depends on what you want from the framework. Electron doesn't look native, which a lot of consumers don't like. Others don't care. So, depending on your audience, it can be an extra hurdle that some like wxWidgets don't have. Electron is difficult to get performant. You need to really think and test your perf. Qt, Tk, and a few of the others are much faster, much easier. And if you put in the same effort you need…

How's Java giving user more control than Nim? The latter allows for hardware access like C/C++

I said C/++ was more control, Java was a middleground between the two. Nim is easier, but its memory usage and performance are harder to be sure about, because it hasn't been around as long.

Re: Tad, a tabular data viewer

#107
post #82

Earlier quoted context omitted.

I think it is ok to express displeasure at the state of something without just silently doing something else and hoping that the entire ecosystem catches up to you. For example, I take every opportunity (like right now, for example) to shit on node.js and npm for that very reason. There is so much evangelism on one side, it is nice to hear the opposing view points.

> I think it is ok to express displeasure at the state of something without just silently doing something else and hoping that the entire ecosystem catches up to you. It is , but it's not okay to bring up a common flame war topic and then say "but I don't want to start a flame war". If you don't want to start one, just don't start one . Starting it, and then saying you didn't want to, is disingenuous at best.

It's a legitimate thing to mention as being displeased about. The very fact that it's such a hot topic demonstrates that, since it indicates that it's a subject over which smart people can disagree.

The "I don't want to start a flamewar" bit is also a reasonable addendum. It's a terse way of saying, "I don't like this feature, but, people who disagree with me, please don't get up in arms about this, you're free to like this feature if you want."

Frankly, if there's anyone trying to start a flamewar, it's not the original poster; it's people who are edging toward caping up in response to OP's (quite mild) comment.

Re: Tad, a tabular data viewer

#108
post #104
post #102

Earlier quoted context omitted.

It depends on what you want from the framework. Electron doesn't look native, which a lot of consumers don't like. Others don't care. So, depending on your audience, it can be an extra hurdle that some like wxWidgets don't have. Electron is difficult to get performant. You need to really think and test your perf. Qt, Tk, and a few of the others are much faster, much easier. And if you put in the same effort you need…

How's Java giving user more control than Nim? The latter allows for hardware access like C/C++

With Java you can get it through JNI.

But if you're going that route, you'll be making your life a lot harder in the cross-platform department.

Re: Tad, a tabular data viewer

#109
post #76

Earlier quoted context omitted.

All great feedback, thanks! Some quick replies: - The omission of ' ' from the operator list was just an embarrassing mistake on my part. #facepalm #WILLFIX - Also agree that a drop-down list of checkboxes (ideally a searchable one!) with an 'in' operator for low cardinality columns would be great. But the UI for that is a bit involved, and probably also need to provide some user control over when to do this since ga…

Good job, curious about the performance when doing multiple AND, OR clauses on 1m+ rows? You'd need compound indices or?

Absolutely all the analysis (including filtering) works by generating SQL queries and that SQLite evaluates. Tad doesn't generate any table indices, and I'd be reticent about adding that. However you should be able to Tad as a sqlite viewer from command line (sqlite://foo/bar.sqlite/tablename) and it should make use of indices on your existing SQLite table if you have them.

Re: Tad, a tabular data viewer

#110
post #81

If you prefer working from the terminal, you should check out VisiData ( https://github.com/saulpw/visidata ). It's a curses tabular data tool that can start browsing terabyte .csv files immediately, with few dependencies and no clicking.

I was looking through the comments hoping to find a tool like this. You did not let me down, fellow HNer! I try to use the command line whenever I can. Somehow there is a command line tool for just about everything, except for the obvious cases where it not useful like visual media and graphs.

I don't want to dissuade you if curses-based UIs are your thing. But one thing that's been crucial to me from Day 1 is that you can type "tad foo.csv" at the command line and immediately get a usable view of your data with no extra config or tweaking needed. I mostly launch tad from the command line.
Post reply on HN