MathAnimation
polars
MathAnimation | polars | |
---|---|---|
4 | 144 | |
953 | 26,514 | |
- | 3.9% | |
4.1 | 10.0 | |
about 1 month ago | 4 days ago | |
C++ | Rust | |
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
MathAnimation
-
Ask HN: Tell us about your project that's not done yet but you want feedback on
https://github.com/ambrosiogabe/MathAnimation
If you’ve ever tried to make a mathematical animation (think 3Blue1Brown), it’s a real pain. I was using manim for awhile to make animations for my YT channel, but the whole iteration process felt very slow and repetitive. So I thought I would recreate manim over the weekend, except with a GUI and real-time feedback. It’s been a year and a half and I’m hoping this weekend will be done soon so I can move on and start making videos again.
So far, it does a lot, but it still needs a lot of polish and refinement. The readme gives some gifs and a better idea of the feature set right now.
-
The Worst API Ever Made
Win32 definitely has some stinkers. But, video encoding APIs definitely take the cake for me. I've only tried a couple of FFmpeg's APIs and AV1's API, but my God, these are the worst API's I've ever had to deal with.
Just as an example, all I wanted was an API like this[0] for FFmpeg. In order to implement that API (which in my opinion is reasonable), I had to write this monstrosity[1]. It took me a solid week to find an example of how to do this, then another few days of fiddling until I finally just barely got something working. Then I threw in the towel even though the performance was horrible. I tried again a year later and spent another month wrestling with AV1 :/
The amount of leakage going on in these APIs is absolutely insane. I shouldn't have to know the intimate details of how video encoding works to use your library. If I do, then I may as well write my own encoder at that point.
[0]: https://github.com/ambrosiogabe/MathAnimation/blob/18c004bca...
[1]: https://github.com/ambrosiogabe/MathAnimation/blob/18c004bca...
-
Show HN: Mafs – React components for interactive math
I just so happen to be working on a real-time Gui first replacement for manim :)
It still has a ways to go, but I was able to create one video with it so far and I'm working on all the pain points I ran into while using it. Feel free to check it out if you're interested!
https://github.com/ambrosiogabe/MathAnimation
-
Ask HN: Who is using C++ as the main language for new project?
I'm using C++ for a minecraft clone that I've been tinkering on for the past year[0]. I also plan on using embedded lua for scripting, and I'm using RML UI for game HUDs, ImGui for development tools, and OpenGL for graphics. I use premake for my build system but plan on switching to CMake.
I'm also using it for an animation tool[1]. I've been using 3Blue1Brown's Manim (written in Python) which is amazing, but it lacks real-time editing and proper 3D blending. It also lacks audio synchronization, 3D texture support, and some more complex features that I'd like to add :)
[0]: https://youtu.be/UAUdIQZKV88
[1]: https://github.com/ambrosiogabe/MathAnimation
polars
-
Why Python's Integer Division Floors (2010)
This is because 0.1 is in actuality the floating point value value 0.1000000000000000055511151231257827021181583404541015625, and thus 1 divided by it is ever so slightly smaller than 10. Nevertheless, fpround(1 / fpround(1 / 10)) = 10 exactly.
I found out about this recently because in Polars I defined a // b for floats to be (a / b).floor(), which does return 10 for this computation. Since Python's correctly-rounded division is rather expensive, I chose to stick to this (more context: https://github.com/pola-rs/polars/issues/14596#issuecomment-...).
-
Polars
https://github.com/pola-rs/polars/releases/tag/py-0.19.0
-
Stuff I Learned during Hanukkah of Data 2023
That turned out to be related to pola-rs/polars#11912, and this linked comment provided a deceptively simple solution - use PARSE_DECLTYPES when creating the connection:
- Polars 0.20 Released
- Segunda linguagem
- Polars: Dataframes powered by a multithreaded query engine, written in Rust
- Summing columns in remote Parquet files using DuckDB
- Polars 0.34 is released. (A query engine focussing on DataFrame front ends)
What are some alternatives?
k8deployer - An experimental deployer for kubernetes apps for developers who are too lazy (or busy) to learn Helm.
vaex - Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second 🚀
wisewriterv3 - From an input, creates a full book, with cover art and sells it on Amazon. Using OpenAI for content, Midjourney for covers, and puppeteer for product input.
modin - Modin: Scale your Pandas workflows by changing a single line of code
israpdead_react - wip react rebuild of israpisdead. v1 is live now
datafusion - Apache DataFusion SQL Query Engine
shelby_as_a_service - Production-ready LLM Agents. Just add API keys
DataFrames.jl - In-memory tabular data in Julia
LoopModels - "Full speed or nothing." - James Hetfield
datatable - A Python package for manipulating 2-dimensional tabular data structures
slint - Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
Apache Arrow - Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing