Nael Shiab's Avatar

Nael Shiab

@naelshiab.bsky.social

Senior data producer, CBC/Radio-Canada. Behind https://github.com/nshiab/simple-data-analysis and https://code-like-a-journalist.com/. More on https://naelshiab.com/.

5,944 Followers  |  372 Following  |  176 Posts  |  Joined: 01.11.2023  |  2.1983

Latest posts by naelshiab.bsky.social on Bluesky

Preview
An in-process SQL OLAP database management system DuckDB is an in-process SQL OLAP database management system. Simple, feature-rich, fast & open source.

P.S.: I still think Python and R are incredible programming languages with amazing libraries and packages, like pandas and the tidyverse.

The great thing is that you can also use DuckDB with them!
duckdb.org

4/4 🧡

13.11.2025 17:56 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - nshiab/simple-data-analysis: Easy-to-use and high-performance TypeScript library for data analysis. Works with tabular, geospatial and vector data. Easy-to-use and high-performance TypeScript library for data analysis. Works with tabular, geospatial and vector data. - nshiab/simple-data-analysis

Under the hood, the simple-data-analysis library uses the incredibly fast @duckdb.org and its extensions. If you want to check it out, here's the repo: github.com/nshiab/simpl...

And if you want to make my day, test it and, if you enjoy it, give it a ⭐!

3/4 🧡

13.11.2025 17:56 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

For geospatial data, it's 3x-5x faster to join and count the trees in each Montreal neighbourhood.

I started working on the library 3 years ago. I was tired of switching between R/Python/JavaScript in my projects and wanted to keep it to TypeScript from A to Z. πŸ€“

2/4 🧡

13.11.2025 17:55 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

So happy to see how fast the TypeScript library simple-data-analysis has become for tabular and geospatial data! 🀩

It's now processing data 6x-12x faster than traditional R and Python solutions in my little test in which I crunched a 1.7 GB CSV file.

1/4 🧡

13.11.2025 17:55 β€” πŸ‘ 8    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0

Interesting! I'll have a look. Thanks! :)

07.11.2025 21:28 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Hey @threlte.xyz ! πŸ‘‹ I was wondering if you knew a good way to record animations made with the amazing Threlte library as videos. Thank you for all of your amazing work!

07.11.2025 21:07 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Thanks for the mention in your newsletter, @observablehq.com!

23.09.2025 15:30 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Happy to see @nodejs.org! But it would be wonderful to add @deno.land as well! πŸ¦†

12.09.2025 17:53 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Recoding parts of my TypeScript libraries using generics and function overloads. It's beautiful. πŸ₯Ή

08.09.2025 16:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
How Canada’s imports and exports have changed since Trump | CBC News CBC News tracks how trade between Canada and other countries has changed since Donald Trump came back to power.

Here's the link.
newsinteractives.cbc.ca/features/202...

04.09.2025 14:27 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

We have just updated our international trade tracker with the latest numbers from July. See all imports and exports broken down by country, province, and product!

Link below!

04.09.2025 14:27 β€” πŸ‘ 7    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0
Math for journalists This interactive notebook aims to help journalists understand math concepts often used in news stories. Questions? Comments? Reach out: nael.shiab@cbc.ca. Thank you to Arthur Charpentier, professor in...

Here's the link.
observablehq.com/@nshiab/math...

02.09.2025 14:57 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

My most popular interactive @observablehq.com notebook, Math for Journalists, just got a fresh update! πŸ§‘β€πŸŽ“

πŸ‘‰ Sample size and confidence: I explain how sample sizes work, like in a survey.
πŸ‘‰ Tests for statistical significance: I break down what "statistically significant" means.

Link in comments! πŸ‘‡

02.09.2025 14:57 β€” πŸ‘ 22    πŸ” 4    πŸ’¬ 2    πŸ“Œ 1

What an amazing dataset!

20.08.2025 12:47 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
How Canada’s imports and exports have changed since Trump | CBC News CBC News tracks how trade between Canada and other countries has changed since Donald Trump came back to power.

Here's the link.
newsinteractives.cbc.ca/features/202...

20.08.2025 12:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Post image Post image

New project is live! We're now tracking all products coming in and out of Canada πŸ‡¨πŸ‡¦. See how international trade is rapidly shifting, with breakdowns by country, province, and product πŸš—πŸ₯¦πŸ›’️.

Link in the comments! πŸ‘‡

20.08.2025 12:46 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 1    πŸ“Œ 1
Preview
Spatial Joins in DuckDB DuckDB v1.3.0 significantly improved the scalability of geospatial joins with a dedicated SPATIAL_JOIN operator.

Amazing work by @maxxen.bsky.social and the @duckdb.org team. I've been using the spatial extension for a while now for my geospatial analyses, and it's wonderful to see it getting better and faster.

duckdb.org/2025/08/08/s...

19.08.2025 13:32 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Will you be the 300th person to fall in love with this amazing library? 😏

09.07.2025 17:32 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1
Post image

I asked Gemini-CLI to fix mistakes and add examples to the documentation of the open-source library journalism. It updated 58 files and did a pretty good job in half an hour. I used the free tier, but the @simonwillison.net LLM pricing calculator estimated the cost at $6 USD! Very impressed. 😢

02.07.2025 18:40 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Very interesting. Thanks @jensvb.bsky.social !

02.07.2025 18:36 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Last week, we published our interactive project on climate matches. I published my detailed methodology on how we wrangled the data. Here's the link, with a shout-out to @freakonometrics.bsky.social who helped me with the statistical approach! πŸ§‘β€πŸ«

πŸ‘‡
newsinteractives.cbc.ca/features/202...

02.07.2025 13:55 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image 02.07.2025 00:34 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Codez comme un journaliste Un cours gratuit sur l'analyse et la visualisation de donnΓ©es avec TypeScript par le journaliste computationnel Nael Shiab.

Maybe www.code-like-a-journalist.com will be of interest for you. :)

28.06.2025 02:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Coded in Svelte! Maps done with Observable plot!

27.06.2025 19:18 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Preview
See what summer in your city could feel like by the end of the century | CBC News Compare your city's future summers to today's climate in other North American communities.

Here's the link. newsinteractives.cbc.ca/features/202...

26.06.2025 13:21 β€” πŸ‘ 4    πŸ” 3    πŸ’¬ 2    πŸ“Œ 1
Video thumbnail

New project! I've always felt climate projections were a bit too abstract. To make them more concrete, I identified North American cities that already experience the projected temperature and precipitation of Canadian cities. And the result is... 😳

Link in the comments! πŸ‘‡

#dataviz #climate

26.06.2025 13:21 β€” πŸ‘ 18    πŸ” 6    πŸ’¬ 2    πŸ“Œ 0
Video thumbnail

Over 100 heat records could be broken today in Ontario and Quebec. 🫠

23.06.2025 12:38 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

So nice of you! Feel free to ping me if you are stuck on anything! :)

16.06.2025 13:05 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Thank you @datawrapper.de for mentioning our Climate Dashboard! 🀩

11.06.2025 13:27 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Terrible air quality in Alberta and Saskatchewan right now. 😷

10.06.2025 17:17 β€” πŸ‘ 3    πŸ” 2    πŸ’¬ 0    πŸ“Œ 3

@naelshiab is following 20 prominent accounts