I tried to implement simply a fractal in FragM by using 3D dual numbers for automatic differentiation but after adding the missing functions (sin and asin lifted over vectors of dual numbers, plus I did the other trig functions while I was there) the preprocessed fragment shader source is now over 20000 lines and takes 5 minutes to compile. Debugging the resulting "blank black screen" will not be fun if I can't speed that up somehow.
got KF x86_64 running in hangover 0.4.0 (wine + cpu emulator) on android aarch64, takes 20 seconds to render the basic unzoomed default mandelbrot (very slow);
I patched the apk to replace notepad++.exe with kf.exe, delete the meta-inf certs, resign with jarsigner (with a new personal self-signed key), zipalign after signing. - a cleaner way would maybe be to rebuild hangover from source but not keen on that.
anyway hangover for android is abandonware now (could maybe build for linux but I don't have enough free space on th device, cross-compiling would be less fun).
oh, and with no scroll wheel mouse or keyboard to ctrl-click there's no way to zoom in or out in KF....
f-Droid has MultiVNC with ergonomic deficiencies (touchscreen interaction for mouse is emulated by dragging a pointer and pressing buttons at the bottom of the display, Android on screen keyboard can only enter one key at a time with return needing to be pressed between each one) and TSVNC (touch screen mouse is much nicer, still not as nice as aFreeRDP, but there is no onscreen keyboard afaict). Maybe I can install an on screen keyboard within the XFCE environment...
Blank windows in Wine and xterm are fixed by using VNC instead of RDP, though the VNC client for Android I found has much less ergonomic mouse and keyboard controls than the RDP client.
11. install Wine in UserLAnd's debian
12. cross-compile KF for aarch64 on desktop Debian x86_64 using llvm mingw port
13. much wailing and gnashing of teeth as the binary fails to start on the tablet with obscure errors
14. also wine notepad.exe displays a blank window, and other wine dialogs are also blank - trying `winetricks corefonts` now in the hope that something becomes visible..
notes on running Zoom in a VM
notes on running Zoom in a VM
update: needed to add a second webcam into the setup (first webcam is for custom software processing, screenshared in Zoom; second webcam is for regular chatting in Zoom). tricky to get working. first errors about different speed USB devices (3 devices total, could get only 1 or 2 working at the same time). then once those were solved errors about "v4l no left space on device" which really means insufficient USB bandwidth. managed to solve them by adding more virtual USB controllers in qemu and assigning the devices to those buses explicitly:
-soundhw hda \
-device qemu-xhci,id=xhci -device usb-ehci,id=ehci1 -device usb-ehci,id=ehci2 \
-m 8G -hda zoom.img -cpu host -accel kvm -smp 8 \
-vga virtio -display gtk,gl=on -show-cursor -usb -device usb-tablet \
-usb -device usb-host,vendorid=0x041e,productid=0x4095,bus=ehci1.0 \
-usb -device usb-host,vendorid=0x0582,productid=0x0074,bus=xhci.0 \
-usb -device usb-host,vendorid=0x1908,productid=0x2311,bus=ehci2.0
will write a proper blog post about this all soon.
Today live av performance Ommatidia with mathr & netz fly vision algorithm visuals and handmade open source software/ hardware for an inclusive , partial and situated knowledge experience. At CUNAMEX school of arts science and technology. Live streaming. https://ommatidia.live/
1. Install fDroid
2. Install UserLAnd from fDroid
3. Install Debian Buster from UserLAnd
4. apt upgrade to Bullseye
5. apt install xfce4 xorg dbus dbus-x11 xrdp xorgxrdp
6. echo xfce4-session > ~/.xsession
7. sudo service dbus start
8. sudo service xrdp start
9. Install aFreeRDP from fDroid
10. Connect to localhost and hopefully see an xfce4 desktop
I had a RAM stick go bad. Debugged with user-mode memtester on Linux, as I couldn't get memtest86 or memtest86+ to work at all (maybe grub splash screen confused them? Maybe they're still x86 and not 64bit capable?).
Was causing spurious data corruption issues and maybe the hard lockups I was getting occasionally (will see about that).
I'm waiting on a reply about warranty from the retailer. Maybe I'll have to send both sticks of the pair back even though only one is faulty, which would mean desktop being out of action for a while.
(mostly CC-0 / Public Domain)
(sparse, hopefully improving soon)
For #zoomasm 3.0 I want to change the API for colouring GLSL from "one function with loads of arguments with values prefilled for the current pixel" to "one function with no arguments and an API with function calls to get values for the current pixel", which will enable me to add extra features like "get value for neighbouring pixels by offset" or "get value for absolute screen coordinates", which should allow implementing colouring algorithms like embossing flat iteration bands, and simplify overlays like zoom depth display.
I added a new feature to #zoomasm, now the timestamps for each waypoint in the timeline window are buttons that jump to the corresponding time.
The idea for this emerged from a discussion on fractalforums.org, but I don't have a specific link handy, and I can't remember if I thought of it or someone else suggested it.
Hopefully will have time to release a new 2.1 version this week, before working on breaking changes for 3.0.
Bug: if you select a custom output size, but then enter the dimensions of an existing size preset, the entry boxes disappear and you can't enter any custom sizes any more (only choose from the presets).
Fix: when searching for a matching preset, start search at index 0 (custom size) instead of index 1 (first preset). The first match is chosen, which means "custom" size take priority over presets, even when the values are the same.
Also applies to other things with custom+preset dropdowns like FPS and audio bitrate.
Found a bug in #zoomasm's 360 projection (the distance estimate scaling was wrong).
Trying to do the maths by hand is too hard, so I copied my #GLSL #DualNumber implementation (for #AutomaticDifferentiation) from my fragm-examples repository, minus the #CPreProcessor macro hell, plus some quaternion-to-rotation-matrix code ported from Python that I found online.
Now it looks okish in the #equirectangular view, need to render some tests at various orientations and inject spatial metadata for viewing in VLC to be more sure I got it right...
The tones (everything but percussion) in this one are mostly:
samphold(&s->sh, sin(pow(2.0, k) * cos(30 * twopi * 64 * t +
pow(2, 4 * cos(twopi * t)) * sin(ceil(pow(4, 1 + cos(twopi * t + 0.25 * twopi *
sin(4 * twopi * t)))) * 64 * twopi * t)) * pow(2.0, cos(twopi * 16 * t) * 2.0)),
wrap(pow(4, 1 + cos(16 * twopi * t)) * wrap(400 * 64 * t)));
so a bit of wave shaping (first `sin()`), phase modulation (inside of first `cos()`), strange-rhythm sequencing (the `ceil()` of a wiggly function) and bitcrush (using `samphold()` to lower sample rate). Two UGENs (for want of a better concept): a 16 bar phasor for the `t` value in [0..1), and the samphold; the rest is stateless maths.
The code is duplicated with minor modifications for the other channel, and there's some simple percussion, all fed through a resonant high pass filter for the bass drone and then a multiband compressor.
making art with maths and algorithms
Welcome to post.lurk.org, an instance for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that.