dr|z3d
an overwhelming set of choices. i was thinking a base svg that we augment via xhr.
dr|z3d
the svg itself could be generated in similar fashion to the susidns graphic if elements need to translated, or if we want a static base and want to display an initial svg without requiring js to render.
zzz
ok, would the xhr return a full overlay sub-image created with SVGGraphics2D, or would we output low-level svg elements ourselves <g><path>.... and skip SVGGraphics2D??
dr|z3d
if we can get away with not having to use SVGGraphics2D, might be better, depends what overlays we want to display.. for tooltips and a legend, we can probably get away with adding those to the svg and just updating the text via xhr.
dr|z3d
for the connection lines, render them via js/xhr?
dr|z3d
depending on how we present the router density, we might be able to get away with generating the css on the fly, or adding the relevant class to the country path dynamically, probably better.
zzz
its just circles, rectangles, lines and text now, thats pretty straightforward to generate svg elements for those, although I swore we wouldn't want to do that
dr|z3d
yeah, I don't think we want to pre-render every possible tunnel line and circle, or tooltip for that matter. the inline js for tooltips is a good starting point for how me might generate that content.
dr|z3d
nothing to stop us from rendering 2 separate svgs and overlaying them, either. 1 for the map, the other for the dynamic content.
dr|z3d
overlaying, or just injecting the info layer into a static svg.
dr|z3d
I don't know if it's worth the effort pre-rending invisible "centroid" points for each country that can be referenced when generating the lines and circles. a bit of work, but maybe worth the effort.
dr|z3d
that way you can just target #country.centroid or #country.centroid -> #country2.centroid when you want to generate a circle or line.
dr|z3d
* #country .centroid sorry.
zzz
if the overlay is going to interact with the base, then they probably have to be in one svg? or at least a sub-svg?
zzz
not just overlaid with css positioning
dr|z3d
yeah, we probably want to add a group to the existing svg with the overlay data, so at least at any given point if you save the svg you've got whatever's current in a single file, no?
zzz
I think so? also depends if overlay is an href or is injected into the DOM
dr|z3d
if it's rendered with javascript, then probably injected straight into the dom/svg, if java's rendering it, then it could a separate href/file.
dr|z3d
if it's being injected, we might need a simple export image button to ensure that all the data/layers remain intact, but that's fairly simple.
zzz
re: centroids, I don't know if svg can do: draw a circle at location id="us"
dr|z3d
depends how you're defining id="us". if that's a single x,y point in the svg, then should be fairly simple.
dr|z3d
javascript calculates absolute position, then draws circle using the coords as the center point.
zzz
doesnt seem like we should need js for anything except xhr and maybe tooltips
dr|z3d
not needed, no, just a question of how you want to generate the overlay, but sure, not a specific requirement.
dr|z3d
tooltips, yes, why not? we've already got those, we just modify whatever we want to display there, and use xhr to update the content as required.
zzz
in any case, I think we're agreed we don't want to reverse engineer cartosvg back to points and run it back thru SVGGraphics2D every time
dr|z3d
haha, no, agreed.
dr|z3d
ok, I've extracted the tooltips script and put it in it's own file, should be easier to deal with that way.
dr|z3d
*its
dr|z3d
why why have a nested svg in there as well I have no idea, not required.
dr|z3d
ok zzz, if you're still about..
dr|z3d
javascript and css now in separate files, javascript functions somewhat deobfuscated and cleaned up.
dr|z3d
having the css separate will allow for per-theme styling later.
dr|z3d
deobfuscating the javascript, I noticed it was doing a 300ms hide and show routine whenever the viewport was resized, with an attached event listener. waste of time, removed.
trial
When I'm tryna open/edit a pdf librewolf launches, instead of, e.g xournal++ or okular (KDE here)
trial
Y'all know why is that so?
trial
Already went to librewolf/firefox settings > search "pdf" > application > modified from open PDFs with librewolf to open with system default
dr|z3d
try modifying your OS handler to set the default, perhaps it's using librewolf.
trial
KDE > applications > file associations > pdf > general > application preference order > moved xournal++ above Librewolf, now librewolf doesn't pull up anymore. But now it's always okular that shows up
trial
Despite me even throwing xournal++ on the very top of the list, above okular
trial
KDE settings*
trial
thanks, tabulating after --config, I was able to update my code editor for example, but nothing pdf related
trial
Only one is pdftk, which uses itself as there's no other options
trial
also, $ xdg-open blank.pdf
trial
launches Okular instead of xournalpp
trial
(Solved guys thanks sorry for being out of subject)
dr|z3d
ok, we now have a router counts displayed on the tooltip per country.
dr|z3d
and a heatmap.
trial
It seems that the outproxies are blocking youtube
trial
I'd understand the outproxy owners wouldn't appreciate serving google stuff to users
dr|z3d
there's no explicit youtube blocking I'm aware of.
trial
but rn I'm connected to a burner gmail account through tor, it's painful to get to reach the email list, and if I disconnect, I may not be able to reconnect to it
trial
So if I don't want my youtube content to be tied to this burner gmail, I need to watch YT through i2p instead
trial
invidious gets fuckedup and won't be able to serve 1080p+ resolution most of the time, unfortunately it's necessary when watching code/screen recording stuff, so real YT is the only option
trial
Ah my bad then
trial
It takes forever to load a youtube page tho, it might be YT fault I guess then
trial
"Connection has timed out" every time
trial
Timed out for invidious too actually...
dr|z3d
colormap vs blobs, zzz. give me a few, I'll show you the alternative to blobs.
zzz
???
dr|z3d
instead of using blobs, circles, to map router density, I'm using a heat map.
zzz
what are you asking me to give you?
dr|z3d
nothing *chuckle*
dr|z3d
I'll be giving you something to look at in a minute.
dr|z3d
so you need to run this in the console, anywhere you've got an exposed dir in /docs/ is fine, somewhere you can access via the console's url path..
zzz
no time to run anything, sorry
dr|z3d
doesn't need to be compiled, just needs access to netdb via xhr, so needs be on the same path as the console.
dr|z3d
also required, a tbody id for the countrylist table, though you can hack that to use whatever suits. I have tbody id="cclist" there.
dr|z3d
tooltip also displays the router count per country.
dr|z3d
(not shown in screenshot)
dr|z3d
missing is a persistent legend to indicate router density / color, todo.
dr|z3d
colors mapped to 1,10,50,100,200,300,400,500. lighter green, >=1, the rest you can probably surmise from the image.
dr|z3d
the other thing to note is that the country/region map now also contains a country code field.
dr|z3d
(in the js)
dr|z3d
we check the router count per country via xhr, store the counts in localstorage, and then refresh the counts every minute, so we don't need to do an xhr request every time we hover over a country.
dr|z3d
if xhr fails, we delete localstorage, so we're not serving stale values after a router restart.
zzz
impl sounds fancy; I don't know if the "heat" of various colors would be intuitive w/o a legend; black or gray for a count of zero may make it more obvious
zzz
alternative: bars or "skyscrapers" like in the Westworld Rehobeth (?) globe?
dr|z3d
legend is next, easy to do.
dr|z3d
got a link to the bars map?
zzz
tweaking all the colors so the "hotter" ones are "brighter" and the "colder" ones tended toward gray/black would definitely help
dr|z3d
no doubt. css is external, easy to do.
zzz
looking...
dr|z3d
only problem with anything you overlay on the map is small countries and overlapping. that's why I thought a heat map might be better, no occlusion then.
zzz
here's a screenshot from westworld s3 ep 8: reddit.com/r/googlemapsshenanigans/comments/tlzfxp/westworld_leaves_a_trail_of_coordinate
zzz
here's from ep 5 before everything went to hell: cbr.com/westworld-season-3-divergence-graphics-serac-watch
dr|z3d
thanks
dr|z3d
ok, cbr link gives me nothing that looks like a map, can't get to reddit, shreddit doesn't show the image. :|
zzz
image search for 'westworld s3 e8 divergence globe'
dr|z3d
ok
zzz
no it's not mercator ))
dr|z3d
:)
dr|z3d
here's a version of the map with your color suggestions thrown in. cake.i2p/file/9lQzFtI8DQ_08o6avWWVTcN7ryoWlu2hjSHfQmr0O_9E0IDB1AAd/geomap.webp
dr|z3d
ah, ok, westworld.
dr|z3d
yeah, but no. you're pulling my chain, aren't you? :)
zzz
yeah you're on the right track with the colors there
zzz
just as inspiration
dr|z3d
all that is svg, css, and some javascript. the only thing missing (legend aside) is the tunnel connection lines.
zzz
here's more reasonable ideas: datavizproject.com/data-type/map-bar-chart
zzz
image search: "global bar chart map"
dr|z3d
yeah, I've thought about something along those lines, an isometric bar projection.
dr|z3d
but like everything else that overlays anything on the map, it's problematic for the same reasons. 1) occlusion of the country where it's small and 2) intersection of overlays for different countries.
dr|z3d
what is conceivable, however, is something like that on the tooltip, perhaps with the country enlarged.
dr|z3d
(or shrunk)
dr|z3d
no reason we can't have a bunch of stats represented on the tooltip, not so much a tooltip as an information overlay.
zzz
a decent amount of transparency helps but it's not a complete solution
zzz
the bar chart stuff looks better when the map is "tilted", I don't think it's great on a flat/straight mercator projection
dr|z3d
doing some sort of tilt isn't out of the question, but that's another level of complexity and probably an external js lib.
zzz
yeah just brainstorming alternatives
dr|z3d
sure, no worries. keep brainstorming. :)
dr|z3d
if we wanted to get fancier, a scrollable, zoomable 3d globe.
zzz
I'd need to put all the tunnel hops into a polyline with an ID, right? I'm just doing individual lines for each hop now
dr|z3d
maybe, depends what you want to represent.
zzz
then you could get a tooltip for what tunnel it is and highlight all the hops
dr|z3d
so each tunnel in a single path?
dr|z3d
you might want to add classes if that's the case, so you can modify the lines based on bandwidth.
zzz
it's png now so it doesn't matter,but yeah, each hop would be a single path in svg
dr|z3d
ie instead of hard-wiring the stroke width in the path itself, you add a class and let the css handle width, colors.
zzz
with jfreesvg we can only put in ids, not classes. I assume everything is possible with batik, or ofc if we're skipping graphics2d entirely
dr|z3d
ok, not a show stopper. the id could be #tunnel1_10 or whatever, with _10 being some speed metric, and then let js clip the _10 and create a class from it, .bw_10 or whatever.
dr|z3d
or just target the _10 in css, tunnel[id$="_10"]{stroke-width:3px}
dr|z3d
ok, so basic legend added to map. given the context, it probably doesn't require any text, just numbers and colors, so it shouldn't need translation.
zzz
I'm working on an email proposal...
trial
Secure Connection Failed
trial
An error occurred during a connection to invidious.private.coffee.
dr|z3d
eep-to-eep, zzz? you think that's got legs?
zzz
dunno. maybe. but only if it's easy
dr|z3d
if it isn't an implementation headache, sounds like the natural successor to bote.
zzz
I mean easy for the user. The impl would be a grind, althrough relatively straightforward
zzz
back to maps, are you recommending we render at 1600 wide instead of 1200?