mastodon.xyz is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Mastodon instance, open to everyone, but mainly English and French speaking.

Administered by:

Server stats:

741
active users

#datastructure

0 posts0 participants0 posts today

Understanding and debugging Data Structures is easier when you can see the structure of your data using memory_graph: github.com/bterwijn/memory_gra

In this example we show values being inserted in a Binary Tree. When inserting the last value '29' we "Step Into" the code to show the recursive implementation: shorturl.at/bx848

🎥 See the Quick Intro video for the VS Code integration: youtu.be/23_bHcr7hqo

Continued thread

Reflecting some more on the Sketchpad & ECS parts of this talk: SideFX Houdini organizes all geometry data in similar vertical silos of points, vertices, edges, faces, prims, each with component IDs, each with its own group of native and user-defined attribs, and with similar powerful "omniscient" visibility/access from anywhere. That structure makes VEX SOPs akin to "systems" in an ECS setup and the handling/scripting itself very fun & powerful. The GUI also provides spreadsheet views of the geometry (again similar to e.g. what FLECS provides for debugging). Considering the age of Houdini, I think this approach is notable...

Blender's BMesh Radial Mesh implementation[1] is more traditional OOP structured, but the core idea of "discs" (aka bi-directional circular lists) of pointers to vertices & edges now seems somewhat relevant to some Sketchpad ideas too. Also a reminder that I really need to find/make time to update & release my own mesh implementation (from 2018) combining ideas from both Houdini & BMesh... It's already been a year (again) since I last talked about & touched it... 😱

[1] developer.blender.org/docs/fea

developer.blender.orgBMesh - Blender Developer Documentation

gganimate is a powerful extension for ggplot2 that transforms static visualizations into dynamic animations. By adding a time dimension, it allows you to illustrate trends, changes, and patterns in your data more effectively.

The attached animated visualization, which I created with gganimate, showcases a ranked bar chart of the top 3 countries for each year based on inflation since 1980.

More information: statisticsglobe.com/online-cou

#ReleaseMonday — One of the recent (already very useful!) new package additions to #ThingUmbrella is:

thi.ng/leaky-bucket

Leaky buckets are commonly used in communication networks for rate limiting, traffic shaping and bandwidth control, but are equally useful in other domains requiring similar constraints.

A Leaky Bucket is a managed counter with an enforced maximum value (i.e. bucket capacity). The counter is incremented for each a new event to check if it can/should be processed. If the bucket capacity has already been reached, the bucket will report an overflow, which we can then handle accordingly (e.g. by dropping or queuing events). The bucket also has a configurable time interval at which the counter is decreasing (aka the "leaking" behavior) until it reaches zero again (i.e. until the bucket is empty). Altogether, this setup can be utilized to ensure both an average rate, whilst also supporting temporary bursting in a controlled fashion...

Related, I've also updated/simplified the rate limiter interceptor in thi.ng/server to utilize this new package...

thi.ng/leaky-bucketConfigurable, counter-based Leaky Bucket abstractions

I used to think that writing sophisticated R code meant using all the advanced features and chaining long functions together...

Fancy code can be fun, but clean code makes collaboration and debugging so much easier.

Stay informed on data science by joining my free newsletter. Check out this link for more details: eepurl.com/gH6myT

eepurl.comStatistics GlobeStatistics Globe Email Forms

Is there a data structure that can sensibly handle multiple hierarchical classification systems?

e.g. an Orange, in terms of phylogeny is
Plantae->Eudicot->...->Citrus->sinensis

and in terms of usefulness, is
Thing->Food->fruit->orange
(and it could have multiple parents in this taxonomy, e.g. cleaning product)

Bonus points for cool visualisations of this kind information.

Bring your visualizations to life with see, a dynamic R package from the easystats ecosystem that extends ggplot2 to create modern and intuitive graphics. Whether you're visualizing statistical models or exploring data, see simplifies the process and enhances the presentation of your insights.

Visualizations: github.com/easystats/see

Take a look here for more details: statisticsglobe.com/online-cou

Folium is a powerful Python library that lets you create stunning interactive maps using Leaflet.js. It's a fantastic tool for visualizing geographic data in a dynamic way.

With Folium, you can transform your data into beautiful maps with minimal effort, making it perfect for data analysts, geographers, and anyone interested in geographic visualizations.

More details are available at this link: eepurl.com/gH6myT

Zed Decoded: Rope & SumTree - by Zed Industries

zed.dev/blog/zed-decoded-rope-

Absolutely fascinating deep-dive into the core data structures the folks at Zed Industries use for their #Zed #editor!

"Currently there are over 20 uses of the SumTree in Zed. [...] The list of files in a project is a SumTree. The information returned by git blame is stored in a SumTree. Messages in the chat channel: SumTree. Diagnostics: SumTree."

Oh, how I love this! ✨

zed.devRope & SumTree - Zed BlogFrom the Zed Blog: In this episode of Zed Decoded, Thorsten asks the founders — Nathan, Max, Antonio — about the data structures at the heart of Zed: Rope and SumTree.