Just Data Animations

Just Data Animations

February 28, 2026

Tl;DR

Time to put all those animations together.

Intro

This is going to be a Python master class.

Or a sneek into the future on how cheaper information will be.

F1

#git clone

Kart On Boards

Uploading you action cam session is nice.

Specially when you use ffmpeg to join parts and ship fast.

But you can also create overlay HUDs with data from GoPro GPS and accelerometer

#git clone

No need to overcomplicate it with PhyPhox as your action cam already detects 3 axis acceleration for estabilization purposes.

You just wont get real time speeds to get the track references right.

Karts x Optimal Track Models

From the tinkering around karting sessions, where I extracted GoPro GPS telemtry and play with it

This has been the most practical model among the ones I tried:

Real Estate

This is a snapshot in time of real estate situation in France:

#git clone

When we see something, we form a mental model of why things are the way they are.

Asking questions is important.

Because inside the questions we have implicit hypothesis, not only in the answers.

So: which explanation do we give to the rising housing prices ($/m2)?

Before that, lets look how housing prices are changing per region and time.

Because real estate…kind of relates with population…

graph TD
    subgraph Input_Files
        CSV["Censuses2011_2.csv (Census Data)"]
        SHP_P["Municipios ETRS89 (Peninsula)"]
        SHP_C["Municipios REGCAN95 (Canary Islands)"]
    end

    subgraph Processing_Logic
        EXT_CSV["Extract 5-digit INE Code from Name"]
        EXT_SHP["Extract 5-digit INE Code from NATCODE"]
        CRS["Align CRS (EPSG:4326) & Shift Canarias"]
        JOIN["PD Merge (Join on Code)"]
    end

    subgraph Visualization
        MAP["GeoPandas Plot (Magma Map)"]
    end

    CSV --> EXT_CSV
    SHP_P --> EXT_SHP
    SHP_C --> EXT_SHP
    
    EXT_CSV --> JOIN
    EXT_SHP --> CRS
    CRS --> JOIN
    
    JOIN --> MAP
    MAP --> PNG["high_res_census_map.png"]

right?

cd dk && uv run animate_dk_pop.py
uv run animate_dk_pop_delta.py

Maybe other factors like: ease of credit have sth to do?

Specially for those booms?

Just asking: bring your own theory of how the world works here

Geospatial

nuts2 arcgis

https://www.arcgis.com/home/item.html?id=48f0d1a2006c4e89a85712a618fcff89

Financial Data x YFinance

Because its too simple and too cool to make such graphs.

Plus you can get some insights in between the noise: does it really matter when you start doing sth?

#git clone DataInMotion

Or is it just about getting started?

In case you thought the volatility was because of ~2010

Let me show you that is just because of beginnings being inherently volatile:

Again: do we have to just get started?

uv run tests/plot_year_end_close_cagr_to_date_animated_rolling_start.py ^GSPC ^DJI ^IXIC ^N225 ^GDAXI ^FTSE --start 2005-01-01 \
  --num-years 20 --duration-per-year 3 --fps 30 --brand "@UnfoldingData" --preset twitter_hd

  uv run tests/plot_year_end_close_cagr_to_date_table.py ^GSPC ^DJI ^IXIC --start 2010-01-01 --out tests/cagr_stats_test.png
flowchart LR
    %% Styles
    classDef state fill:#E3F2FD,stroke:#1565C0,stroke-width:2px,color:#0D47A1;
    classDef start fill:#43A047,stroke:#1B5E20,stroke-width:2px,color:white;

    %% Nodes
    Start((Start)):::start --> More
    More(Doing MORE):::state
    Better(Doing BETTER):::state
    Newer(Doing NEWER):::state

    %% Internal Feedback Loops (The Grind)
    More -- "Scale Up" --> More
    Better -- "Refine" --> Better
    Newer -- "Test" --> Newer

    %% The Progression Journey
    More -- "Capacity Hit" --> Better
    Better -- "Optimized" --> Newer
    
    %% The Upward Spiral
    Newer -- "New Baseline" --> More

If you are finding excuses not to get started with what you always wanted to do, maybe its time to change that

  1. GWeiss

  2. Nominal CAGR vs Real CAGR vs in EUR vs in GOLD

https://youtu.be/ctfGunPZwJ4

What else does gold have to say?

  1. RSP vs SP500

  2. Prices are a reflection of future cashflows corrected by….these:

=GOOGLEFINANCE("INDEXCBOE:TYX")/1000
=GOOGLEFINANCE("INDEXCBOE:TNX";"price")/1000
=GOOGLEFINANCE("INDEXCBOE:IRX")/1000
  1. Whats going on with software? IGV tells us

  2. There are some interesting indexes: ^VIX, ^Move

As someone said: you dont understand stock market if you dont understand first the bonds

  1. How about other commodities like CL.F oil?

Physics

How about…3 bodies?

git clone https://github.com/JAlcocerT/ThreeBodies/
#cd ThePoincareLab #for the cool webapp
./renderer_env/bin/python3 generate_animation.py --vel 0.2 -0.2 0.2 0.2 -0.3 0.0 --duration 300.0 --output simulation3.mp4

Initially, I thought about creating a separated repo.

But what for, if it can be a sub-folder and use one of the latest ways to do cool UIs I have got to know:

Mechanism

Gabe’s mechanism project was an inspiriration to me to come back at some point to mechanical engineering with python:

#git clone https://github.com/JAlcocerT/Slider-Crank
git clone https://github.com/JAlcocerT/mechanism #this is my fork of his original project

Synthesis is a thing…

https://youtube.com/shorts/9b19b7SmovU

https://youtube.com/shorts/ipi437M6g5A

https://youtube.com/shorts/r8G3XRBn24s?is=sDOxquD4fxU6yKns

From 3 bodies you can jump to the 4 bar mechanism quite easily:

In fact, for cinematics…you just need geometry and time.

Forget about forces at least for now

The sympy and https://github.com/KmolYuan/Pyslvs-UI will be for another post :)


Conclusions

Roo code extension has been interesting to use together with OpenAI API.

So…What if I told you that all this is very cheap to do nowadays?

It is if you have the right knowledge: part of today’s know-how are prompts

Or in other words, how good are you at making questions.

Questions like the ones you can have solved:

About Gitlab

I have created all this consolidation in Gitlab.

Mainly bc I wanted to save the French DVF data somwhere and Github just allows for 100mb files.

But as I formatted recently, I needed to do the Gitlab Setup again: all powered by sha256 under the hood!

ssh-keygen -t ed25519 -C "your_email@example.com"
#ssh -T git@gitlab.com #Preferences -> SSH Keys -> Paste public key -> you are in!
sudo apt install glab # For Debian/Ubuntu
glab auth login
glab repo create my-awesome-project --public
#git push --set-upstream git@gitlab.com:fossengineer/unfolding-data.git main

See how to do so with this file

ProtocolHashing (SHA-256)Actual Encryption
PurposeVerification & IntegrityPrivacy & Secrecy
SSHFingerprints & MACsAES, ChaCha20
HTTPSCertificates & HandshakesAES

When doing some scripts, lately I have tried Roo Code extension and Zed: https://zed.dev/pricing


FAQ

GPSBabel: convert, manipulate, and transfer data from GPS programs or GPS receivers. Open Source and supported on MacOS, Windows, Linux, and more. Pointy clicky GUI or a command line version…

PhyPhox