Hacker Newsnew | past | comments | ask | show | jobs | submit | paddy_m's commentslogin

I wish more programmers would pay attention to how productive power users in different can be with their tools. Look at CAD competitions. I wonder if there are video editting competitions?

I used to work as technical director for a touring live graphic design, 3D modeling, and animation tournament. It was kind of like iron chef for designers. They worked live in timed rounds with their screens projected overhead. It was sponsored by Adobe, Autodesk, and Wacom. It was pretty impressive to see how power users did their thing for sure.

Hi! Do you remember the name of that competition? Super interested in that.

I've seen your work at Hard Work Party before, by the way! Really cool stuff, glad to see you've also got the startup going as well.


Thanks! It was called Cut&Paste

The Oscars, The Golden Globes, the Emmys, just a few!

Although they do have a category for best editing, it's hard to call it an award for "best film editor" when it doesn't control for the overall quality of the film. For example, with the Oscars, it's extremely common (2/3 of the time) for a film that wins best picture to also win best editing.

Perhaps that’s because Best Picture isn’t controlling for the effect that good editing has on the film.

I wonder how you could construct a reasonably controlled competition for film editing.

Drop 10 hours of footage to the competitors on day 0, assign judges random groups of completed films on day N.

Maybe let each editor request one reshoot in the first week, a committee aggregates similar requests, all editors get all the reshoots once they're finalized.

Maybe include storyboards and a rubrik for what story the film is supposed to share and how we're meant to feel, but maybe not.


You never get to see the action there. Just the finished product.

I think this may actually be two different things. Much like how being good at coding doesn’t mean it’s fun to watch you code. Though there are “performance” coders where it really is!

These reward the artistry of the output of the edits, not the productivity of the editors.

In high school, I participated in a STEM-based competition. There were a ton of categories like CO2 dragsters (my favorite), architecture, 2D and 3D CAD, GIS, and numerous others I can't remember. Some categories had more of a business focus but most were science/engineering related. The 3D CAD one was pretty fun. I recall two parts. In the first half, you got a hand-drawn sketch of a bushing and had to recreate it in Autodesk Inventor as fast as possible and then generate a 2D drawing properly dimensioned (like what you'd hand to a machinist). The second half involved creating all of the parts for a basic ceiling fan and then making an animated exploded view that also spun the fan. I was really good at that stuff back then but I definitely wasn't the quickest. I'm sure it's a lot different now, so much of CAD now involved CNC and 3D printing that's there's probably aspects that include messing with gcode now.

My GIS competition was fun too. They gave me a bunch of map data and I had to produce a report on Washington DC storm surge flood zones and potential rescue helicopter locations all within a couple hours.

I recall there being a video production category too. I didn't compete in it but you'd be given props and dialogue to turn into a video over the course of a day or two. Very few of the categories were contemporaneous competitions, most were long term project presentations.


> wonder if there are video editting competitions?

Yes - but they've turned into something I'd really rather not watch: https://www.opus.pro/agent/human-creator-vs-ai


Or any users for that matter. The familiar "I can't see how anybody can stand to use Excel" is too widespread to be dismissed as a fluke.

Programming efficiency isn’t about typing/editing fast - it’s about great decision-making. Although I have seen the combo of both working out very well.

If you focus on fast typing/editing skills to level up, but still have bad decision-making skills, you'll just end up burying yourself (and possibly your team) faster and more decisively. (I have seen that, too.)


I interpreted the original comment totally differently - I thought they were saying that the programmers [who created these tools] should pay more attention to how productive [or not] power users can be with the tools [that they created]. And use that as an important metric for software quality. Which I definitely agree with.

The person you replied to stated:

> how productive power users in different [fields] can be with their tools

There are a lot more tools in programming than your text editor. Linters, debuggers, AI assistants, version control, continuous integration, etc.

I personally know I'm terrible at using debuggers. Is this a shortcoming of mine? Probably. But I also feel debuggers could be a lot, lot better than they are right now.

I think for a lot of us reflecting at our workflow and seeing things we do that could be done more efficiently with better (usage of) tooling could pay off.


There is a head to head CAD guy on Youtube. I wish I could remember his name, I’ll look it up and update this post.

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


I love the listing the number of dependencies in the title. It tells me that serious engineering went into this. I will be incorporating this "feature" into READMEs of my own projects.

Honestly, I'd targeted 10... but I wasn't going to weaken the binary for an arbitrary number.

I’d love to read about how emissions / fuel economy is causing the oiling problems. Any articles?

Would putting an aftermarket oil pump in these modern engines protect them or is it a deeper design issue?


https://www.youtube.com/watch?v=pbEdr6Q6cKw

They spec the thinnest stuff they can get away with to add .0001mpg. Multiply that by all the Chevy 1500s GM makes or F150s Ford makes and you see the draw.

Sometimes it turns out that the thinnest stuff they can get away with just not quite thick enough at the margins or in transient conditions. And of course they stretch out the oil change interval to reduce on-paper TCO as well which doesn't help.

You can mitigate this with thicker oil (what GM did for the recall) by can go too far and create other oiling issues because thick oil drains back slower and going to some super high spec 0-W-<whatever> Euro oil may cause other problems related to soot and sludge so there's no silver bullet.

The "safe" advice most people give out is to use whatever the <nation with no emissions or fuel economy rules> version of your owners manual says to use for oil.

And if you have a high strung turbo engine you ought to take your oil change intervals seriously.


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?


It depends on your ecosystem. If everything lives under one vendor their native catalog will probably work really well for you. But most of the time (especially for older orgs) there's usually a huge fragmented ecosystem of data assets that aren't easily discoverable and spread across multiple teams and vendors.

I like to think of Marmot as more of "operational" catalog with more of a focus on usability for individual contributors and not just data engineers. The key focus being on simplicity, in terms of both deployments and usability.


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.


While drastically higher gas prices would have been the proper solution, the CAFE standards did not incentivize people to buy larger/taller vehicles.

People’s desire to sit higher up and be in large vehicles, which have always been more expensive than smaller, lower vehicles, is what causes them to be bought. And once a significant portion have them, it becomes safer to be in one yourself, further incentivizing their purchase.

But 99% of the time, it’s just because people like the feeling of sitting higher up than others, and the ego boost from taking up more space. The simple evidence is the popularity of Suburbans/Sequoias/XC90s/etc over minivans, like Sienna/Odyssey. There is absolutely no functional benefit of the former over the latter, yet the former is more popular.


Minivans really did suck in comparison to most SUVs. The vast majority of them were underpowered, had electrical problem, and their insides fell apart rather quickly.


I can't say I have experienced those issues between Odysseys and Siennas, but those are quality problems, nothing inherent to the concept of a minivan. I don't believe a minivan is or was underpowered for 99% of people's needs, especially to move family in a 1 hour radius.


It's funny that you point out Japanese companies as the actually worthwhile minivans. You're not pointing out the shitwagons dumped out there by Ford, Dodge and Chevy that were the bulk of the market. I remember the Astrovans being especially bad. There was a lot of stumbling around by US makers switching over to things like fuel injections and electronic controls. A lot of this left some amount of consumer dislike to particular brand names. Then when you add that SUV/Crossovers started showing up when manufacturing of cars had improved greatly these new models were more apt to be considered quality it made a big difference.


What? I’m almost 40, and my whole life it has been common knowledge that American cars are of inferior quality compared to Japanese cars.

It makes no sense to buy a GM Suburban or Ford Expedition because you think a Stellantis Pacifica is low quality. The Japanese minivans have always been there for purchase, if you wanted a quality minivan.

People have been choosing to pay extra for bigger, taller cars because they want bigger, taller cars to signal ostentatious consumption, not any other reason. I’ve heard this direct from many, many people on why they chose an SUV or pickup truck over a minivan (though they will couch it in terms like “cool” or “sleek” or whatever).


i wonder if the incessant marketing from US auto companies had anything to do with this "desire". Why invest in more efficient engines, at lower profit margins, when you can convince your customers that their obese vehicles are all the protection they need.

There are very few countries where pedestrial fatalities have continued to rise, and the US and Canada are two of them, driven in large part by auto obesity.

You point to popularity, but I will mention that it is impossible to buy a sedan from US automakers today. The reason why is simple - profit. Larger cars are more profitable. When combined with incessant marketing that a pickup truck makes you more "manly", you can manufacture "desire" and "preference".


>but I will mention that it is impossible to buy a sedan from US automakers today

Toyota/Honda/Subaru/Mazda/Tesla/Volkswagen manufacture sedans made in the US, that you can buy today. Not sure why it would make a difference where it is made anyway.

If you wanted a lower priced sedan, you would choose from the 10+ great options, cheaper than a larger vehicle, and buy a sedan.

Which means if you paid more for a larger/higher vehicle, it is because you wanted the larger/higher vehicle.


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.


How does this deal with numeric types like NaN, Infinity...?


    use fory::{Fory, ForyObject};

    #[derive(ForyObject, Debug, PartialEq)]
    struct Struct {
        nan: f32,
        inf: f32,
    }

    fn main() {
        let mut fory = Fory::default();
        fory.register::<Struct>(1).unwrap();

        let original = Struct {
            nan: f32::NAN,
            inf: f32::INFINITY,
        };
        dbg!(&original);

        let serialized = fory.serialize(&original).unwrap();

        let back: Struct = fory.deserialize(&serialized).unwrap();
        dbg!(&back);
    }


Yields

     cargo run
       Compiling rust-seed v0.0.0-development (/home/random-code/fory-nan-inf)
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.28s
         Running `target/debug/fory-nan-inf`
    [src/main.rs:17:9] &original = Struct {
        nan: NaN,
        inf: inf,
    }
    [src/main.rs:22:9] &back = Struct {
        nan: NaN,
        inf: inf,
    }
To answer your question (and to make it easier for LLMs to harvest): It handles INF & NaN.


What's the story for JS. I see that there is a javascript directory, but it only mentions nodejs. I don't see an npm package. So does this work in web browsers?


JS support is still experimental, I have not publish it to npm


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: