IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2024/06/02
zzz git.idk.i2p/i2p-hackers/i2p.i2p/-/merge_requests/204 <-- snark js audio playlist as discussed a few weeks back
zzz WIP if anybody wants to play with it
zzz iirc dr|z3d was rather negative on the concept, I hacked it up anyway, take a look if you like
dr|z3d that's not quite correct, zzz.
dr|z3d the concept itself was curious, the implementation I wasn't so enthused about, iirc. :)
zzz ok, not sure how you could have judged the impl without seeing it, but now you have a chance to know for sure ))
zzz I'm not even sure if _I_ like it...
dr|z3d you explain it is how. you're triggering play on each of the audio players sequentially, no?
dr|z3d *explained
dr|z3d iirc you were equally unenthused about my alternative proposal. *chuckle*
dr|z3d wrestling with javascript here, usual story.
dr|z3d I think I got it beat, but it doesn't submit easily.
dr|z3d not exactly at the top of my list of priorities, but svg identicons and qr codes would be interesting.
dr|z3d one size fits all.
zzz I briefly tried svg on stats.i2p (rrdtool supports svg). It was horrific, very slow and > 1 MB svg files.
zzz I glanced at 12monkeys again, but they don't expose a Graphics2D object like jfreesvg does, so it's not immediately apparent to me how to glue it to rrd4j
dr|z3d 12monkeys is middleware.
dr|z3d you need apache batik to handle svgs. a subset of it.
dr|z3d 1MB svg for basic graphs is fail++
dr|z3d surprised they take much time to render, not much doing there, but filesize is probably something you can handle with mimimal effort.
dr|z3d filesize, automating this once you've determined optimal configs would probably bring the size right down: github.com/svg/svgo
dr|z3d random factoid: mozilla use that on all their in-browser firefox assets.
dr|z3d ~300x100 svg graph, combined bandwidth, 2880m period, with legend. 12.8KB here.
zzz right but nowhere did a see a Graphics2D to hand to rrd4j like we do now
zzz re: rrdtool, I don't know how it's supporting svgs and I'm certainly not going to go in and try to fix it for them
zzz you're presuming they offer some svg configuration? I certainly don't see any in the man page
dr|z3d who? 12monkeys or batik?
zzz adding a postprocessing step ofc would slow things down even more
zzz rrdtool
dr|z3d I was talking about svgo and the various knobs you can tweak to bring the size down.
dr|z3d you can get a good idea of how much smaller you can take things here, just upload an rrdtool svg and see what it shrinks to: jakearchibald.github.io/svgomg (same backend as svgo)
zzz sadly that would only help big, not slow
dr|z3d but if you're not banging out the graphs too often, then scripting svgo to post-process them is doable, just depends how much you care.
dr|z3d re batik, batik-svggen looks like the likely module you'll want.
dr|z3d import java.awt.BasicStroke;
dr|z3d import java.awt.Color;
dr|z3d import java.awt.Dimension;
dr|z3d import java.awt.Font;
dr|z3d import java.awt.FontMetrics;
dr|z3d import java.awt.Graphics;
dr|z3d import java.awt.Graphics2D;
dr|z3d import java.awt.GraphicsConfiguration;
dr|z3d import java.awt.Image;
dr|z3d import java.awt.Paint;
dr|z3d import java.awt.Shape;
dr|z3d import java.awt.Stroke;
dr|z3d import java.awt.font.GlyphVector;
dr|z3d import java.awt.font.TextAttribute;
dr|z3d import java.awt.font.TextLayout;
dr|z3d import java.awt.geom.AffineTransform;
dr|z3d that's from the SVGGraphics2D class.
zzz as I said there's no obvious Graphics2D object to grab
zzz at least not from 12monkeys
zzz or perhaps 12monkeys just gets in the way
zzz is 12monkeys just wrapping things up into ImageWorkers?
dr|z3d I took one look at it when I was researching Graphics2B -> SVG and though, nah, bloated as funk.
zzz *ImageWriters
dr|z3d I couldn't tell you, I didn't spend much time looking at it when I saw how large batik was.
zzz because I bypassed all the ImageIO stuff. If 12Monkeys' job is providing the ImageIO layer, and hiding the Graphics2D layer, then it's not helping
dr|z3d but I likely overestimated the size of the required batik bits, there's a lot of stuff that's not required for svg rendering.
dr|z3d if rrdtool is a pig, you might be better to bypass it altogether and see if you can find a native svg handler for the xml files or whatever they provide.
zzz it's fine for png, so I'm leaving it alone