Show newer

Considering renaming my "Mandelbrot Perturbator GTK" project to "Matthew" but I'm not sure if it would be a good idea.

The old name comes from the Mandelbrot set fractal, perturbation techniques (for deep zooms), and the toolkit for the user interface.

The new name could be backronymed painfully, something like "Mandelbrot set Annotation Tool ...". I already have projects Clive, Barry, and Harry so it's not without precedent. The only thing name-related in Debian is `libmatthew-java`, which hopefully wouldn't be too conflicting.

The main purpose of the program is to make diagrams of the Mandelbrot set with annotations of things like (pre)periodic points, external rays, and atom domains.

Apparently there is a band called Perturbator that I'd not heard of until recently, and I'm thinking of porting it away from GTK to a lighter more-easily-cross-compiled toolkit.

Same content (a Mandelbrot set raster image plus annotation vectors on top), different file sizes:

228K eg.pdf
212K eg.pdf.gz
480K eg.png
480K eg.png.gz
8.0K eg.key.png
4.0K eg.key.png.gz
968K eg.svg
348K eg.svg.gz
8.0K eg.key.svg
4.0K eg.key.svg.gz
12K eg.toml

The SVG is bloated with base64-encoded PNG embedded in it, but it compresses surprisingly well. PDF wins in both file size and convenience (no separate file needed for the key, it's on page 2).

The TOML is just the specification of what should be drawn, so is unsurprisingly tiny in comparison. It takes some time to calculate, so I'm thinking of adding a TOML variant that includes pre-calculated annotations, which will bump the file size up a lot but (probably) speed up loading.

I also want to add support for multiple view specifications (center coordinates and view radius) in the same TOML document, which would be rendered in sequence after calculating annotations only once.

But first I want to reduce the dependency on GTK somehow, so (eg, TOML to PDF) conversion can work headless without needing windows to be opened...

Having PDF issues, again - cannot view actual size or select text in Evince, and Okular does not display fill patterns or print properly.

I tried a few other PDF things:

Okular (KDE, uses Poppler)
✅ text selection
✅ "100%" matches paper size on screen
❎ fill patterns
❎ prints properly

Evince (GTK, uses Cairo)
✅ fill patterns
✅ prints properly
❎ text selection
❎ "100%" matches paper size on screen

XPDF (Motif, uses Poppler)
✅ text selection
❎ fill patterns
❎ "100%" matches paper size on

GV (old, uses Ghostscript)
✅ fill patterns
❎ text selection
❎ "100%" matches paper size on screen

Atril (MATE, seems to use its own things?)
✅ fill patterns
✅ "100%" matches paper size on screen
❎ text selection (but "find as you type" works)

APVLV (Cairo and/or Poppler, not sure which)
✅ fill patterns
❎ "100%" matches paper size on screen
❎ text selection (could not figure it out, VIM is not my style)

Inkscape (tried Internal import mode, as well as Cairo/Poppler mode)
✅ fill patterns
✅ "100%" matches paper size on screen
❎ text selection (it's an editor, not a viewer)

ImageMagick (display command)
✅ fill patterns
❎ "100%" matches paper size on screen
❎ text selection

was trying to record a video demonstrating Mandelbrot Perturbator GTK but one feature didn't work properly (sometimes).

turns out it was a Use-After-Free bug:

code.mathr.co.uk/mandelbrot-pe

"result" points to the first character after the parsed string...

Got detached key working in both PNG (an extra image file with extension ".key.png" in place of ".png") and PDF (a second page in the same file) export. Overlay on image is another option, as is having no key at all (the default mode).

I adjusted the dashing patterns for each ray by hand in the GUI, this would be something nice to automate because it's very tedious mouse clickery.

The way I'm showing the text makes it non-selectable in the PDF, need to fix that too... hopefully it's something simple in my use of the Cairo API.

Show thread

oh the key is upside down in the last image...

Show thread

Added an in-image key with labels for external rays to my Mandelbrot Perturbator GTK project.

Need to make it optional and/or detachable to a second page in PDF export because some images might have long ray labels (100s-1000s of characters) and having them all on the image will be distracting.

claude boosted

EXTENDED DEADLINE - SEPTEMBER 10 2021;
ON-THE-FLY CALL FOR LIVE CODING RESEARCH PROJECTS ! ! !
Apply and join our live coding communities: Toplap Barcelona at Hangar.org ZKM-Karlsruhe and Ljubiana Art and Science Laboratory.
https://onthefly.space/.../open-call-for-live-coding...

claude boosted

I want to get some 3.5" floppy disk labels printed, ideally the kind that wrap over the top (so they can't be too stiff). Cut to size with rounded corners. Short run, only need at most 30 copies or so. They can all be identical, but I suppose custom/unique would be a bonus.

Can anyone recommend a print service? Shipping to London, UK.

Relatedly, can anyone recommend the best way to remove existing labels from floppy disks?

claude boosted

submission info for the International Conference on Live Coding 2021 Valdivia, Chile is now online: <https://iclc.toplap.org/2021/>

deadline changed to october 4th, 2021

Show thread

problems recurred, killall jackd three times to actually kill it, then mpv wouldn't play with pulse ("stream suspended" or similar) even though pavucontrol said all was fine.

ended up installing and configuring pipewire as per wiki.debian.org/PipeWire#Debia and things seem more promising (I can hear music now)

Show thread

I want to get some 3.5" floppy disk labels printed, ideally the kind that wrap over the top (so they can't be too stiff). Cut to size with rounded corners. Short run, only need at most 30 copies or so. They can all be identical, but I suppose custom/unique would be a bonus.

Can anyone recommend a print service? Shipping to London, UK.

Relatedly, can anyone recommend the best way to remove existing labels from floppy disks?

I tried counting the number of clockwise-oriented triples of (period 4 iteration N, period 11 iteration N, period 11 iteration N + 4) for N in 1, 2, 3, and it allowed me to distinguish them.

But those filaments spiralled only a little, and the method fails with more curly locations like the one attached with angled internal address 1 2 3 1/8 23.

Colour is blue vs orange depending on the proportion of clockwise triples for (period 23 N, pixel N, pixel N+23) for N in 1,2...22.

Show thread

Trying to figure out how to distinguish between numerators in angled internal addresses, from just the complex points C and its iterates Z (the marked points on the Hubbard trees). The angled internal addresses of the period 11 islands are 1 1/3 3 1/2 4 k/3 11 for k = 1, 2. If I can get an O(N) algorithm (here N is 11) to determine k from C then I will be very happy.

These images were made knowing the angles of the rays; finding the angles starting from C seems to be O(N^2) which is much too slow when N gets large.

Show older
post.lurk.org

Welcome to post.lurk.org, an instance for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that.

<svg xmlns="http://www.w3.org/2000/svg" id="hometownlogo" x="0px" y="0px" viewBox="25 40 50 20" width="100%" height="100%"><g><path d="M55.9,53.9H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,53.9,55.9,53.9z"/><path d="M55.9,58.2H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,58.2,55.9,58.2z"/><path d="M55.9,62.6H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,62.6,55.9,62.6z"/><path d="M64.8,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C66,54.4,65.4,53.9,64.8,53.9z"/><path d="M60.4,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C61.6,54.4,61.1,53.9,60.4,53.9z"/><path d="M63.7,48.3c1.3-0.7,2-2.5,2-5.6c0-3.6-0.9-7.8-3.3-7.8s-3.3,4.2-3.3,7.8c0,3.1,0.7,4.9,2,5.6v2.4c0,0.7,0.6,1.3,1.3,1.3 s1.3-0.6,1.3-1.3V48.3z M62.4,37.8c0.4,0.8,0.8,2.5,0.8,4.9c0,2.5-0.5,3.4-0.8,3.4s-0.8-0.9-0.8-3.4C61.7,40.3,62.1,38.6,62.4,37.8 z"/><path d="M57,42.7c0-0.1-0.1-0.1-0.1-0.2l-3.2-4.1c-0.2-0.3-0.6-0.5-1-0.5h-1.6v-1.9c0-0.7-0.6-1.3-1.3-1.3s-1.3,0.6-1.3,1.3V38 h-3.9h-1.1h-5.2c-0.4,0-0.7,0.2-1,0.5l-3.2,4.1c0,0.1-0.1,0.1-0.1,0.2c0,0-0.1,0.1-0.1,0.1C34,43,34,43.2,34,43.3v7.4 c0,0.7,0.6,1.3,1.3,1.3h5.2h7.4h8c0.7,0,1.3-0.6,1.3-1.3v-7.4c0-0.2,0-0.3-0.1-0.4C57,42.8,57,42.8,57,42.7z M41.7,49.5h-5.2v-4.9 h10.2v4.9H41.7z M48.5,42.1l-1.2-1.6h4.8l1.2,1.6H48.5z M44.1,40.5l1.2,1.6h-7.5l1.2-1.6H44.1z M49.2,44.6h5.5v4.9h-5.5V44.6z"/></g></svg>