Hello and warm greetings to my fellow news mega enjoyers and to the wider hexbear, lemmygrad and lemmy.ml community,
I’ve been finding myself browsing the newsmega often and was often thinking of a way that would help me contextualize the discussions and news that I’m reading. I remembered an atlas I had in school that would show the location of industries and natural ressources (and more) and decided try to recreate a digital version similar to https://atlas.cid.harvard.edu/. When I stumbled upon lemmy-js-client I found a fun way to display lemmy comments geographically, which I would like to share with you:
https://hex-atlas.netlify.app/
⚠️ Spoiler Tags are not implemented thus CWs are not hidden
Nexus Features:
- @[email protected] Bulletins
- Hexbear Reading List (Thank you @[email protected] for the suggestions)
- ProleWiki (Thank you Lemmygrad for maintaining this)
- Wikipedia/Natopedia
- Anarchist Library
I’m open for suggestions, but would like to continuously add new features:
- Mastodon.social (well documented)
- Marxists.org (will be difficult)
Moon of Alabama (looks easy)(Thank you @[email protected] for pointing out the transphobia)- Usability and performance improvements
- and maybe more cool features where the guiding ideas are: “IRL Victoria 3 UI” and a “cockpit for newsmega-enjoyers” (e.g. comparing regions and seeing commodity/capital flows, real-time 1% flight data, vessel data - to enjoy the ansar allah blockade, virgin chad ranking, etc.)
Basic usage:
-
You can either search for a place or click on it. You’ll see various scopes: provinces/territories, countries, intermediate regions, sub regions, continent. You can click also on these to change the scope. What it actually does is send it as a search query into lemmy and you see the search results to it (I built a fancy search page). IN the Fediverse Tab you can select the instances, sort types, and other settings from lemmy. On the Nexus Tab you have a similar behaviour, just for the various modules. You’ll see the wiki of whatever is selected on the map :
-
use query to search location by query e. g. brics and find discussions pertaining to the selected location.
-
the query field can also be used to find and filter content by communities that are not listed
-
on Mobile long press pictures to unblur it (not fully tested) on desktop hover with mouse
tldr: Attention [Pink]: Select an option [Purple] to reveal selected information [Yellow].
It’s in a prototype stage so please keep in mind:
-
⚠️ Spoiler Tags are not implemented thus CWs are not hidden ⚠️
-
It’s mostly optimized for desktops. Sry comrades with old hardware - no optimization, yet :( @[email protected] post inspired me to look into this tho.
-
Provinces/Territories: While I was doing manual edits to some regions I realized I’m doing something very political (duh). Following this, I’m looking for solutions to implement user defined regions (if there’s interest from you) e.g. #fromTheRiverToTheSea #brics #udssr #whatever Comrade @[email protected] offered help, but I have only experience with front-end and am not sure how and what to propose. All my ideas are leveraging the current state of development and might be annoying to you. If you have experience, suggestions, etc. on how to make this work, feel free to start a discussion, reach out, etc.
-
Provinces/Territories: If you want something particularly aggravating changed asap, feel free to start a discussion and vOtE! I’ll update manually.
-
Countries that span two continents are only displayed as belonging to one e.g. Russia - Europe (Dataset used: https://github.com/lukes/ISO-3166-Countries-with-Regional-Codes)
-
Right now this project is exclusive to hexbear, lemmygrad, lemmy.ml and their federated instances. I have an inner conflict: Generally, fuck intellectual property and I would like to make it foss, but this would make it available for lib/chud content as well. Should I? Help me resolve this.
-
No login implemented
Please consider this a tribute to this community, which I’ve been lurking and a member since the r/CTH days (nevar forget). I started web development not too long ago and am deeply inspired by dev titans among others:
Thank you and the mods and admins for making hexbear/lemmy what it is today.
Enjoy your weekend :)
(After I post this I will leave the computer for a while and wont be able to really check and respond for a few hours)
Death to fascism
Death to capitalism
Death to imperialism
Trans rights are human rights
EDIT: After some consideration I decided to make the code public under the GNU AFFERO GENERAL PUBLIC LICENSE ( AGPL-3.0 license )
sorry for the semi-late response, been a little distracted over the last few days, but:
holy shit
I am a huge fan of your bulletins! If you’re interested we can make them even integrate even better (e.g. the reading list, or if some countries are not showing).
Thank you for doing the bulletin posts!
Yeah.
Moon of Alabama (looks easy)
I became a lot less enamoured with Moon of Alabama after they published a their latest transphobic screed.
Thank you for bringing this to my attention. It won’t be implemented.
Moon of Alabama has always been trash; people just couldn’t see it up until relatively recently.
Maybe I’m really dumb but… how do I use this
click on a place, and stuff related to it will pop up on the sidebar. If you want to know about the West Bank from an anarchist perspective, click on the west bank, click on “Nexus”, then click on “anarchist library”.
Thank you @[email protected]!
To elaborate some more: You can either search for a place or click on it. You’ll see various scopes: provinces/territories, countries, intermediate regions, sub regions, continent. You can click also on these to change the scope. What it actually does is send it as a search query into lemmy and you see the search results to it (I built a fancy search page). IN the Fediverse Tab you can select the instances, sort types, and other settings from lemmy. On the Nexus Tab you have a similar behaviour, just for the various modules. You’ll see the wiki of whatevery is selected on the map :)
tldr: Attention [Pink]: Select an option [Purple] to reveal selected information [Yellow].
This is awesome! Thank you so much! You said there’s no git repo (I am in favor of Open Sourcing such a neat project tbqh) so I guess I can only report a bug here:
On reloading the page, if you go east to look at the Americas you will find that no countries in the Americas will be selectable; in addition to the pacific islands I tested (like Kiribati), but if you travel west from the starting position to see the Americas then you will be able to select Americas Countries; but you still can’t select Kiribati. I know this is an edge case and solvable on the user end by just not doing that (and also not investigating Pacific Island nations west of Hawaii) but I figured I’d mention it if you didn’t already have that down.
This is because the map tiles repeat infinitely, but the clickable layer doesn’t. Unfortunately I haven’t found a good solution to this yet :(
I am in favor of Open Sourcing such a neat project tbqh
Yeah I tend toward that too. Once I stall with development or know I won’t be able to continue I will anyway at the latest and will make a post.
Maybe you can tie this to ProleWiki?
Idk.
It is already. Click on the Nexus tab, select prolewiki and click on any country
NOICE
Very cool, as an GIS dev I like what u did here.
I personally dont like the overview map, i dont think thats really needed and if, than maybe smaller and without any labels (u can use positron from CartoDB for that or just an generalise line layer for coastlines and countries) and down to the left of the screen. Also the generalisation of the polygon layer has some effects that I dont like at Zoom level about 7-1, maybe just make them clickable but invisible at this zoom.
I dont like the topo tile map as default, i would use Esri standard or openstreetmaps or Positron with labels, it is less overwhelming.
And a Idea that I think is really cool would be a point layer with pins of places that someone recently wrote something about on hexbear or lemygrad, maybe the last 24h. That way we would see at the first sight where is something big going on.
Hope that what I wrote was helpful. Thank u for ur great work.
I didn’t know GIS development is a thing and I will have to look a lot more into it. Looks like I’ve been reinventing the wheel. It’s the first time I worked with maps and was just screwing around 😅
I personally dont like the overview map, i dont think thats really needed and if, than maybe smaller and without any labels
Do you mean the minimap in the corner or the entire map?
positron from CartoDB
I gave it a quick look and I probably should’ve used this from the get go. I will see how I can use this in this project (It’s written in react-ts)
Zoom level about 7-1, maybe just make them clickable but invisible at this zoom
Thank you I will try to solve this!
Would use Esri standard or openstreetmaps or Positron with labels, it is less overwhelming.
It was a purely aestehtic choice (like that cloud layer that disappears when you zoom in) lol I updated the default to be OpenStreetMap
And a Idea that I think is really cool would be a point layer with pins of places that someone recently wrote something about on hexbear or lemygrad, maybe the last 24h. That way we would see at the first sight where is something big going on.
I have an Issue open for “Active Regions”. I actually want the map to also auto focus on there and to be able to see a weighting of the entire map based on the amount of comments/posts. I’m not sure on how to achieve this, but could be if I receive amount of search results back from the lemmy-client-js api. e.g. Gaza Strip - x amount of comments and compare it with other regions
Hope that what I wrote was helpful. Thank u for ur great work.
Thank you it is! :)
Yeah sorry I ment the minimap. Ur dedication and enthusiasm is really inspiring, honestly u are so cool. <3
When I graduated, GIS wasn’t as mainstream. Couldn’t find a job in the field and gave up. Years later, its fucking everywhere.
Yeah I got extremely lucky, where I live most of us where fished out of the university before we could even graduate.
This is so cool!
Wow! This is really cool, thanks for setting this up!
This is really cool @[email protected]
for a suggestion you could add bannedthought.net its a collection of revolutionary publications and its organized by country
I don’t know, they have some dicey takes like having a section titled “Contemporary Capitalist Imperialist China” which seems very ultra and their presentation gives me Moon of Alabama vibes of old boomers. I can’t speak any more than that so feel free to correct me or add on.
the presentation looks like MoA because they both go for the early 00 web page look, but MoA is a blog about news and Bannedthought its just an archive of publications made by different communist orgs and authors like marxists.org as for their ultra its because they are mostly a maoist site they have many docs on countries i personally think anarchist or ML dont focus much on like Turkey and India
I focus on Turkey!
I gave it a quick and dirty integration in Nexus > Misc (Link it externally)
Unfortunately to have deeper integration I’d need to be able to get a json response (or do an iFrame, which I would like to avoid). It’s a similar problem I was facing when looking for ways to integrate marxist.org. They use a google search plugin :(
Also it seems like there aren’t that many pages in the format: http://bannedthought.net/{country}/index.htm and you often land on a 404 page :/
It’s Maoist, but eh, put it in there.
Hexbear Atlas Shrugged
This is genuinely cool as hell and could make for a valuable resource.
Atlas related names are cool
Also, Atlas held up the sky or Uranus (easy jokes here! You can make a women hold up half the sky thing or just an easy Uranus joke, it’s easy picking!). Used to be some titan held one corner of the sky esch but then Zeus yeeted those nerds to tartarus and made one normal guy do it in a mythological display or corporate downsizing.
After some consideration I decided to make the code public under the GNU AFFERO GENERAL PUBLIC LICENSE ( AGPL-3.0 license )
https://github.com/hexatlas/lemmy-atlas/
https://git.altesq.net/hex_atlas/lemmy-atlas/
Thank you for your input:
Right now this project is exclusive to hexbear, lemmygrad, lemmy.ml and their federated instances. I have an inner conflict: Generally, fuck intellectual property and I would like to make it foss, but this would make it available for lib/chud content as well. Should I? Help me resolve this.
I don’t see how that would affect us. If anything it would help expose the incoherent lib worldview of FUBAR instances like beehaw and dot world and only sharpen the differences between leftist instances and rightist instances. I’d recommend releasing the project under the Affero GNU Public License Version 3.0 or later (AGPL3.0+) and only advertise it to leftist instances, chuds don’t give a shit.
Most fash don’t want their users to see a world map, it’s all ideology to them.
EDIT: Also if you’re going to be hosting the source code on a public (not self-hosted) git forge, please choose a libre software (or at least aligned with our ideals) friendly hoster like Codeberg, notabug, source hut, GitLab etc. Please do not host this on GitHub if you can.
Afaik its also technically acceptable to make source availability contingent on having an account or filling out a form, it doesn’t have to be trivially accessible.
That’s also correct, under the GPL and assorted copyleft licenses you’re not obligated to distribute/publish the source code to anyone, only that whoever you distribute the program to is obligated to the same freedoms you have (including access to the source and publishing it themselves). The goal of a copyleft license is to promote transparency from all parties.
I mentioned git forges since that gives way to bug/issue trackers and contributions as well as publishing the source code under a FOSS license, it would also allow the project to be branded as explicitly leftist (similar to how the lemmy devs being MLs caused a rift in the crypto-fash instances even though lemmy dot ml libbed itself to appeal to more reddit refugees, chuds wouldn’t trust us).
I’m fairly new to development and haven’t done any open source yet. I asked some of the lemmy/hb devs and will make the necessary steps. I like the idea of having to have an hb account a prerequisite from @[email protected]
Good luck! All the power to you since and its really impressive that this is one of your first projects.
A private/invite only repository seems to be the correct course of action since we already have a site like hexbear to coordinate who gets read/write access to the repo.
I ended up making it public :)
It’s not my first project, but the first one that I ended up making open source. I’ve been mostly coding for fun on front-end personal projects. Software Engineering is such a big field, that all I know is that I don’t know enough probably never will
i’m hosting a mirror here that i’ll be using to manage my contributions to the project. i can’t promise much in the way of stability at the moment, but i’ll get there eventually.
This is very cool!
Being able to pull in more economic data would be amazing.
Right now I only managed to add IMF data as a proof of concept (There’s a bunch of indicators to choose from). There’s a lot more datasets that I would like to be able to see on there and the ability to compare countries/regions. Ideally we could visualize capital and commodity flows between two selections
Hi comrade,
I added a bunch of open data in the Nexus > Misc tab for you. Hope you find some of it useful. Feel free to reach out if you’d like to see more :)
World Inequality Database
UN Comtrade
International Labour Organization
International Energy Agency
World Bank
OECD
When I’ll have more time I’ll look for deeper integration
This looks cool! Since I’m a dumbass, can you help me understand what I’m looking at? How does a post/comment get associated with a region? Is it a text based analysis of the post that picks out keywords?
Another thought, would it be feasible to show a timeline view to show which regions are “hot” at the moment and over time? I imagine in 2022 that Ukraine would light up (no pun intended), and in 2024 so would Gaza. That would be kind of cool to see.
How does a post/comment get associated with a region? Is it a text based analysis of the post that picks out keywords?
When you click on a region, and depending on the regionscope (country, province, contintent, etc.) the string is passed to the lemmy-client-js search function (e.g. west asia, egypt, california). The posts/comments that pop up are just the search results on the string. At the very bottom of the lemmy integration you find the link to the search page and how the query works. I’m afraid it’s just a fancy search page that is leveraging all fields you see here https://hexbear.net/search :)
Another thought, would it be feasible to show a timeline view to show which regions are “hot” at the moment and over time? I imagine in 2022 that Ukraine would light up (no pun intended), and in 2024 so would Gaza. That would be kind of cool to see.
That’s a great Idea! Not sure how to be able to implement it. Lemmy-client-js would probably need to be able to take fromDate and toDate as a parameter on the search function if I understand your idea correctly.
Ahh, ok, now I understand, it’s like a frontend for the search page where the map is your search input. Makes total sense now. And also probably means that what I suggested can’t be reasonably done like this. Probably works better taking an offline data dump and running some big data analysis over all the posts.