HNHacker News
TopNewBestAskShowJobs

antonycourtney

49 karma · joined October 27, 2015

Indie Computer Scientist and Software Developer based in SF
submissionscomments
antonycourtney··on Show HN: Open-source, browser-local data exploration using DuckDB-WASM and PRQL
Yes, Tad should be pretty easy to embed -- in the github repo there's a React component (TadViewerPane), and a fairly modular API for adding a new data source. I'm happy to work with you on this, this should be a fun exercise!
antonycourtney··on Show HN: Open-source, browser-local data exploration using DuckDB-WASM and PRQL
Very impressive project and vision! Love the demo!

I am also ex-GS and worked on what I am fairly sure is the table display tool you're describing. I tried to carry the essential aspects of that work (multi-level pivots, with drill-down to the leaf level, and all interactive events and analytics supported by db queries) to Tad (https://www.tadviewer.com/, https://github.com/antonycourtney/tad), another open source project powered by DuckDb.

An embeddable version of Tad, powered by DuckDb WASM, is used as the results viewer in the MotherDuck Web UI (https://app.motherduck.com/).

If you're interested in embedding Tad in Pretzel, or leveraging pieces of it in your work, or collaborating on other aspects of DuckDb WASM powered UIs, please get in touch!

antonycourtney··on DuckDB – An in-process SQL OLAP database management system
I think you're referring to Tad (https://www.tadviewer.com), which I developed. Tad isn't "the GUI tool for DuckDb"; it's a desktop app that provides a pivot table based viewer for tabular data files (CSV, Parquet, and DuckDb/SQLite database files). It uses DuckDb as its engine, but pre-dates DuckDb and was developed independently. It's listed in the DuckDb docs along with several others tools that work with or use DuckDb. All that said, I'm sorry you found it disappointing, and would welcome any constructive feedback on what specifically you found lacking, either here or to tad-feedback@tadviewer.com.
antonycourtney··on DuckDB – An in-process SQL OLAP database management system
I can understand how the older callback API for node.js might form a negative impression, but it's really not indicative of the maturity of the core db engine at all. And remember: the vast majority of users use the Python API. Even better news is that, as of a couple of months ago, there is now this package (which I wrote at MotherDuck and we have open sourced) which provides typed promise wrappers for the Duckdb API: https://www.npmjs.com/package/duckdb-async. This is an independent npm package for now, but was developed in close coordination with the DuckDb core team.
antonycourtney··on Show HN: Tablist – a chrome extension to copy and paste lists of open tabs
For what it's worth, since folks are mentioning other extensions, my full-featured tab manager extension, Tabli (https://chrome.google.com/webstore/detail/tabli/igeehkedfibb...) provides a "Copy Window Summary" action that will copy all open windows and tabs to the Clipboard as a nicely-formatted Markdown table. Tabli was a "Show HN" items about 5 years ago and is still actively maintained. Of interest to HN crowd: MIT licensed, no cloud component, rigorous privacy policy (100% in-browser), keyboard shortcuts for most functionality. I wrote a Medium piece with an overview of Tabli a couple of weeks ago: https://medium.com/@antonycourtney/taming-tab-hell-with-tabl...
antonycourtney··on Tad, a tabular data viewer
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.
antonycourtney··on Tad, a tabular data viewer
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.
antonycourtney··on Tad, a tabular data viewer
Really sorry about this! I do specify Tad as a handler for CSV files, but becoming the default handler was not my intent at all; I will look into what's causing this.
antonycourtney··on Tad, a tabular data viewer
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 gathering distinct values can be an expensive operation for large data sets. - Totally agree that it would be useful to provide more interesting column stats. Thanks for the suggestions and refs to other tools -- very helpful.
antonycourtney··on Tad, a tabular data viewer
Good points and great suggestions, thanks!
antonycourtney··on Tad, a tabular data viewer
I don't think I ever claimed it was better than Excel, which is targeted at different set of users and use cases. That said, here are some reasons why some users might prefer Tad to Excel: It's free and MIT licensed with the sources on github. It's available for Linux, Windows and Mac. It works on any tabular data source. The UI for creating a pivot table is clear and intuitive and efficient (just a few clicks); many users find Excel's pivot table interface difficult and confusing. The underlying typed data model is a better fit for many data sets. And finally, it is many times faster than Excel for loading and working with large CSV files: My large test data set takes 12 sec to load in Tad vs 40 sec. for Excel.
antonycourtney··on Tad, a tabular data viewer
I invested some effort to keep it performant even with fairly large CSV files, including a custom port of some C++ code for fast CSV import. My current favorite example is the Met Museum's 228MB 450k row collection data set; takes about 12 sec. to open in Tad on my 2013 MacBook Pro. Definitely not lag free (and hard to achieve that without going to some serious column store data warehouse like Amazon Redshift), but still reasonable. https://twitter.com/antonycourtney/status/869252722624561152
antonycourtney··on Tad, a tabular data viewer
Great suggestions for the landing page, thank you!
antonycourtney··on Show HN: Tad – A fast, free cross-platform CSV viewer
This died on the vine when initially posted two months ago; main comments then were complaints it was "mac only". Yesterday's release (0.8.4) includes binaries and installers for macOS, Windows and Linux.
antonycourtney··on Show HN: Tad – A Desktop App for Viewing and Analyzing Tabular Data (CSV Files)
Tough crowd! Code is not OS-dependent in any way; I just haven't tested or pre packaged binaries for these other platforms yet. Anyway, sources all on github; I would welcome your PR for other platform builds.
antonycourtney··on Show HN: Tad – A Desktop App for Viewing and Analyzing Tabular Data (CSV Files)
Thanks for pointing this out! Was due to some unfortunate scaling happening because the image was just slightly bigger than the CSS for the page would accomodate; now fixed.
antonycourtney··on Show HN: Tad – A Desktop App for Viewing and Analyzing Tabular Data (CSV Files)
Thanks! Will definitely aim for Windows and Linux builds in the near future. The app itself is built in ES6 on Electron and has virtually no OS-specific dependencies, so I don't anticipate any difficulty. Also: If any enterprising hacker that uses Windows or Linux as their primary platform wants to volunteer to try building Tad on their platform, please get in touch -- I'd be delighted to have the help.
antonycourtney··on Show HN: Tabbie, a tab manager for Google Chrome
Hmmm, this seems like a minimalist version of my tab manager, Tabli: http://www.gettabli.com

Tabli is based on a similar concept (being able to save sets of tabs with a meaningful name), but is a full-featured tab manager, allowing you to see all open tabs, switch between tabs, and revert to last saved version of a tab set.

What's the roadmap / vision for Tabbie and how does it differ from Tabli?

(To OP: If the projects seem similar enough in spirit and you'd be interested in combining forces and collaborating on Tabli, please let me know!)

antonycourtney··on The Great Suspender: Free up memory by suspending inactive Chrome tabs
Thanks for the bug report. I have seen that happen intermittently but have never managed to find a reliable repro. There's a long-standing open issue on github for it: https://github.com/antonycourtney/tabli/issues/45

I have new release of Tabli pending that will address a number of performance issues, so may resolve this for you. If you DM me I can let you know when it's available.

antonycourtney··on The Great Suspender: Free up memory by suspending inactive Chrome tabs
Another useful tab manager extension for Chrome is Tabli (http://www.gettabli.com), which I created and submitted as a "Show HN" last October (https://news.ycombinator.com/item?id=10464603). Helps you quickly find tabs you already have open and lets you save and restore windows (collections of tabs) with meaningful names to keep things organized. 100% Free Software (sources on github), respects privacy, and has keyboard shortcuts for efficiency.
antonycourtney··on Show HN: Tabli – A Tab Manager for Google Chrome
There's another extension that does something like what you propose called one-tab: http://www.one-tab.com/ Those that use One Tab seem to love it, and if it fits the way you want to work...great! One concern with what you propose is: Doesn't this just end up moving the problem from having a disorganized pile of tabs to having a disorganized pile of bookmarks? For my style of working, I find I have certain anchor pages for a topic or project that I refer to regularly. Although I also open many tabs, I wanted an easy way to discard these ephemeral tabs but get back to my base state of anchor tabs. The "Revert" functionality in saved windows helps with this: http://antonycourtney.github.io/tabli/tabli-usage.html#rever...
antonycourtney··on Show HN: Tabli – A Tab Manager for Google Chrome
Thanks! This was not my first project with React, but it was a playground for me to experiment with some novel React ideas (like css-in-js) and different ways of structuring the application. After some frustrating attempts to organize Tabli using Flux I ended up abandoning Flux and creating my own alternative micro-framework called OneRef, a sort of Redux-lite for use with the wonderful Immutable.js library for maintaining application state. I have a draft Medium post about this that I hope to publish one of these days...
antonycourtney··on Show HN: Tabli – A Tab Manager for Google Chrome
Thanks, glad you like it. Tabli wasn't searchable in the Chrome store for the rather silly reason that I hadn't gotten around to making promotional tiles. I just made some mediocre ones for now and made it public / searchable; I can improve the tiles later :-)
antonycourtney··on Show HN: Tabli – A Tab Manager for Google Chrome
Glad you like it. You're correct, Tabli is only intended to help you manage windows and tabs within the current browser session on your current machine. Saved Windows (http://antonycourtney.github.io/tabli/tabli-usage.html#save-...) are stored as bookmark folders so will sync as normal bookmarks and show up when you start Chrome on a different machine. (Currently saved windows are only loaded when Tabli initializes, but that's fixable.) I don't use Chrome on multiple machines simultaneously so hadn't really considered this use case. Thanks for bringing to my attention, will give it some thought.
antonycourtney··on Show HN: Tabli – A Tab Manager for Google Chrome
OP here: I developed this to meet my own needs as a developer to help keep me from getting lost in the sea of tabs that inevitably accumulated when using Chrome. Includes some hacker friendly features like keyboard shortcuts and ability to easily save and restore sets of tabs. Would welcome feedback from the HN crowd.