HN user

paddy_m

2,238 karma

Hacking on buckaroo the exploratory data analysis table widget for pandas and jupyter https://github.com/paddymul/buckaroo hnchat.com:yPQM3az7FbxcBqz4ZUyD hn@paddymullen.com

Posts33
Comments598
View on HN
depot.dev 4mo ago

Now Available: Depot CI

paddy_m
3pts0
github.com 1y ago

Show HN: Buckaroo – Data table UI for Notebooks

paddy_m
105pts9
github.com 2y ago

Build better UIs faster on top of Pydantic

paddy_m
2pts0
github.com 2y ago

Show HN: The Buckaroo Data Table for Jupyter

paddy_m
2pts1
en.wikipedia.org 7y ago

Heidi Game

paddy_m
2pts0
lispcookbook.github.io 7y ago

The Common Lisp Cookbook – Fundamentals of CLOS

paddy_m
18pts1
fortune.com 8y ago

SEC Has Questions for LaCroix Parent Company National Beverage

paddy_m
1pts0
www.bloomberg.com 9y ago

Urban Inequality Is a Crisis, but Don't Blame Techies for It

paddy_m
1pts0
www.nature.com 12y ago

Physicists explain 'gravity-defying' chain trick

paddy_m
6pts1
www.anandtech.com 12y ago

Dell's 24 inch 60hz4k Display will cost $1399

paddy_m
2pts0
sub.garrytan.com 12y ago

Rat Park experiment upturns conventional wisdom about addiction

paddy_m
48pts10
continuum.io 13y ago

Introducing Wakari Bundles: Simple Python Code & Data Sharing

paddy_m
7pts0
www.nytimes.com 13y ago

NyTimes OpEd: How the Us Got Broadband right

paddy_m
3pts1
news.ycombinator.com 13y ago

What would your bill of rights look like today?

paddy_m
1pts1
www.wakari.io 13y ago

IPython notebook to play with Citi Bike data

paddy_m
21pts7
techcrunch.com 13y ago

Mozilla And Samsung Collaborate On Servo, NextGen Browser Engine Written in Rust

paddy_m
8pts1
news.ycombinator.com 13y ago

Who is going to PyCon

paddy_m
1pts1
news.ycombinator.com 13y ago

I'm looking for a makerspace/hackerspace in NYC

paddy_m
1pts3
continuum.io 13y ago

Introducing Wakari - Scientific Python in the cloud

paddy_m
62pts31
news.ycombinator.com 13y ago

What happened at the 14th St con-ed substation?

paddy_m
1pts0
sites.google.com 13y ago

The larch python environment - graphical coding

paddy_m
2pts0
www.meetup.com 14y ago

LispNYC and EmacsNYC: Large Scale Development with Elisp

paddy_m
3pts0
dealbook.nytimes.com 14y ago

Groupon’s Shares Fall on (accounting) Revision

paddy_m
1pts0
corduroyclub.com 14y ago

Today is corduroy day 11/11/11

paddy_m
1pts0
www.informationweek.com 15y ago

Google is sued for $5.3M, in consulting project gone bad

paddy_m
1pts4
www.latimes.com 15y ago

Kids in middle of popularity hierarchy most likely to bully

paddy_m
1pts0
news.ycombinator.com 16y ago

What type of Internet connection for a shared office in NYC

paddy_m
2pts4
www.theregister.co.uk 16y ago

Google in talks to buy ITA

paddy_m
67pts51
gas2.org 16y ago

Car CNG conversion licenses cost $10k from the EPA

paddy_m
20pts14
terminalcast.com 16y ago

Check out my side project: I rewrote rxvt in javascript

paddy_m
64pts48

I have written a couple of eval harnesses to see how well LLMs drive software I have written. Basically I have data analysis software that I need LLMs to write code for. The code is complex, and I want to shape my APIs such that LLMs do a better job of quickly getting to the right answer. So I test different prompting and api surfaces, it's really easy to make quick gains this way and save your users from bugs. In this paradigm, I'm explicitly not testing different models, and I'm very interested to see how lesser models do with my software. Also for this type of testing, using the open weight models makes it faster, cheaper, and more reliable to test vs frontier models because I can trust that kimi-2.5-a-bunch-of-specs is going to behave more consistently than whatever tweaks Claude is making to Sonnet this week. API and prompting improvements seem to carry across the different models for gross improvements.

I haven't looked that hard, but I can't find articles about this type of eval testing, curious to hear if others have approached writing APIs in this way.

I'm as anti-car and pro-bike as they come. Cars and trucks are a much bigger danger than e-bikes...

But California's clear tiers of ebike regulations are meaningless without enforcement. Over the past half decade blue states have become unwilling to enforce almost any laws. when they do enforce the laws it is sporadically. This matters for ebikes, it matters more for cars. Running a stop sign is absolutely not enforced any more.

Location: Boston Remote: Yes Relocate: Yes Technologies: Python, Pandas/Polars, NumPy, Jupyter, JS/TS, React Résumé: linkedin.com/in/paddymullen Email: paddy@paddymullen.com

Python/Jupyter developer in Boston. I build data tools and I start by talking to the people who'll use them, because code that doesn't get adopted is wasted work. My main thing is Buckaroo (github.com/paddymul/buckaroo, ~680 stars), an open-source data table for Jupyter over Pandas/Polars. I built both the data layer and the React frontend. Looking for a team building data tooling (as a product or in house).

Ted Turner has died 3 months ago

Ted Turner won the America's cup there in 1977. His team named Courageous was legendary. Robbie Doyle was a team member, and got a degree from Harvard in applied physics. In the middle of the trials to see which team would defend the cup for the US, he remade the sails to be more competitive. Doyle went on to found a racing sailmaking company.

I used to live in Newport, RI. I love sailing and introducing people to the world of sailing. When I had guests I asked them to watch this NBC video about Ted's 77 campaign [1]. It really captures the history of Newport, sailing, and Ted

[1] https://www.youtube.com/watch?v=tr7-BwzceYI&list=PLXEMPXZ3PY...

Ted Turner won the America's cup there in 1977. His team named Courageous was legendary. Robbie Doyle was a team member, and got a degree from Harvard in applied physics. In the middle of the trials to see which team would defend the cup for the US, he remade the sails to be more competitive. Doyle went on to found a racing sailmaking company.

I used to live in Newport, RI. I love sailing and introducing people to the world of sailing. When I had guests I asked them to watch this NBC video about Ted's 77 campaign [1]. It really captures the history of Newport, sailing, and Ted

[1] https://www.youtube.com/watch?v=tr7-BwzceYI&list=PLXEMPXZ3PY...

Why TUIs Are Back 3 months ago

I think another factor is that people are rejecting the rounded corners and excessive padding of modern web design, you can't do that in a TUI, so you don't have a designer or standard practice encouraging you to do it. As implemented TUIs have greater information density than GUIs. Make no mistake though, TUIs are a decided step backwards from GUIs. Everything that you can express via text, you can also do in a text area on a GUI app.

I'd be really interested to see SGI on this chart. When did consumer hardware exceed what you could do on an SGI box?

I think Sun and HP had some 3d capabilities, but it was mostly aimed at engineering/CAD

Slightly related to the article. I have a personal cargo bike. The most fun that I have with it is giving friends a ride home from a party. People instantly start giggling and laughing. It's goofy, you get stares and people curious

What do you want in your datagrip alternative. I'm working on some stuff, and interested to hear how people approach data with LLMs

Has anything like this been built?

I want a system that enforces planning, tests, and adversarial review (preferably by a different company's model). This is more for features, less for overall planning, but a similar workflow could be built for planning.

1. Prompt 2. Research 3. Plan (including the tests that will be written to verify the feature) 4. adversarial review of plan 5. implementation of tests, CI must fail on the tests 6. adversarial review verifying that the tests match with the plan 7. implementation to make the tests pass. 8. adversarial PR review of implementation

I want to be able to check on the status of PRs based on how far along they are, read the plans, suggest changes, read the tests, suggest changes. I want a web UI for that, I don't want to be doing all of this in multiple terminal windows.

A key feature that I want is that if a step fails, especially because of adversarial review, the whole PR branch is force pushed back to the previous state. so say #6 fails, #5 is re-invoked with the review information. Or if I come to the system and a PR is at #8, and I don't like the plan, then I make some edits to the plan (#3), the PR is reset to the git commit after the original plan, and the LLM is reinvoked with either my new plan or more likely my edits to the plan, then everything flows through again.

I want to be able to sit down, tend to a bunch of issues, then come back in a couple of hours and see progress.

I have a design for this of course. I haven't implemented it yet.

I am getting really tired of github. outages happen that's a given. but on so much stuff they don't even care or try. Github is becoming the bottleneck in my agentic coding workflows. unless I make Claude do it intelligently, I hit rate limits checking on CI jobs (5000 api requests in an hour). Depot makes their CI so much better, but it is still tied to github in a couple of annoying places.

PRs are a defacto communication and coordination bus between different code review tools, its all a mess.

LLMs make it worse because I'm pushing more code to github than ever before, and it just isn't setup to deal with this type of workload when it is working well.

That's a great idea, and I was just thinking about how it would pair with self hosted CI of some type.

Basically what I would want is write a commit (because I want to commit early and often) then run the lint (and tests) in a sandboxed environment. if they pass, great. if they fail and HERAD has moved ahead of the failing commit, create a "FIXME" branch off the failure. back on main or whatever branch head was pointed at, if tests start passing, you probably never need to revisit the failure.

I want to know about local test failures before I push to remote with full CI.

automatic branching and workflow stuff is optional. the core idea is great.

Buckaroo - the data table viewer for jupyter.

I recently integrated Lazy Polars and running analytics in background processes so I can reliably provide a fast table viewing experience on dataframes that would normally exhaust memory of the jupyter kernel. Analytics are run column by column and results are written to cache, if a column fits into memory individually, summary stats for the entire dataframe can be computed.

Here's a demo video of scrolling through 19M rows, and running background summary stats.

https://www.youtube.com/shorts/x1UnW4Y_tOk

When should you reach for a data catalog via a data warehouse or data lake? If you are choosing a data catalog this is probably obvious to you, if you just happened on this HN post less so.

Also, what key decisions do other data catalogs make via your choices? What led to those decisions and what is the benefit to users?

Blame the obama CAFE regulations that accounted for wheelbase and car volume, giving manufacturers lower fuel economy standards for larger cars. Then the CAFE standards that hold trucks/SUVs to a lower standard.

The economically efficient way to get the fuel economy result would have been to increase gasoline taxes, but that's a non starter politically. Higher gas prices would allow people to choose to keep a cheap gas guzzling truck/car, buy a new more efficient and expensive car, or buy a new slightly more efficient slightly more expensive car. It would have been simpler though and given consumers more choice.

I have been working on Buckaroo - my table display library for dataframes in notebook environments. Buckaroo adds table and analytics features like histograms, summary stats, sorting, and search to every dataframe. Recently I have been working to make it work better with large datasets.

This involves making it lazy for polars, allowing it to read arbitrarily large files no longer requiring loading the entire dataframe into memory. When a large dataframe initially displays, no summary stats will be available. Summary stats are computed in the background in groups of columns. Then results are cached per column. To accomplish this I wrote a polars plugin in rust that computes hashes of columns. Dealing with large data like this is tricky, operations sometimes crash, sometimes take all available memory, and sometimes they just run for a very long time. I have also been building an execution framework for Buckaroo. It uses multiprocessing based timeouts, and the caching to execute summary stats in the background.

Being able to control the execution, recover from timeouts, crashes and memory exhaustion opens up some interesting debugging tools. I have written methods that take arbitrary groups of polars expressions and produce a minimal reproduction test case through a git-bisect like process.

All of this assures that if individual columns of a dataframe fits into memory, summary stats will be computed for the entire dataframe in the background. And because it is cached, the next time you open the same dataframe, the stats will be display instantly. When exploring data I do this in an adhoc way manually (splitting up a dataframe by columns and rows), but it is error prone. This should all be automatic.

I will be presenting this at PyData Boston in December.

The Column's the limit: interactive exploration of larger than memory data sets in a notebook with Polars and Buckaroo

Location: Boston Remote: Yes Willing to relocate: Yes Technologies: Python, Pandas/Numpy, Jupyter, JS/TS and something many devs skip: actually talking to users. Résumé/CV: https://www.linkedin.com/in/paddymullen/ Email: paddy@paddymullen.com I'm a developer who believes code isn't valuable unless it's used. That's why I start with conversations, not commits. I work to understand real problems before reaching for shiny new packages. I build tools that are simple, effective, and easy to adopt. My goal is always to solve the problem and make sure people know there’s a solution. In my next role, I'm looking to work with a team that values clarity and impact. I'm especially interested in data heavy environments where thoughtful tooling can make workflows better. Most recently, I built [Buckaroo](https://github.com/paddymul/buckaroo) an open source data table for Jupyter using Pandas/Polars. It combines fast rendering, summary stats, and a low-code UI. It scratches an itch I've had for over a decade and has already streamlined my own analysis workflow.