Ossa Sepia

May 21, 2020

Illustrated Mirroring and Collapsing of Points

Filed under: Coding,Computer Graphics — Diana Coman @ 12:40 pm

While I can ~never be absolutely certain the implementation is a bug-free translation of the spec, I can certainly check again and check better and take a break from that code before checking then yet again with fresh eyes and even concrete illustrations to try as best as possible to either find the trouble or otherwise set the matter to rest and set own mind at rest that there isn’t anything to that niggling thought that somewhere kept insisting that hm, *some* of those hopefuls in the 4th parade are not quite as expected, somehow.

So I left the generator code alone for a few days and did instead all the writing of textures and then some more writing and different code and new textures and even various other code tidy ups before I sat down again to recalculate all the formulae (it’s not the first time either), to re-read the whole code and to check – with pictures if need be! – that it does as expected. The formulae turned out the same and correct, everything supposedly was fine except… a typo, of course, what fucking else. I fixed it and then tracked back to see where it got in exactly: at the moment when I switched from mirroring only original points to mirroring all in the 2nd plane, so it affects only generation 4 (and only the hopefuls with sym2), not any of the previous generations nor the sym1 hopefuls of gen4. So thank you for giving voice to that doubt and asking that question, apologies for the mess up and I’ll try to take that needed break in the future before it’s overdue rather than after.

With the fix in, I ran again the whole testing step by step and took screenshots to provide a clearer illustration of this whole important symmetry part, as I think it might help even to spot if there’s anything else unexpected/undesired in there. To help make the points clear, I ran each step twice: once with normal fit of the mesh on the full bone’s length and once with fitting the mesh only on the end point of the bone (and a fixed, small size, 0.02, so that something is visible). Step 1 is just the set of pseudo-randomly chosen points (7 inside the volume, 17 on the surface of the unit sphere), without any mirroring (nor collapsing) at all, first normal fit of the mesh, then end-of-bone fit:

a01_nomirroring_skel_99_vol7_7_srf17_17_sym_1_tex1_rotxyz297_124_65_640.jpg
b01_nomirroring_skel_99_vol7_7_srf17_17_sym_1_tex1_rotxyz297_124_65_640.jpg

Step 2 uses the same seed as above but adds mirroring in one and then in both planes *without* any collapsing – so you can see visually the symmetry introduced:

a02_mirrornocollapse_skel_99_vol7_7_srf17_17_sym_1_tex1_rotxyz297_124_65_640.jpg
b02_mirrornocollapse_skel_99_vol7_7_srf17_17_sym_1_tex1_rotxyz297_124_65_640.jpg
a02_mirrornocollapse_skel_99_vol7_7_srf17_17_sym_2_tex1_rotxyz297_124_65_640.jpg
b02_mirrornocollapse_skel_99_vol7_7_srf17_17_sym_2_tex1_rotxyz297_124_65_640.jpg

Worth noting here since I’m going in detail through it anyway: the 2nd plane of symmetry is obtained by taking first the 2 points that are furthest apart and then a 3rd point that is closest to those 2 but *also* not collinear to them (since collinear wouldn’t help to define a plane); at the moment I’m not checking anywhere specifically so that all points are distinct. In principle this can introduce ~duplicate points – either by pure chance or by the weird effects of working with floating point numbers on the computer, since the distance of a point to the plane that contains it may still end up not-exactly-zero so that the mirroring can literally double the points, nevermind that 3 of them are in principle their own mirroring. Even if introduced, those duplicate points are the first ones to go at collapsing time but it’s true that they would in principle affect that calculated average distance so let me know if this is a problem and you’d rather I add checks to prevent it entirely.

Finally, step 3 uses the same seed and does mirrorings as above but adds afterwards the collapsing too:

a03_mirror_collapse_skel_99_vol7_7_srf17_17_sym_1_tex1_rotxyz297_124_65_640.jpg
b03_mirror_collapse_skel_99_vol7_7_srf17_17_sym_1_tex1_rotxyz297_124_65_640.jpg
a03_mirror_collapse_skel_99_vol7_7_srf17_17_sym_2_tex1_rotxyz297_124_65_640.jpg
b03_mirror_collapse_skel_99_vol7_7_srf17_17_sym_2_tex1_rotxyz297_124_65_640.jpg

Let me know if there’s anything else looking dubious in the above and/or if there’s something else to change regarding this mirroring and collapsing of points.

Update with the required data dump for seed 99. Note that the dump rounded to 2 decimals above while the script works with the values not rounded (hence also the mirroring at distance -0.00 – the check is too strict and so there is this, as I mentioned in the text):
Initial points:
0.28 -0.55 0.38
-0.01 -0.02 -0.01
-0.01 -0.01 -0.18
-0.04 -0.02 -0.26
0.23 -0.01 0.51
-0.00 0.00 -0.01
-0.01 -0.25 -0.01
-0.72 0.70 -0.72
-0.87 0.03 -1.00
0.84 -0.40 0.90
-0.72 0.55 -0.79
0.85 -0.14 0.99
-0.91 -0.14 -0.99
0.68 0.46 0.83
0.33 -0.79 0.39
0.23 0.93 0.24
-0.70 -0.25 -0.94
-0.21 0.77 -0.26
0.31 -0.71 0.40
0.11 -0.21 0.47
0.17 0.94 0.18
-0.59 -0.76 -0.61
0.11 0.08 0.83
-0.79 0.49 -0.85
Symmetry plane 1 determined by the 2 furthest away points 11 and 12, together with 3rd closest (and non-collinear), 6:
0.85 -0.14 0.99
-0.91 -0.14 -0.99
-0.01 -0.25 -0.01
Equation symplane1: -0.21 * x + (-0.06) * y + (0.19) * z + (-0.01) = 0
Reflected points in symplane1:
Point 24 reflection of 0 at distance -0.10 from plane: 0.32 -0.54 0.34
Point 25 reflection of 1 at distance 0.05 from plane: -0.03 -0.02 0.01
Point 26 reflection of 2 at distance 0.15 from plane: -0.08 -0.02 -0.12
Point 27 reflection of 3 at distance 0.19 from plane: -0.12 -0.04 -0.19
Point 28 reflection of 4 at distance -0.12 from plane: 0.28 -0.00 0.47
Point 29 reflection of 5 at distance 0.05 from plane: -0.02 -0.00 0.01
Point 30 reflection of 6 at distance -0.00 from plane: -0.01 -0.25 -0.01
Point 31 reflection of 7 at distance 0.13 from plane: -0.77 0.68 -0.67
Point 32 reflection of 8 at distance 0.07 from plane: -0.90 0.02 -0.97
Point 33 reflection of 9 at distance -0.00 from plane: 0.84 -0.40 0.90
Point 34 reflection of 10 at distance 0.15 from plane: -0.78 0.54 -0.74
Point 35 reflection of 12 at distance -0.00 from plane: -0.91 -0.14 -0.99
Point 36 reflection of 13 at distance 0.09 from plane: 0.64 0.45 0.87
Point 37 reflection of 14 at distance -0.12 from plane: 0.38 -0.78 0.34
Point 38 reflection of 15 at distance 0.24 from plane: 0.13 0.91 0.33
Point 39 reflection of 16 at distance 0.10 from plane: -0.74 -0.26 -0.90
Point 40 reflection of 17 at distance 0.22 from plane: -0.30 0.74 -0.18
Point 41 reflection of 18 at distance -0.12 from plane: 0.37 -0.69 0.36
Point 42 reflection of 19 at distance -0.22 from plane: 0.20 -0.19 0.39
Point 43 reflection of 20 at distance 0.24 from plane: 0.07 0.92 0.27
Point 44 reflection of 21 at distance -0.13 from plane: -0.54 -0.75 -0.66
Point 45 reflection of 22 at distance -0.39 from plane: 0.28 0.12 0.68
Point 46 reflection of 23 at distance 0.12 from plane: -0.84 0.48 -0.81

Symmetry plane 2 based on normal to plane1 & going through 2 furthest away points:
-0.11 * x + (0.75) * y + (0.10) * z + (0.10) = 0

Point 47 reflection of 0 at distance 0.52 from plane: 0.17 0.23 0.48
Point 48 reflection of 1 at distance -0.15 from plane: 0.03 -0.25 -0.04
Point 49 reflection of 2 at distance -0.14 from plane: 0.02 -0.22 -0.20
Point 50 reflection of 3 at distance -0.11 from plane: -0.01 -0.19 -0.28
Point 51 reflection of 4 at distance -0.20 from plane: 0.28 -0.31 0.47
Point 52 reflection of 5 at distance -0.18 from plane: 0.04 -0.27 -0.04
Point 53 reflection of 6 at distance 0.14 from plane: -0.04 -0.03 0.02
Point 54 reflection of 7 at distance -1.08 from plane: -0.48 -0.93 -0.93
Point 55 reflection of 8 at distance -0.21 from plane: -0.82 -0.29 -1.04
Point 56 reflection of 9 at distance 0.35 from plane: 0.77 0.12 0.97
Point 57 reflection of 10 at distance -0.89 from plane: -0.52 -0.78 -0.97
Point 58 reflection of 11 at distance -0.00 from plane: 0.85 -0.14 0.99
Point 59 reflection of 12 at distance -0.00 from plane: -0.91 -0.14 -0.99
Point 60 reflection of 13 at distance -0.77 from plane: 0.85 -0.70 0.68
Point 61 reflection of 14 at distance 0.84 from plane: 0.15 0.46 0.55
Point 62 reflection of 15 at distance -1.37 from plane: 0.53 -1.12 -0.03
Point 63 reflection of 16 at distance 0.17 from plane: -0.74 0.01 -0.91
Point 64 reflection of 17 at distance -1.15 from plane: 0.05 -0.96 -0.49
Point 65 reflection of 18 at distance 0.73 from plane: 0.15 0.38 0.55
Point 66 reflection of 19 at distance 0.04 from plane: 0.10 -0.16 0.48
Point 67 reflection of 20 at distance -1.39 from plane: 0.48 -1.13 -0.10
Point 68 reflection of 21 at distance 0.80 from plane: -0.77 0.43 -0.46
Point 69 reflection of 22 at distance -0.39 from plane: 0.20 -0.51 0.75
Point 70 reflection of 23 at distance -0.81 from plane: -0.61 -0.73 -1.01
Point 71 reflection of 24 at distance 0.52 from plane: 0.21 0.24 0.44
Point 72 reflection of 25 at distance -0.15 from plane: 0.01 -0.25 -0.02
Point 73 reflection of 26 at distance -0.14 from plane: -0.05 -0.23 -0.15
Point 74 reflection of 27 at distance -0.11 from plane: -0.09 -0.21 -0.21
Point 75 reflection of 28 at distance -0.20 from plane: 0.33 -0.30 0.43
Point 76 reflection of 29 at distance -0.18 from plane: 0.02 -0.27 -0.02
Point 77 reflection of 30 at distance 0.14 from plane: -0.04 -0.03 0.02
Point 78 reflection of 31 at distance -1.08 from plane: -0.53 -0.94 -0.88
Point 79 reflection of 32 at distance -0.21 from plane: -0.85 -0.29 -1.02
Point 80 reflection of 33 at distance 0.35 from plane: 0.77 0.12 0.97
Point 81 reflection of 34 at distance -0.89 from plane: -0.58 -0.79 -0.91
Point 82 reflection of 35 at distance -0.00 from plane: -0.91 -0.14 -0.99
Point 83 reflection of 36 at distance -0.77 from plane: 0.81 -0.71 0.71
Point 84 reflection of 37 at distance 0.84 from plane: 0.20 0.48 0.51
Point 85 reflection of 38 at distance -1.37 from plane: 0.43 -1.15 0.06
Point 86 reflection of 39 at distance 0.17 from plane: -0.78 -0.00 -0.87
Point 87 reflection of 40 at distance -1.15 from plane: -0.04 -0.99 -0.41
Point 88 reflection of 41 at distance 0.73 from plane: 0.20 0.39 0.50
Point 89 reflection of 42 at distance 0.04 from plane: 0.20 -0.13 0.40
Point 90 reflection of 43 at distance -1.39 from plane: 0.38 -1.16 -0.01
Point 91 reflection of 44 at distance 0.80 from plane: -0.71 0.44 -0.51
Point 92 reflection of 45 at distance -0.39 from plane: 0.37 -0.47 0.60
Point 93 reflection of 46 at distance -0.81 from plane: -0.66 -0.74 -0.97

Fwiw I calculated yet again the plane equations and I still don’t see anything wrong with them. Perhaps there’s something going wrong at reflection itself, so I’ll re-calc that too, though tomorrow with a fresher mind.

Updated 22 May 2020: *fixed* the incorrect use of size of normal instead of squared size of normal when calculating the lambda for the first plane. Updated data dump with full decimals too:
Seed 99
Initial points:
0.281813 -0.548861 0.380002
-0.005405 -0.017001 -0.009531
-0.012594 -0.005508 -0.177122
-0.038420 -0.020412 -0.262836
0.230660 -0.013599 0.512881
-0.003318 0.003075 -0.005014
-0.005029 -0.247561 -0.005563
-0.717715 0.696048 -0.717859
-0.870788 0.032036 -0.999324
0.842434 -0.403239 0.901994
-0.717069 0.552947 -0.791900
0.851877 -0.140657 0.986641
-0.910115 -0.140719 -0.988257
0.682939 0.455476 0.831947
0.331493 -0.788936 0.387371
0.228824 0.932114 0.238411
-0.698641 -0.248287 -0.942265
-0.208097 0.765032 -0.262473
0.312717 -0.708648 0.403725
0.111998 -0.209795 0.470940
0.170545 0.944810 0.177637
-0.592100 -0.761696 -0.613727
0.112007 0.076307 0.826439
-0.791548 0.490804 -0.849881
Symmetry plane 1
2 furthest away points 11 and 12:
0.851877 -0.140657 0.986641
-0.910115 -0.140719 -0.988257
3rd point closest to the above, 6: -0.005029 -0.247561 -0.005563
Normal symplane1: -0.211063 -0.055953 0.188303
d=-0.013857
Point 24 reflection of 0 with lambda -0.347961: 0.428696 -0.509922 0.248958
Point 25 reflection of 1 with lambda 0.163105: -0.074256 -0.035254 0.051896
Point 26 reflection of 2 with lambda 0.532182: -0.237242 -0.065063 0.023300
Point 27 reflection of 3 with lambda 0.650727: -0.313109 -0.093233 -0.017769
Point 28 reflection of 4 with lambda -0.418546: 0.407339 0.033239 0.355254
Point 29 reflection of 5 with lambda 0.171685: -0.075791 -0.016138 0.059644
Point 30 reflection of 6 with lambda -0.000101: -0.004987 -0.247550 -0.005601
Point 31 reflection of 7 with lambda 0.438981: -0.903020 0.646923 -0.552537
Point 32 reflection of 8 with lambda 0.240978: -0.972511 0.005069 -0.908570
Point 33 reflection of 9 with lambda -0.008977: 0.846223 -0.402235 0.898613
Point 34 reflection of 10 with lambda 0.512010: -0.933202 0.495649 -0.599075
Point 35 reflection of 12 with lambda -0.000201: -0.910030 -0.140697 -0.988333
Point 36 reflection of 13 with lambda 0.322703: 0.546718 0.419363 0.953479
Point 37 reflection of 14 with lambda -0.400105: 0.500388 -0.744161 0.236689
Point 38 reflection of 15 with lambda 0.834958: -0.123634 0.838677 0.552861
Point 39 reflection of 16 with lambda 0.360113: -0.850654 -0.288586 -0.806645
Point 40 reflection of 17 with lambda 0.747765: -0.523748 0.681352 0.019139
Point 41 reflection of 18 with lambda -0.430777: 0.494559 -0.660441 0.241492
Point 42 reflection of 19 with lambda -0.756851: 0.431485 -0.125098 0.185906
Point 43 reflection of 20 with lambda 0.833199: -0.181170 0.851569 0.491424
Point 44 reflection of 21 with lambda -0.459078: -0.398311 -0.710322 -0.786619
Point 45 reflection of 22 with lambda -1.369474: 0.690098 0.229560 0.310687
Point 46 reflection of 23 with lambda 0.412428: -0.965645 0.444651 -0.694559
Symmetry plane 2 based on normal to plane1 & going through 2 furthest away points:
-0.110514 * x + (0.748616) * y + (0.098576) * z + (0.102183) = 0
Point 47 reflection of 0 with lambda 0.519249: 0.167044 0.228576 0.482373
Point 48 reflection of 1 with lambda -0.153022: 0.028417 -0.246110 -0.039699
Point 49 reflection of 2 with lambda -0.140792: 0.018525 -0.216306 -0.204880
Point 50 reflection of 3 with lambda -0.112025: -0.013659 -0.188139 -0.284922
Point 51 reflection of 4 with lambda -0.201026: 0.275092 -0.314582 0.473248
Point 52 reflection of 5 with lambda -0.179198: 0.036290 -0.265226 -0.040343
Point 53 reflection of 6 with lambda 0.142761: -0.036584 -0.033814 0.022582
Point 54 reflection of 7 with lambda -1.084918: -0.477917 -0.928326 -0.931754
Point 55 reflection of 8 with lambda -0.212739: -0.823766 -0.286484 -1.041266
Point 56 reflection of 9 with lambda 0.350085: 0.765055 0.120919 0.971014
Point 57 reflection of 10 with lambda -0.888306: -0.520729 -0.777054 -0.967032
Point 58 reflection of 11 with lambda -0.000000: 0.851877 -0.140657 0.986641
Point 59 reflection of 12 with lambda -0.000000: -0.910115 -0.140719 -0.988257
Point 60 reflection of 13 with lambda -0.772199: 0.853617 -0.700686 0.679706
Point 61 reflection of 14 with lambda 0.836044: 0.146703 0.462817 0.552200
Point 62 reflection of 15 with lambda -1.370623: 0.531771 -1.120028 -0.031811
Point 63 reflection of 16 with lambda 0.170624: -0.736354 0.007177 -0.908626
Point 64 reflection of 17 with lambda -1.153969: 0.046963 -0.962729 -0.489982
Point 65 reflection of 18 with lambda 0.726503: 0.152139 0.379097 0.546957
Point 66 reflection of 19 with lambda 0.035763: 0.104093 -0.156249 0.477991
Point 67 reflection of 20 with lambda -1.387716: 0.477270 -1.132924 -0.095955
Point 68 reflection of 21 with lambda 0.795214: -0.767865 0.428925 -0.456949
Point 69 reflection of 22 with lambda -0.392193: 0.198692 -0.510897 0.749117
Point 70 reflection of 23 with lambda -0.812742: -0.611909 -0.726060 -1.010116
Point 71 reflection of 24 with lambda 0.519249: 0.313928 0.267515 0.351329
Point 72 reflection of 25 with lambda -0.153022: -0.040434 -0.264363 0.021727
Point 73 reflection of 26 with lambda -0.140792: -0.206123 -0.275861 -0.004457
Point 74 reflection of 27 with lambda -0.112025: -0.288348 -0.260960 -0.039855
Point 75 reflection of 28 with lambda -0.201026: 0.451772 -0.267744 0.315621
Point 76 reflection of 29 with lambda -0.179198: -0.036183 -0.284439 0.024314
Point 77 reflection of 30 with lambda 0.142761: -0.036541 -0.033803 0.022544
Point 78 reflection of 31 with lambda -1.084918: -0.663223 -0.977451 -0.766431
Point 79 reflection of 32 with lambda -0.212739: -0.925490 -0.313451 -0.950512
Point 80 reflection of 33 with lambda 0.350085: 0.768844 0.121923 0.967633
Point 81 reflection of 34 with lambda -0.888306: -0.736862 -0.834352 -0.774207
Point 82 reflection of 35 with lambda -0.000000: -0.910030 -0.140697 -0.988333
Point 83 reflection of 36 with lambda -0.772199: 0.717395 -0.736798 0.801238
Point 84 reflection of 37 with lambda 0.836044: 0.315599 0.507592 0.401518
Point 85 reflection of 38 with lambda -1.370623: 0.179312 -1.213465 0.282639
Point 86 reflection of 39 with lambda 0.170624: -0.888367 -0.033122 -0.773006
Point 87 reflection of 40 with lambda -1.153969: -0.268688 -1.046409 -0.208369
Point 88 reflection of 41 with lambda 0.726503: 0.333982 0.427304 0.384724
Point 89 reflection of 42 with lambda 0.035763: 0.423580 -0.071553 0.192956
Point 90 reflection of 43 with lambda -1.387716: 0.125554 -1.226164 0.217832
Point 91 reflection of 44 with lambda 0.795214: -0.574076 0.480299 -0.629840
Point 92 reflection of 45 with lambda -0.392193: 0.776783 -0.357644 0.233366
Point 93 reflection of 46 with lambda -0.812742: -0.786006 -0.772213 -0.854793

May 19, 2020

How Would They Be Different? With Caveman’s Drawings by Computer

Filed under: Coding,Computer Graphics — Diana Coman @ 5:09 pm

Having given more time and more background thinking to the question in the title, I now have 3 answers of yet to be decided length (instead of the original ~500 words one) and I still like none! So I’m writing it all down already, since it turns out to be still at the expansion and exploration stage rather than the contraction and synthesis stage. First of all though and for any innocent readers that might happen one day, here’s the question in its larger context:

Diana Coman: I was in fact looking at maybe trying out generating at least a few *types* of meshes as opposed to this single-mesh-for-everything approach. But it’s a long road to explore and I’m not sure if it’s burning /first in line given how many other things are to do – arguably and as a barely-formed/fuzzy idea for instance heads would be more reasonable starting with an egg-like shape (rather than a rounded cylinder) and deforming that based on/around some feature points. Not that it wasn’t fun to get a proper implicit equation for eggs!

Mircea Popescu: I think it should start with the following single step : explain to me how they’d be different from one another ?

The first and easy answer to the above would be the shortest too: seeing how the whole business of this fractal deformation thing means precisely fuzzying clarity itself, fracturing previously whole dimensions and otherwise in general and in plain language making an unrecognizable mess out of any initial given thing, there can’t possibly be any way in which the results of such activity depend on the shape that one starts with! After all, if you twist and deform something long and hard enough, what you get is still a pile of rubbish, regardless of what you started with. In which case the whole problem is solved, there’s nothing to do here, we can move on and work on something else already. Wouldn’t that be tempting, too?

The trouble with the above first and easy answer is that it’s pure (and even sligthly bent) theory pushed to the extreme and not much to do with the practical matter at hand: first, the goal is precisely to make a *recognizable* mess of a mesh rather than a totally random mess (of a mesh) – even if, perhaps, barely recognizable rather than strongly so and even if recognizable by the implicit system that human perception uses rather than by an explicit set of rules; second, fractals may result in messy, seemingly random shapes indeed, but their randomness is just an illusion and an artefact of either limited space/time available or of our own limited perception of everything that the fractal can pack in such a tiny space. So the second and unhelpful answer is that in theory they need not be any different but in practice they will be (as the starting shape gives the space in which the fractal deformation works)!

Finally, the third and very long answer says at core that they’d be different in style (in the way for instance swirly textures make a clearly distinct group from Escher-type textures and both are still different from the naive/surreal set), as the initial shape acts as a sort of starting point – while one can arguably get anywhere from any starting point, the sort of things one meets first are going to be different around one starting point as opposed to around a different starting point and moreover, the distance to travel and the difficulty in finding/following the road to the sort of thing desired will also depend as well on where one starts from. As illustration to what “different in style” might mean specifically, here’s a few concrete pictures anyway as they can’t hurt – although they are just a random pick really and they can’t really say all that much of the whole story either (for all the popular pretense otherwise). For a simple thing that is perhaps not that obvious at first: note that the deformation of the cylinder shape resulted in stray parts – unconnected to the main, as a result of having to crank the noise up (and for an even clearer illustration of cranking the noise way too much up, see the first attempts at mesh deformation) quite a lot to get from a straight cylinder to something else, basically as an effect of that longer distance to travel; the egg-shape has no such trouble, as there is way less deformation applied (and even limited as to affected area) though with significant and visible effect:
egg_01_640.jpg
egg_02_640.jpg
egg_03_640.jpg
egg_04_640.jpg

On a superficial level (that can be easily shot down with “that’s an artefact of the implementation/approach, damn it!”), the reason for there being a difference between starting with egg-shape vs starting with cyllinder shape in the first place is that the fractal mesh deformation effectively acts on a fuzzy region around the initial shape and is called upon to do at least 2 types of things: at the higher level, to morph the overall shape into one that is close enough to be recognizable as part of one specific group (e.g. “heads” or “limbs” – those do tend to have different proportions and overall shape); at the lower level, to create detail that fits that specific group’s features (e.g. “eyes and mouth”). Having one single deformation do reasonably well both is theoretically possible, practically more likely a nightmare as it’s quite unlikely that deformations making plausible eyes for instance are *also* helpful to inflate a straight cylinder into a plausible head-like shape. Certainly, there’s also the route of applying several distinct deformations, basically one for the higher level shape and one for the lower-level features – the question in this case is whether it’s worth the effort to do both. For one possible direction, the high level shape might even be better addressed at setting-on-bone time: perhaps the mesh should really remain just a surface and thus concerned with feature-level details, leaving the rest to be decided by the underlying bone on which the mesh is to be stretched (this would require that the bone has therefore at least 2, possibly 3 dimensions). Nevertheless, what having all those ultimately confusing rather than clear/clarifying options means is that so far the approach is not general enough to be fully independent of the starting shape – and perhaps that is an issue worth discussing first and in more detail anyway.

Before attempting though a discussion of the very approach itself and of choices regarding the mix of chaos and structure in mesh or texture generation, there are a few basic terms that I’ll surely end up needing to remember in some years from now if I ever re-read this:

  1. Chaotic behaviour is the result of errors/noise overpowering the input/main signal. Any tame and otherwise very well behaved system that reacts deterministically and predictably to a known input signal can in principle become chaotic: all it takes is for errors/noise to accumulate at a pace greater than the system’s own capacity to self-correct and/or identify the original signal as distinct; as soon as the original signal is drowned by errors/noise, the behaviour of the system becomes chaotic, with little prediction possible *in the short term*. The short term part is quite important here because it’s really that the unpredictability, as to what the system might do immediately next, as it depends so much on just what random bit it interprets as signal, after all. Long-term though, at the limit (of infinite time), chaos itself is the tamest and most predictable of things, really (see below).
  2. Fractals are feedback systems and as such, their limits (aka what they tend to, given infinite time to run) are called attractors. The feedback nature of fractals means that they can accumulate and/or magnify errors very quickly indeed, basically turning into chaotic systems as per the definition above. And at the intersection of attractors with chaotic systems, there are some of the most interesting of attractors indeed, namely the unique attractors:
  3. Unique attractors define the shapes towards which chaotic systems reliably tend to, in the long term. In other words, regardless of the unpredictability of a chaotic system’s *next* step, the final result of *all* those steps is itself entirely and reliably determined & predictable upfront (whether it’s also *correctly* predicted or not depends on the knowledge of the one attempting to predict, not on the chaotic system that is already walking that shape anyway). All it takes for that determined outcome to be fully achieved is time – possibly an infinite amount of it, too (it’s the result at the limit, what the fractal tends to).

Considering the goals outlined earlier (recognizable but diverse volumes/shapes/images), one way to look at mesh/texture generation is as an exercise in finding the right balance between – and even place for! – chaos (which brings the desired diversity) and structure (or order, if you prefer; at any rate, that part which ensures the result is still recognizable as part of one given group as opposed to just random noise). The exact way in which order is encoded as well as the concrete way in which chaos is brought in and harnessed make together for a significant decision that goes even more directly to the core of the matter than does the question in the title and trying to distill the answer to the latter kept pushing me towards grappling with this underlying decision and making it more clearly explicit. While I’m not quite sure I am fully there with it, the whole exercise certainly helped in various ways, so I’ll go through what clarity I’ve got out of it, such as it is.

Contemplating this how-to-mix-chaos-with-order-for-pleasing-effect issue, one can be tempted to say that fractals already contain both chaos and structure, being thus in and by themselves the perfect and full solution: as chaotic systems, fractals provide short-term unpredictability (hence the desired diversity) AND long-term structure (aka the shapes defined by unique attractors, the limits towards which the fractal will tend). The trouble is that the practice is more limited than the theory: the structure as defined by the unique attractor is fixed indeed but this doesn’t mean that it’s either a recognizable structure or in any way known/easy to figure out upfront; moreover, banking on the structure that is the limit may mean that one needs to run the generator for a very long time indeed to get to the part where the chaos-order balance turns just right for the purpose at hand and stopping any earlier than that turns out rubbish and nothing more. Add also to this the fact that the whole theory assumes of course perfectly random noise as opposed to the fake sort that one can get on a computer – and funnily enough, the punishment for trying to sneak in more structure through non-fully-random noise is a postponement of reaching that desired limit of determinism and structure otherwise. In other words, there are a lot of potentially infinite roads to travel and very few signs (if any at all) to help you avoid at least those that take a long and unknown time to get in the end nowhere you have any interest to go to!

To avoid therefore the above death-like temptation of pure theory, there are only 2 main avenues left to still get both chaos and structure in without having to wait a lifetime to even find out if one got it wrong or possibly almost-right: one can use the short-term unpredictability of the fractal’s chaotic nature to provide the desired variety, eschewing the potentially-infinite wait for having the fractal’s structure manifest too – in which case the core structure has to come (or at the very least be augmented) from a different part that is external to the fractal itself; alternatively, one can use the long-term deterministic nature of the fractal’s chaotic nature to provide the core structure – to the extent that this is known upfront and/or can be determined easily enough. Separate from this, one can of course further use fractals simply as a sort of efficient packers, basically as non-chaotic feedback systems – and I’d say this is by far the commonest type of use, too!

Almost all the attempts I made so far at both mesh and texture generation 1 use mainly the first option above: it’s the fractal’s short-term unpredictability that is called upon, as a relatively cheap -and controllable to a reasonable extent- way to provide pleasing variety. And the sort of error introduction into the fractal’s feedback loop is quite carefully limited so as to give a sort of push towards chaotic system but not too much of it – as previously noted, too much of that and the result quickly turns to …noise, unsurprisingly. Structure is injected through all sorts, from prng to the structure of noise in use (lattice for Perlin’s, cells for Worley’s) and to the functions used for domain warping or combination of fractal transformations. As noticed with the trig textures, the external structure thus provided can be perhaps dry but surprisingly natural-looking otherwise, if well chosen. The trouble is at that “well chosen” – basically this route has the pitfall of ending up forever tweaking various parameters in the search of the “well chosen” for a specific purpose. And it seems to me that this is how one ends up in the “sea of parameters” I mentioned previously (and that I tried to escape with the tidy up of my texture generator, only to find I merely got a bit of a better grip on it while still nevertheless fully submerged otherwise).

Does the above conclusion mean that one should therefore go instead for that second option of relying on the deterministic (at limit) behaviour of chaotic systems to provide the required structure (thus avoiding the sea of parameters and eternal tweaking within it)? It certainly makes for an appealing route (at least while submerged otherwise and fighting to keep track of the 1001 parameters of the other approach) but what would it even mean, right? Well, for textures at least, I had to get the answer and that meant not only an entirely new set of textures but… a new generator, too! At any rate, before going through the technical details, here’s the first sample of outputs, a most basic sketch of what this approach might mean – it reminds me of caveman drawing style, for better (seems quite realistic really) and for worse (some are such awful scribbles and scratches!):
ifstex_w512_h512_seed271_t4_iter90000000_512.jpg
ifstex_w512_h512_seed272_t4_iter90000000_512.jpg
ifstex_w512_h512_seed293_t4_iter90000000_512.jpg
ifstex_w512_h512_seed298_t4_iter90000000_512.jpg
ifstex_w512_h512_seed319_t4_iter90000000_512.jpg
ifstex_w512_h512_seed342_t4_iter90000000_512.jpg
ifstex_w512_h512_seed365_t4_iter90000000_512.jpg
ifstex_w512_h512_seed374_t4_iter90000000_512.jpg
ifstex_w512_h512_seed397_t4_iter90000000_512.jpg
ifstex_w512_h512_seed441_t4_iter90000000_512.jpg
ifstex_w512_h512_seed454_t4_iter90000000_512.jpg
ifstex_w512_h512_seed608_t4_iter90000000_512.jpg
ifstex_w512_h512_seed619_t4_iter90000000_512.jpg
ifstex_w512_h512_seed638_t4_iter90000000_512.jpg
ifstex_w512_h512_seed711_t4_iter90000000_512.jpg
ifstex_w512_h512_seed713_t4_iter90000000_512.jpg
ifstex_w512_h512_seed735_t4_iter90000000_512.jpg
ifstex_w512_h512_seed866_t4_iter90000000_512.jpg
ifstex_w512_h512_seed924_t4_iter90000000_512.jpg

The above sample are but a few textures from what is essentially an entirely new set made with an entirely new generator too. The switch of the approach goes deep here, it’s literally changing from evaluating the value of each pixel to drawing the image with repeated pixel-sized brush strokes that accumulate to different extents in different areas. A chaotic feedback system (an IFS – iterated functions system) is created pseudo-randomly (aka MT is used to pick all the required parameters within some carefully constrained intervals to ensure that there IS a unique attractor) and then iterated 90 million times 2 in the 2D space of the image. Each position records the number of times it was hit and then the colour of the corresponding pixel is simply calculated for now by multiplying the number of hits with 16 (I didn’t experiment much with it, this made the pattern visible and so it was good enough for now, for this totally new thing). On the most attractive side, it’s indeed, way, way simpler to generate this way as many textures as one might possibly want, pretty much in the way the skeleton generation goes – it’s out of that sea of parameters to tweak with and into the more interesting place of finding the constraints that filter the sort of thing one is after. On the troublesome part, it’s unclear to me if this approach can indeed produce *all* the different types of textures one might want. On the even more troublesome part for the topic of this article, it’s even less clear to me if the same approach makes sense (or can even work directly with the current polygonizer, sheesh) for the mesh generation!

At the end of those 3k words, I think that far from answering the question all that clearly, I have added to it a bigger question as to the very core of the approach to explore in the first place. Ignoring that though and coming back to cylinder vs something-else, the best I can extract at the moment a sort of answer from all this exploration is that egg-shapes would have potentially better feature-like deformation (ie for making passable heads). More generally, starting with a shape that is close enough to that desired for a group of meshes (ie assuming that one *does* intend to create different meshes for types of body parts) allows the deformation to focus more closely on smaller details without having to become noisy just to achieve that too.

For an ending, here’s one of the textures from the new set, used as a night-sky because why-not:
sky_ifs_640.jpg

  1. The exception would be the pure Mandelbrot textures as that’s exactly what the depiction there is – the shape defined by the unique attractor.[]
  2. In principle the number of required iterations can be reduced through a better choice of some of the parameters. Specifically, the IFS is made of a set of transformations with associated probabilities so that at each iteration, one transformation is picked with a biased die from the set and applied; the IFS that I generate contain a preset number of transformations (in the set illustrated here 4), where each transformation contains one rotation around the origin, one translation and one contraction in the 2D space; the contraction is the part that ensures the existence of a unique attractor; a better choice of probabilities can in principle help the IFS converge faster to the shape defined by its attractor. For my generator, the seed used for MT serves essentially to identify each unique attractor since all the other parameters are generated from the corresponding MT sequence – as it can be easily noticed even in this selected sample of images, some attractors have more interesting shapes than others, heh. For the record, there are ways to find the IFS that has as unique attractor a given shape – basically by going at it backwards, using rotated/translated/contracted versions of the shape to extract the corresponding parameters for the transformations and then picking probabilities to reduce the time needed for convergence. My point being exploration though rather than fitting to some given shape, I didn’t implement any of that finding-specific-shape part.[]

May 15, 2020

Fashionable Hopefuls: Illustrated Trigonometry with a Side of Turbulence

Filed under: Coding,Computer Graphics — Diana Coman @ 3:24 pm

Since this is anyway the second article for today and one coming after going out into the space, no less, let us start with the side for once – aka the turbulence: this is yet another use of the perlin noise, in principle more specifically geared towards gases and other potential sky-textures. The naked effect tends to be quite strong – see the first two images below that adjust the considered pixel size (aka indirectly the number of iterations that apply the noise). Nevertheless, it can perhaps qualify as a different type than previous sets of textures, though to my eye it does tend in any case towards the effect obtained otherwise with several iterations of a multifractal. Comparing it with some of the original pictures and descriptions of this turbulence use that supposedly provides images of perfect-gas (to the extent of even perfect-steam!), I tend to think it takes quite the futzing and the precise fitting to some exact colour scheme to get it to really look like gas/steam. In any case, I could tame down the colours using my own colour mappings that are basically biased towards white (3rd image) and blue (4th image), respectively:

tex_81_512.jpg
tex_82_512.jpg
tex_83_512.jpg
tex_84_512.jpg

The above side aside, the fun part for me was playing with the trig functions as distorters of the domain essentially. And I do wonder now just why on Earth don’t they illustrate the 4 quadrants better in all those Maths books, not like it’s not possible, have a look (in order, below, the images are obtained with the original colouring scheme, the same scheme only all colours lighetened up a bit; the rgb unit sphere colouring scheme):

tex_51_512.jpg
tex_52_512.jpg
tex_53_512.jpg

The above obviously pack the sin,cos and tan, all in one so it’s clear that one *can* separate them too, if so desired – though at the cost of losing that cool reflection-effect, heh. Nevertheless, separating the circle part creates basically a vortex that can further get pastel colours this time by use of worley noise instead of perlin noise (ha, did you think the rgb sphere was always good or the only option for pastel colours? nope, it’s not):

tex_55_512.jpg
tex_56_512.jpg

Separating instead the vertical and horizontal threads gets the very illustration of weaving:

tex_54_512.jpg

And since we are weaving cloth of sorts and trying it all out, why not make it a rectangular proper patch and get some truly regular patterns on it, too:

tex_60_512.jpg
tex_61_512.jpg
tex_62_512.jpg
tex_63_512.jpg
tex_64_512.jpg
tex_65_512.jpg

Messing about with the initial domain mapping means that one can turn inside out the four quadrants, of course:

tex_57_512.jpg

Finally, for all the nostalgy of sine waves, here’s some quite plain and bold sinus let loose:

tex_58_512.jpg
tex_59_512.jpg

Using two of those turbulence textures as sky this time, the fashion parade wore trigonometry proudly on its skins (and bones):

skel_99_vol7_7_srf7_7_sym_2_tex51_rotxyz52_150_275_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex52_rotxyz187_187_151_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex53_rotxyz263_17_346_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex54_rotxyz180_191_41_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex55_rotxyz304_341_10_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex56_rotxyz292_183_239_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex57_rotxyz14_348_43_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex58_rotxyz312_223_238_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex59_rotxyz336_1_267_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex60_rotxyz28_58_86_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex61_rotxyz201_97_50_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex62_rotxyz44_238_216_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex63_rotxyz324_69_240_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex64_rotxyz290_4_278_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex65_rotxyz259_92_332_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex81_rotxyz313_356_255_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex82_rotxyz98_169_102_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex83_rotxyz289_183_181_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex84_rotxyz171_2_244_640.jpg

And with this I am *finally* caught up on the texture sets and it’s good too as I’m clearly starting to shut down the word volume, it’s like I wrote way too much those past few days or something. Anyways, having now all of this in the open should help with getting out that explanation re shapes as well so there’s that at least still pending.

Fashionable Hopefuls: To the Skies and Outer Space

Filed under: Coding,Computer Graphics — Diana Coman @ 11:03 am

The texture planets, skies and outer space seem to be easiest to find at the intersection of the layered approach 1 with various mappings for texture and colour domain. The stereo mapping of the texture domain provides as usual the way to zoom in and out, so that you can admire the newly found texture planet and its surrounding galaxy, all obtained through 2 rounds of perlin-based fbm (with incremental addition of results) and using otherwise the most basic of colour mappings (simply interpreting the x,y,z values as percentages of red, green and blue, respectively):

tex_31_512.jpg
tex_32_512.jpg
tex_33_512.jpg
tex_34_512.jpg
tex_35_512.jpg
tex_36_512.jpg

With a triangle-based domain mapping (z is considered the hypothenuse of a right angled triangle with given x and y as sides) and turning the knobs on the layered approach and/or the noisiness level of the fractal used, the results make rather atmospheric skies of sorts:

tex_37_512.jpg
tex_39_512.jpg
tex_40_512.jpg
tex_41_512.jpg
tex_43_512.jpg
tex_44_512.jpg
tex_45_512.jpg
tex_46_512.jpg

To tone down a bit all that clash of bright colours, an initial approach was to actually combine the final values for red, green and blue since that brings them basically again into a closer area and “closer” in the r,g,b space means closer colours & shades:
tex_42_512.jpg
tex_47_512.jpg

Given the success with the public of that unitsphere mapping in the r,g,b space, I applied it today to a few of those textures as well and it turned out perhaps not all that bad, as a sort of milky-rivers in the sky for instance:
tex_48_512.jpg
tex_38_512.jpg

Keeping this short but using the pics for all they can give, I went ahead and set two of them as skies as well when taking the shots at the hopefuls’ latest fashion parade – you’ll surely notice the milky one, though both are quite the departure from those tame clouds that are currently stuck to the euloran sky. The thing with making the sky more interesting seems to be that now one *really* wants those things in the sky to also …move about!

skel_99_vol7_7_srf7_7_sym_2_tex31_rotxyz50_300_252_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex32_rotxyz125_274_70_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex33_rotxyz263_336_134_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex34_rotxyz30_343_158_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex35_rotxyz80_225_327_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex36_rotxyz229_280_126_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex37_rotxyz77_67_123_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex38_rotxyz48_55_150_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex39_rotxyz278_289_320_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex40_rotxyz290_303_336_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex41_rotxyz26_63_16_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex42_rotxyz184_353_14_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex43_rotxyz243_97_278_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex44_rotxyz275_335_7_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex45_rotxyz290_129_75_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex46_rotxyz171_312_34_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex47_rotxyz205_8_174_640.jpg
skel_99_vol7_7_srf7_7_sym_2_tex48_rotxyz317_135_157_640.jpg

  1. Calculate the new x,y,z coordinates in turn as the result of fractal brownian motion with perlin noise at the given point, always adding the previously calculated value as offset to the corresponding coordinate; possibly iterate this a couple of times.[]

May 14, 2020

Fashionable Hopefuls: Impressionistically Naive and Slightly Surreal

Filed under: Coding,Computer Graphics — Diana Coman @ 7:18 pm

This time I’ll start with 3 illustrations since I found that I’d rather paint of sorts than write these days 1 and supposedly the pictures are anyway worth lots and lots of words. So here’s in order my texture generator’s take on Impressionism, Naive and Surrealism painting styles and feel free to disagree most strongly for it totally doesn’t care about your disagreement:

tex_32_512.jpg
tex_33_512.jpg
tex_44_512.jpg

If you compare the above with the previous styles featured in this series (such as the Escher-like or the swirly river), you might get perhaps some idea that there are some specific choices made so as to obtain one style or another. Those choices focus currently on 3 main aspects that are worth setting out in clear and perhaps discussing in a bit more detail, too, in the order in which they come into play at texture generation time:

  1. Texture domain mapping.
  2. Pattern (where the whole fractal fun is going on atm).
  3. Colour domain mapping.

The texture domain mapping refers to the 3D shape that the generator assumes essentially to be the target of this texture – in other words, the resulting texture is meant to be a 2D picture of the surface of that shape, if one were to fully peel and set it flat. Unsurprisingly perhaps, the choice of the specific 3D shape *and* of the way in which the mapping to 2D is done has quite significant effects on the image obtained, even if *everything else* is kept the same. In principle though, provided that the exact inverse mapping is used when rendering the texture on the corresponding 3D shape, the two “different” images should end up as similar “skins” – though so far I haven’t really spent the time to verify this fully in practice. In any case and for illustration, have a look at 2 textures that are generated using the very same pattern and colour mapping, only assuming first a hyperboloid 3D shape and then an egg 3D shape (just in case you needed to dress up your eggs and hyperboloids):
tex_40_512.jpg
tex_41_512.jpg

In addition to the shape itself, it’s worth noting also that any 3D to 2D mapping will make further choices, out of necessity. Even for the very simple case of a sphere, there are several different mappings to a 2D representation and the choice depends mostly on what specific property of the sphere’s surface interests you most (meaning: you’d rather have preserved in the 2D representation). Without going so far into all that detail, as I don’t think it’s all that crucial right now, I still had fun with adjusting the “zoom” factor of a stereographic mapping, hence the part of the sphere that is captured in the limited space of my 512×512 pixels texture. Unlike the earlier diagonal travel by means of (x,y,z) offsets through the river of eyes, this is literally a travel towards or away from whatever pattern you are setting otherwise. Besides the fun factor, this sort of movement in the texture space gives both different patterns (by focusing on one spot or another, as they can be quite different looking anyway) and a neat way to control otherwise where the detail ends up (or not) on the rendered mesh. At any rate, for the style of texture that is the focus of this article, the zoom in turns out for instance like this:

tex_35_512.jpg
tex_36_512.jpg
tex_37_512.jpg
tex_38_512.jpg
tex_39_512.jpg

With respect to the pattern used for a texture, the choices are trickier to fully describe since in principle anything can go in here, from a predefined fixed, traditional pattern to any combination of fractals, multi-fractals, prng, trng, noise, interpolations and whatever else you can think of. Such choice doesn’t necessarily mean that there is no overlap ie that you can’t perhaps obtain the same thing through different means – in fact I’d rather say you surely can. What it means however is that it’s SO very easy to get lost and play for hours with it all, even stumble upon some interesting stuff and then go nuts trying to …find it again! So what can I say, like in any other labyrinth whose design is wider than you fully comprehend just yet, take your steps one at a time, keep detailed notes and be aware that even that might not be always quite enough.

The above warning aside (and surely immediately forgotten too), for this set of textures I wanted to experiment with introducing some prng into the mix. Essentially the whole game of generating textures and shapes consists at core in finding just the right mix of structure (not enough structure means that the result will look simply like noise/nothing/random rubbish) and chaos (not enough chaos and you get stunted, boring, “un-natural”/nothing/rubbish). In other words, the structure has to be there for the meaning, while the chaos is desired in there for the fun, variety and anti-boredom property. In principle, fractals themselves are already neatly tuned combinations of both structure and chaos but tipping this balance and then re-setting it at a different point is exactly how you get different *styles* of pictures to start with – the previous swirls and river of eyes is what you get for instance with fixed offsets added to all three coordinates, basically translating the texture’s domain with slightly different amounts on each of the axes. So if translation got me swirls, my next curiosity was to see: what does rotation do? And since I like all rotations just the same, so that I don’t want to choose any in particular, I went all out and picked at *each* pixel, 3 pseudo-random numbers from an MT prng, to serve as the angles of rotation around each of the 3 axes. Note that using the MT prng is effectively introducing some tamed, approximate form of chaos really, given the pseudo-part. At any rate, the fbm with perlin noise is then used to calculate a value for the (x,y,z) triplets that are obtained in turn by rotating around the x axis, then around the y axis, then around the z axis. The result of it all raises some interesting sharp “ridges” and looks for instance like this:

tex_31_512.jpg

The above is only the beginning though. For once I got that, it was a given I’d want to further mess about with it. So next step was to apply on top of it, an effect I had previously discovered to give a sort of layered or transparent look to the whole thing – it’s yet another application of the fractal brownian motion (fbm) with perlin noise, but applying different translations for x, y and z coordinates. Because a direct full “layered” application was clearly way too much coming after the rotation and one round of fractal transformations, I’ve further introduced in between a clamp on the coordinates so that the whole rotation+translation stays within some closer bounds. Interestingly enough, whether this clamp allows negative values or not makes in practice a *lot* of difference – basically straddling the origin and being comfortable with negative numbers gets one all the way from the naive to the impressionist:
tex_33_512.jpg
tex_32_512.jpg

Further keeping the same but changing basically the “noisiness” of the fractal deformation itself yields a busier pattern both when using only the rotation + one fractal application and when using rotation+fractal+translation+fractal:

tex_42_512.jpg
tex_43_512.jpg

Having made it so far and therefore having set both the initial 3D shape (domain mapping) and the pattern (that rotation and possibly added translation with 2 sets of fractal brownian motions in the mix), I had to try out various combinations of the two, of course. Keeping all that rotation and translation with clamping and everything else but simply changing the domain mapping from the unit sphere 2 changes of course quite radically the result but I admit that I like that little face kind of forming on the right:

tex_44_512.jpg

Finally, the last big choice to make is the colour domain mapping – basically deciding how to interpret as colours whatever bunch of numbers come out of all the previous calculations. Generally I kept this part really straightforward and very simple so far, mainly because I found it way more interesting to play with other bits: the values obtained are translated to [0,1] interval and then interpreted as % of the r,g,b (x for r, y for g, z for b). But since I tidied up and set nicely all those three different areas of play and whatnot, the unbalance of options was unsufferable really, so I did first this half-hearted what-if of considering instead a unit sphere in the R,G,B space – and I mean half-hearted as I didn’t bother too much with either more interesting options or at the very least moving about that sphere in the space to spice it up a bit. Later on and being quite annoyed with it all, I did implement a proper colour spline too but so far I didn’t get around to really try it out so it doesn’t count. Anyways, at least for the above impressionist-style texture, the R,G,B unit sphere kind of switched the colours to pastels:

tex_34_512.jpg

Finally and for completeness rather than for anything else, here’s this article’s fashion parade with yet another set of hopefuls wearing the above textures:

skel_202_vol7_7_srf28_28_sym_1_tex21_rotxyz73_359_143_640.jpg
skel_202_vol7_7_srf28_28_sym_1_tex22_rotxyz291_36_243_640.jpg
skel_202_vol7_7_srf28_28_sym_1_tex23_rotxyz360_128_12_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex31_rotxyz50_300_252_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex32_rotxyz125_274_70_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex33_rotxyz263_336_134_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex34_rotxyz30_343_158_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex35_rotxyz80_225_327_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex36_rotxyz229_280_126_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex37_rotxyz77_67_123_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex38_rotxyz48_55_150_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex39_rotxyz278_289_320_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex40_rotxyz290_303_336_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex41_rotxyz26_63_16_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex42_rotxyz184_353_14_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex43_rotxyz243_97_278_640.jpg
skel_204_vol7_7_srf28_28_sym_1_tex44_rotxyz275_335_7_640.jpg

  1. Could it have *anything* to do with the fact that I have a *mountain* of stuff to write up? No, of course not, nothing at all, none, not possible.[]
  2. To… ahem, the complex plane: x and y are considered the re and im, while z is calculated as arctan(y/x), obviously; don’t ask me why I had implemented this particular mapping, I just… had it implemented there from earlier attempts and so I used it now.[]

May 13, 2020

Fashionable Hopefuls: the River of Eyes

Filed under: Coding,Computer Graphics — Diana Coman @ 6:30 pm

The swirly texture style clearly held some promise of both types of materials (e.g. metalic) and recognizable shapes of faces and eyes. So it was one of the first directions I explored further with my newly tidied up texture generation scripts that turned out in short order a whole… river of crazy eyes effectively flowing diagonally as you advance from one image to the next. The “flow” was rather expected, since the images are generated with a given offset that is applied to all three coordinates so that they are indeed pushed at the same time. The multitude of eyes and half-baked faces forming or half-forming and then dissolving again as the river flows was less expected but rather fun to watch. Here’s a short sequence to illustrate how this works:

tex_w512_h512_step0.100000_offset1.100000_512.jpg
tex_w512_h512_step0.100000_offset1.200000_512.jpg
tex_w512_h512_step0.100000_offset1.300000_512.jpg
tex_w512_h512_step0.100000_offset1.400000_512.jpg
tex_w512_h512_step0.100000_offset1.500000_512.jpg
tex_w512_h512_step0.100000_offset1.600000_512.jpg

Given the obvious abundance of eyes and suggestive faces even in that river of textures, I was quite curious to see if one can indeed bring out some that may be even hidden under the surface. And it turns out – surprised? – that one actually can do even better – under the obvious face contour that is quite obvious at the very first glance, there is in fact quite an entirely different guy all sad for his lack of visibility – can you even spot him all hidden by the layers upon layers of fast-flowing features in this first picture?

tex_ref_swirls_512.jpg

Once he gets space to be seen all on his own, he can even be further nudged to smile at you

tex_swirls_darkened_045_512.jpg
tex_swirls_darkened_and_sharpened_512.jpg

For all the coolness factor of that river of eyes from where this whole set of textures can be fished out and for all the fun factor of the textures themselves when seen as images on their own, their usefulness as skin covers for my hopefuls is rather dubious. Basically evaluating the fit of a texture has to take into account its match with the shape on which it will be painted and that’s not an easy task: for one thing the shape so far is quite difficult to describe anyway, seeing how it’s all fractally-deformed into all sorts; for another thing, the mapping of the texture to the shape makes it even less straightforward to directly figure out how the result will look like just by looking at the image shown plainly like this. In principle, the mapping currently in use wraps the texture around the shape – as the shape is not regular though, this round wrapping creates all sorts of effects and/or hides or distorts all sorts of features that are otherwise visible in the texture when seen as an image. As a result, whatever eyes or faces may be obvious in the texture itself, whether they show as such on a mesh or not is less clear upfront, as it can be seen in those shots of hopefuls wearing some textures from this set:

skel_201_vol29_29_srf37_37_sym_1_tex21_rotxyz73_359_143_640.jpg
skel_201_vol29_29_srf37_37_sym_1_tex22_rotxyz291_36_243_640.jpg
skel_201_vol29_29_srf37_37_sym_1_tex23_rotxyz360_128_12_640.jpg
skel_51_vol11_11_srf23_23_sym_1_tex21_rotxyz73_359_143_640.jpg
skel_51_vol11_11_srf23_23_sym_1_tex22_rotxyz291_36_243_640.jpg
skel_51_vol11_11_srf23_23_sym_1_tex23_rotxyz360_128_12_640.jpg
skel_51_vol1_1_srf1_1_sym_1_tex21_rotxyz73_359_143_640.jpg
skel_51_vol1_1_srf1_1_sym_1_tex22_rotxyz291_36_243_640.jpg
skel_51_vol1_1_srf1_1_sym_1_tex23_rotxyz360_128_12_640.jpg
skel_51_vol51_51_srf53_53_sym_1_tex21_rotxyz73_359_143_640.jpg
skel_51_vol51_51_srf53_53_sym_1_tex22_rotxyz291_36_243_640.jpg
skel_51_vol51_51_srf53_53_sym_1_tex23_rotxyz360_128_12_640.jpg

There is some little help that I can offer to someone trying to figure out this link between a texture image and the actual result when rendered on a hopeful: the whole trouble (and therefore potential solution too) stems from the repeated transformations between 2D and 3D domains. Starting from the texture generation itself, there’s first a 2D to 3D transformation of the texture’s own domain: the texture being a 2D image, it has only 2 dimensions that are called by convention u,v; as one iterates through the whole image to decide on a colour for each pixel, one has to make a first choice: is the texture to be considered 3D or 2D? If one sticks to 2D, things are more straightforward but there are of course more limitations as to the result itself. If one chooses 3D 1, one way to look at it is that the 2D texture itself is generated as if it were carved out of the corresponding 3D material – through whichever path/way this first mapping of the texture domain itself defines. Once this is done, there’s a 2nd mapping in any case, this time to the 3D domain of colours. Finally, when used, there’s a 3rd mapping that goes the opposite way, from the 2D domain of the texture to the 3D domain of the shape on which the texture is applied. (And then there are of course further mappings as the whole thing is rendered on a 2D screen, after all.)

The above is the basic thing behind my previous generation of stereographically mapped textures (aka their 2D representation is the mapping of a sphere in the 3D “material” domain) with the interesting part in the centre so that it maps then in turn neatly onto the “north pole” of the mesh too. In a way, this does mean though that the fit between a texture and a given mesh would naturally be best if and only if the 3D domain of the texture at generation time is taken to be exactly the mesh itself with all its irregularities and weird shape. Perhaps it’s a direction worth exploring though at the moment I really can’t tell. The downside to it would be that fitting them *that* closely literally means one has to generate a texture for *each* mesh. On the other hand, if meshes are anyway reused to stand in for many parts of a creature and if the whole generation is automated anyway, it might still be worth a try. Nevertheless, this doesn’t solve otherwise the trouble of actually getting a pattern that one *wants* to see, anyway. That’s a different matter entirely and a different exploration all in itself.

  1. For the record, all the textures I generated so far are in fact 3D textures, mainly because my implementation of noises and fractal transformations are 3D. I suppose I should at some point implement some 2D ones too, at least to be able to say that I explored that option too.[]

May 12, 2020

Fashionable Hopefuls: A Bit of Escher under the Skin

Filed under: Coding,Computer Graphics — Diana Coman @ 2:01 pm

As the previous parade of hopefuls is essentially still ongoing, I focused for a bit on painting with numbers, functions and scripts to automate it all. This is the write-up, with pics further down, as usual, playing catch-up (but not yet winning) with what came out of it so far.

Initially I wanted simply to tidy up all those loose scripts for texture generation and tie them together into a more easily controllable tool for exploring the R,G,B space where all possible textures await discovery. The whole of it didn’t take all that long – in one day and a half (with assorted C/CPP related misery) over the weekend, all the relevant scripts were neatly separated into relevant categories, ready for mix-and-match or add-new-ones: image domain mapping, pattern generation, colour mapping. Then the full list of what was available got some additions as I started implemented all sorts of ideas gotten from my previous reading and then I started to give it a spin or two and then of course the whole carefully set up overall scripting went overboard because new things require new knobs to explore and there’s no way to set it all upfront for *all* of it. And when I finally sat down today to “write it up”, I looked in mild surprise at the accumulated *sets* of textures that have each a different style really because of the different underlying approach and various knobs and all that. While I could perhaps cram them all in a single article and be done with it, I think it makes more sense to take at least the write-up (and images per page) at a more reasonable pace and make a series out of it so that’s it a bit easier to load and to digest too. This way I might even remember to pace the rest too, next time! 1

In a rather amusing inversion of terms, from a fractal point of view it turns out that the M.C. Escher style is really just about the most boringly classical you could make – all it takes is a perlin-based typical multifractal 2 + the most basic of colouring mappings (such as interpreting the result as % of each colour) and you’re all set. Fiddle with the multifractal’s classical knobs controlling noise and amplitude and you’ll fit, as expected, increasingly more of it in each tiny patch until it all quickly turns to noise essentially – indistinguishable from noise, at least. Fiddle further with the additional offset knob and you can get some variation in pattern – as long as you keep the amplitude (hence number of octaves knob) quite low, up to a maximum of about 4 really. Worth noting here that the offset in this case simply acts as a fixed amount of *additional* amplitude at each iteration so basically making the fractal pack increasingly more/less in each shape already determined by the rest of knobs. So in this sense, the offset’s effect is limited really, at least compared to what one can truly do with offsets that are not tied up so tightly with the multifractal’s own parameters.

Without spending the time to fit any specific colour mappings to work just-so (or any other similar overfittings essentially), the pictures obtained are rather… boring, I should say, with all my heartfelt apologies going to Maurits Cornelis who did it all before there were computers to unleash the fractals just like that at the push of a button (after a lot of calculations and some code writing). Variations of pattern can be obtained to some degree with that limited knob controlling the offset but the essential trouble with this typical multifractal is that there’s only one offset and no way to further play around with it during the iterations themselves. Nevertheless, hopefuls were found to want to give a go at getting under those escher-like skins, so here’s the list of shots, starting with the textures themselves and then some hopefuls showing off the improved rotations by different angles on x,y and z axes as well as their newly found, skin-deep love of M.C. Escher:

tex_w512_h512_h0.700000_octaves2_offset100.000000_512.jpg
tex_w512_h512_h0.700000_octaves2_offset150.000000_512.jpg
tex_w512_h512_h0.700000_octaves2_offset50.000000_512.jpg
tex_w512_h512_h0.700000_octaves3_offset100.000000_512.jpg
tex_w512_h512_h0.700000_octaves3_offset150.000000_512.jpg
tex_w512_h512_h0.700000_octaves3_offset50.000000_512.jpg
tex_w512_h512_h0.700000_octaves4_offset100.000000_512.jpg
tex_w512_h512_h0.700000_octaves4_offset150.000000_512.jpg
tex_w512_h512_h0.700000_octaves4_offset50.000000_512.jpg
tex_w512_h512_h0.700000_octaves5_offset50.000000_512.jpg

skel_51_vol51_51_srf53_53_sym_1_tex23_rotxyz360_128_12_640.jpg
skel_51_vol51_51_srf53_53_sym_1_tex24_rotxyz194_30_142_640.jpg
skel_51_vol51_51_srf53_53_sym_1_tex25_rotxyz260_27_31_640.jpg

skel_100_vol7_7_srf17_17_sym_2_tex21_rot53_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex21_rotxyz73_359_143_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex22_rot288_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex22_rotxyz291_36_243_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex23_rot103_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex23_rotxyz360_128_12_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex24_rot189_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex24_rotxyz194_30_142_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex25_rot23_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex25_rotxyz260_27_31_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex26_rot119_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex26_rotxyz97_238_104_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex27_rot315_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex27_rotxyz249_303_210_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex28_rot358_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex28_rotxyz176_72_353_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex29_rot53_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex29_rotxyz253_320_314_640.jpg

In the next articles of this series, I shall leave classical Escher behind and illustrate for instance an exploration of the eyes-river, a travel through texture-galaxy and a stare into the trigonometry vortex that surely ate many other hopefuls before. Stay tuned or get out of tune, for the pictures are generated already and so I’ll have to write them up anyway!

  1. I can imagine it. Just about… imagine it.[]
  2. The very term multifractal is rather slippery since basically any combination of “fractal transformations” fits the notion of multifractal. Nevertheless, the simplest of those that I could find is this one used here: an fbm based on perlin noise, having in addition to the usual H and octaves, a fixed offset that gets applied (multiplication) at each iteration.[]

May 8, 2020

An Abundance of Bones: 4th Parade of Hopefuls

Filed under: Coding,Computer Graphics — Diana Coman @ 12:27 pm

This week’s parade of hopefuls features a heartfelt attempt at zombiefication as well as several commendable efforts at horsification, frogification, carnivorousplantification and bring-your-own-imagination-ication. The show’s 4th and improved edition provides all participants with an updated set of skins (that come each with their own specific pose, too!) including the best ones from the latest fashion, a doubling up on that 2nd plane of symmetry (of sorts), an abundance of bones going at times all over the place and bigger screenshots for all the bigger monitors out there. There’s still a list of various things I want to try whenever I get a chance, including both texture and mesh attempts. For now though and for future reference, here’s again the list of changes implemented this week:

  1. first plane is defined by the 2 points furthest apart from one another + the one point that is closest to those 2, where “closest to those 2” means that the “sum of distances from candidate to point 1 and to point 2 is minimum”;
  2. ALL points (original as well as those reflected in the 1st plane) are reflected in the 2nd plane (so total ends up 4 times the original number but then the collapsing drops up to 3/4 of this total and usually it seems to drop indeed that many);
  3. took out textures 8 and 9 (mandelbrot grays & mandelbrot blue+yellow);
  4. added textures 1,4,13,14 from new set so the total textures now is 13;
  5. replaced fixed pose with a rotation by a prng-number of degrees (around all three axes) using texture’s number as seed (so that each texture has its own); this is shown in the file’s name too, for easy ref;
  6. client’s window is made bigger so that the screenshot is 1280px wide to start with, so the detail is there;
  7. the fix to remove that seam from the texture mapping is in as well.

Here’s the absolute winner of this show’s edition as far as I’m concerned:
skel_99_vol29_29_srf37_37_sym_1_tex8_rot90_640.jpg

In other commendable entries that will therefore remain here even after the full dump 1 gets wiped out, there’s Horsey and his gang of hopefuls:
skel_99_vol7_7_srf7_7_sym_2_tex8_rot90_640.jpg
skel_100_vol7_7_srf17_17_sym_2_tex9_rot245_640.jpg
skel_67_vol11_11_srf23_23_sym_2_tex8_rot90_640.jpg
skel_98_vol7_7_srf17_17_sym_2_tex5_rot66_640.jpg
skel_64_vol11_11_srf23_23_sym_2_tex9_rot245_640.jpg
skel_64_vol29_29_srf37_37_sym_2_tex9_rot245_640.jpg
skel_66_vol51_51_srf53_53_sym_2_tex8_rot90_640.jpg
skel_66_vol7_7_srf7_7_sym_1_tex13_rot129_640.jpg
skel_67_vol11_11_srf23_23_sym_1_tex12_rot184_640.jpg
skel_70_vol11_11_srf5_5_sym_1_tex13_rot129_640.jpg
skel_71_vol7_7_srf17_17_sym_2_tex5_rot66_640.jpg
skel_98_vol7_7_srf17_17_sym_1_tex3_rot355_640.jpg
skel_51_vol51_51_srf53_53_sym_1_tex1_rot121_640.jpg
skel_53_vol29_29_srf37_37_sym_1_tex13_rot129_640.jpg

Until next time, the past, present and future hopefuls, all want to wish you a well-jointed weekend with rounded symmetries, interesting skins and most pleasing rotations!

  1. 50 skeleton seeds * 2 symmetry planes * 8 combination of points * 13 textures = 10400 screenshots. I’ve made them .jpg though as there isn’t any visible loss really and the size is half of png so that the whole thing does not weigh 5 Gigabytes or more, sheesh. Fwiw, it took me about 2 hours to just go through all of them this time.[]

May 5, 2020

Disc Included, Spelling Approximate

Filed under: Coding,Eulora — Diana Coman @ 9:35 pm

As it took a bit of a hunt to still find somewhere those older and more useful editions of various reference books on Computer Graphics, I shrugged at first at the note attached to one of them – “disc included”, it said and I couldn’t really care at all whether the disc in question was indeed still included or still to be found or still working or even still anything at all. And as the books came, I took my time to look them over, noting even that they don’t make perhaps such a bad name-day companion after all and it’s no hurry and all that. But an honest shopkeeper is an honest shopkeeper and his notes can be therefore trusted, for included it turned out to be, for all the surprise that the image of this most humble disc in question may nevertheless stir perhaps in some younger readers of mine:

disk_1_640.jpg

Included it was therefore, as you can surely see for yourself above, if not a disc but a disk(ette). For future record and for even younger readers, above depicted is a 3.5 inch floppy disk that belongs with this book from 1994, basically the most advanced and latest floppy disk model that there ever was. The memory trip it stirred insists that those old computers I still supposedly have in an attic somewhere have the drives required to read 3.5 disks as well as those able to read the older, larger floppy disks – 8 inch, if memory serves. At any rate, I would not be terribly surprised if this disk is perhaps still working too. Only I don’t quite think I’ll rush now to that old attic all those kilometres away to dust off one of the old computers, see if any of the CRTs still light up and then try it all out.

Let me know though if you ever want to try it out yourself, for good times’ sake or for anything else at all – the disk is here and it remains, indeed, included!

May 3, 2020

#ossasepia Logs for May 2020

Filed under: #ossasepia,Logs — Diana Coman @ 6:07 am
feedbot: http://younghands.club/2020/05/01/a-week-in-ossasepia-1-3-march-2020/ << Young Hands Club — A Week in #Ossasepia 1-3 March 2020 [02:07]
feedbot: http://ossasepia.com/2020/05/01/ossasepia-logs-for-01-May-2020/ << Ossa Sepia — #ossasepia Logs for 01 May 2020 [02:10]
feedbot: http://younghands.club/2020/05/01/dg-agenda-20200501/ << Young Hands Club — DG Agenda 2020.05.01 [02:48]
lobbes: http://logs.ericbenevides.com/log/ossasepia/2020-04-26#1025274 << I definitely fell off the world a tad in April. I did get caught up with saltmine debt though. I'm also current again with the logs and most of the blogs, though turns out I let lobbesblog.com expire (had to email them and am waiting to hear back, but the server it pointed to is still active: 104.244.76.215) [06:11]
ericbot: Logged on 2020-04-26 19:08:58 diana_coman: lobbes: what happened to you this almost full April, anyway? [06:11]
lobbes: I'm planning to get my month review out tomorrow. I'm going to continue the thread from here into there. (I'm a bit late with this as well..) [06:12]
feedbot: http://trilema.com/2020/big-city/ << Trilema — Big City [09:11]
feedbot: http://bimbo.club/2020/05/work-report-4302020/ << Bimbo Club — Work Report – 4/30/2020 [09:55]
cruciform: diana_coman, thanks for the feeback on the agenda & log summary – very helpful! [19:13]
diana_coman: cruciform: you're welcome. [21:08]
diana_coman: lobbes – I guess I'll read all about it in the review & plan; otherwise from here so far it seems rather as initially predicted that dropping the shorter-term plans & reviews just works as it always "worked" – to not get anywhere. [21:10]
jfw: diana_coman: I didn't start yet on my week's review (there's reasons!!); it'll be out by tomorrow. [21:13]
diana_coman: jfw: out of reasons by tomorrow? lolz [21:15]
diana_coman: apparently planning and reviewing is not that special – the more painful/impossible/unreasonable!!!! one finds it, the more… one needs it, in all likelihood. [21:17]
jfw: I had a chat with parents, noting that medical insurance had been on my agenda for weeks now but I still couldn't manage to care about it. In the end, mom worries about why I'm quite so allergic to this sort of paperwork, websitelogins etc., but dad will take on some of the administrative work, in return for some computer help (that he'd been waiting to ask for anyway). So that seems to work out [21:18]
jfw: nicely [21:18]
diana_coman: lol [21:19]
diana_coman: jfw: so dunno, go around the town and find others who might do stuff for you in exchange for computer help? if it's a working model, at least use it for all it's worth! [21:21]
jfw: hey, that's the "generalized IT consulting" right? [21:22]
jurov: diana_coman: with ben_vulpes [21:23]
diana_coman: oh, is that it? I had a sort of …less barter, more commerce image of it, lol [21:23]
diana_coman: jurov: oh, hi; I had no idea ben_vulpes was still on it at all; anyway, what do you plan with it, if you don't mind me asking? [21:24]
jfw: diana_coman: now there's a thought, maybe people will pay in work what they wouldn't pay in cash [21:25]
jurov: it has not crystallized yet, mostly support some interesting projects around V. [21:25]
diana_coman: jurov: so do you have a team of people or some ongoing projects or what do you have in mind? is communication going through you only or is there some other means/place for it? [21:28]
diana_coman: jfw: they generally would, with the caveat of what "work" might mean, eh. [21:28]
jurov: diana_coman: if there was, are you interested in joining it? [21:29]
diana_coman: jurov: without knowing what "it" was, I can't possibly say; the reason why I'm asking you all those questions is to figure out what "it" is in the first place, really [21:30]
jfw: hi jurov. I'm curious as well as I've been digging into TRB lately. I've been active here since around last September if you don't know me. [21:31]
diana_coman: sadly atm I'm a bit rushed as usual on Fridays but maybe we do get to talk a bit more tomorrow or ~any other day really [21:31]
diana_coman: I'll read the logs ofc, anyway. [21:31]
diana_coman: will have to go in ~5 min [21:31]
jurov: "it" isn't anything concrete yet [21:32]
jfw: diana_coman: indeed, quite the caveat. [21:32]
jfw: http://ossasepia.com/2020/05/01/ossasepia-logs-for-01-May-2020/#1025554 – how true this turns out. I seem to fall back on my old review-phobia, perhaps because I have a sense of not getting much done this week – which might not even be true! going to bed now. [08:21]
sonofawitch: 2020-05-01 21:15:22 (#ossasepia) diana_coman: jfw: out of reasons by tomorrow? lolz [08:21]
diana_coman: congrats dorion on publishing that sales article [10:14]
feedbot: http://ossasepia.com/2020/05/02/ossasepia-logs-for-02-May-2020/ << Ossa Sepia — #ossasepia Logs for 02 May 2020 [11:59]
feedbot: http://younghands.club/2020/05/02/ejb-review-of-april-2020-plan-for-may-2020/ << Young Hands Club — ejb: Review of April 2020, Plan for May 2020 [11:59]
feedbot: http://trilema.com/2020/french-toast-the-making-the-eating-and-the-fucking-of/ << Trilema — French toast — the making, the eating, and the fucking of. [11:59]
feedbot: http://dorion-mode.com/2020/05/protect-what-matters-with-jwrd/ << Dorion Mode — Protect What Matters with JWRD [11:59]
feedbot: http://thewhet.net/2020/05/the-froth-of-our-days-september-13th-2014/ << The Whet — The Froth of Our Days: September 13th, 2014 [12:03]
feedbot: http://ossasepia.com/2020/05/02/eulora-logs-for-02-May-2020/ << Ossa Sepia — #eulora Logs for 02 May 2020 [12:06]
feedbot: http://thetarpit.org/2020/my-opinion-of-this-whole-covid-matter << The Tar Pit — My opinion of this whole "covid" matter [16:07]
jfw: congrats indeed dorion, quite a few revision passes went into that. [21:04]
diana_coman: shall not ask dorion to write also the compare-and-contrast first version to published version. [21:06]
diana_coman: though jfw's above remark makes it very tempting indeed! [21:07]
diana_coman: jfw: how's your review/planning ? [21:09]
jfw: diana_coman: I haven't moved on it yet, and I was thinking to take on a blog article first. Maybe I'm backwards there. [21:12]
diana_coman: jfw: well, if you use the blog article to push the review aside/further, it will surely end up late etc; so yeah, if you want it done, better do it earlier than later and get rid of it. [21:13]
jfw: alright. [21:14]
diana_coman: jurov: are you around & do you want to detail perhaps on what you and ben_vulpes have in mind re supporting projects around V? [21:15]
jurov: diana_coman: not really, don't want to air speculation [21:29]
dorion: diana_coman, jfw thanks. diana_coman that compare and contrast exercise did occur to me given the difference. [21:31]
diana_coman: jurov: uhm, I wasn't asking for speculation but alright. [21:33]
diana_coman: dorion: in fairness you probably got that already simply through the repeated iterations; not that it would hurt anything to re-read the full series perhaps if you find the time for it. [21:43]
dorion: diana_coman I for sure got a lot out of the iterations, I'll make time for at least the re-read nevertheless. [22:10]
feedbot: http://ossasepia.com/2020/05/02/new-skins-for-fashionable-hopefuls/ << Ossa Sepia — New Skins for Fashionable Hopefuls [22:16]
diana_coman: lobbes' discovery of a potential role of the daily reporting as anchor might resonate with others as well. [22:35]
jfw: lobbes: your missing href? http://trilema.com/2013/how-to-live-to-be-rich/?b=Note&e=considerations.#select [22:58]
feedbot: http://younghands.club/2020/05/03/jfw-review-week-of-27-apr-2020/ << Young Hands Club — JFW review, week of 27 Apr 2020 [06:07]
feedbot: http://ossasepia.com/2020/05/03/ossasepia-logs-for-03-May-2020/ << Ossa Sepia — #ossasepia Logs for 03 May 2020 [06:11]
feedbot: http://younghands.club/2020/05/03/erics-log-may-2nd-2020/ << Young Hands Club — Eric's log: May 2nd, 2020 [07:06]
lobbes: http://logs.ericbenevides.com/log/ossasepia/2020-05-02#1025586 << this was precisely the reference I was looking for, ty (and added). [07:13]
ericbot: Logged on 2020-05-02 21:08:01 jfw: lobbes: your missing href? http://trilema.com/2013/how-to-live-to-be-rich/?b=Note&e=considerations.#select [07:13]
feedbot: http://bimbo.club/2020/05/work-report-5022020/ << Bimbo Club — Work Report – 5/02/2020 [09:09]
feedbot: http://trilema.com/2020/here-dear-bois/ << Trilema — Here, dear bois… [18:08]
jfw: appears I can't edit a slug on YH after publication, needs JS perhaps (was trying to replace 3 May with 4 May) [18:26]
jfw: permalink I mean [18:26]
feedbot: http://younghands.club/2020/05/03/jfw-plan-week-of-3-may-2020/ << Young Hands Club — JFW plan, week of 4 May 2020 [18:26]
diana_coman: !s help [20:41]
sonofawitch: !s is my prefix for commands: hi, help [20:41]
feedbot: http://ossasepia.com/2020/05/02/eulora-logs-for-may-2020/ << Ossa Sepia — #eulora Logs for May 2020 [20:42]
diana_coman: jfw: the edit of the permalink from mpwp gui does indeed require javascript [20:42]
feedbot: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/ << Ossa Sepia — #ossasepia Logs for May 2020 [20:42]
diana_coman: in other bot/logger updates – I've changed it so that the articles will be just one per month rather than one per day; for one thing there isn't really all that much text to justify one for each day and for another thing, there's just too many of them otherwise. [20:43]
feedbot: http://ossasepia.com/2020/04/21/ossasepia-logs-for-03-Feb-2020/ << Ossa Sepia — #ossasepia Logs for 03 Feb 2020 [21:09]
feedbot: http://ossasepia.com/2020/04/21/ossasepia-logs-for-04-Feb-2020/ << Ossa Sepia — #ossasepia Logs for 04 Feb 2020 [21:09]
diana_coman: spyked: what throws feedbot off above? [21:10]
diana_coman: I took out 2 articles but why would it jump all that way back to *that*?? [21:11]
diana_coman: (the 2 articles in question are the logs for 2nd and 1st of May that got absorbed into the one single log for May for #o) [21:12]
feedbot: http://trilema.com/2020/coltunasi/ << Trilema — Coltunasi [22:10]
feedbot: http://www.krankendenken.com/2020/05/my-experiences-with-shinjiru-and-host-one/ << Krankendenken — My experiences with Shinjiru and Host One [02:58]
feedbot: http://younghands.club/2020/05/04/erics-log-may-3rd-2020/ << Young Hands Club — Eric's log: May 3rd 2020 [05:37]
feedbot: http://thewhet.net/2020/05/cold-knocks/ << The Whet — Cold Knocks [05:51]
feedbot: http://bimbo.club/2020/05/work-report-5032020/ << Bimbo Club — Work Report – 5/03/2020 [07:19]
spyked: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1025620 <– wp acts retarded sometimes; on the 1st layer: in some circumstances (not entirely known to me), it re-assigns new post IDs to old articles; on the 2nd layer: rss channel entries are identified using the "guid" tag, and when a post gets a new postid, its guid tag also changes. [08:04]
sonofawitch: 2020-05-03 21:10:30 (#ossasepia) diana_coman: spyked: what throws feedbot off above? [08:04]
spyked: speaking of which, diana_coman, it looks like (some of) your log articles have empty guid tags? when feedbot doesn't find the guid for an entry, it uses the "link" tag instead, but otherwise it can't guarantee all that much, because how else is it supposed to identify rss entries. [08:07]
diana_coman: spyked: hm, I'll add the guid tags to the list since it seems I really have to sink some days into sorting out mpwp for my current needs, after all. [09:31]
spyked: diana_coman: is the logbot adding/modifying articles via mysql? [09:41]
spyked: wonders, what is mpwp using to generate that particular tag? [09:42]
diana_coman: spyked: yes, via mysql [09:58]
diana_coman: and I didn't specifically care about guid tags so possibly there's something missing indeed [09:58]
diana_coman: I half dread I'll end up stripping half of mpwp codebase if I really sink days into setting the blog straight once and for all but the annoyance and pressure is building on that front so …I guess I'll find out soon enough. [09:59]
diana_coman: http://ossasepia.com/2020/04/27/ossasepia-logs-for-27-Apr-2020/#1025351 – ftr dorion , one week in, I don't see much of this. [10:03]
sonofawitch: 2020-04-27 21:11:04 (#ossasepia) diana_coman: dorion: what's your plan re using those resources ? [10:03]
spyked: diana_coman: it seems that there's indeed a 'guid' field in the wp posts table. and rss grabs it in e.g. wp-includes/feed-rss2.php (via the_guid(), defined in wp-includes/post-template.php) [10:47]
diana_coman: spyked: I didn't look but I'd have expected that field to be added automatically on insert really; possibly some of the php normally does that; anyways, I'll probably find out soon enough indeed. [12:02]
diana_coman: billymg: your v-tree at http://billymg.com/mp-wp-vtree/ stops at mp-wp_comments_filtering.vpatch while my local tree has also mp-wp_add-embedded-vpatch-formatting.vpatch ; as a result, now I'm confused as to what even is the full current trunk, let alone whatever modifications I might have deployed otherwise. [12:03]
spyked: diana_coman: I don't think it can set the field on auto, since it's a string. so yeah, I think it's generated in php, based on the URL and the post ID, i.e. http://myblog/?p=N [12:40]
spyked: (for further reference: from the looks of it, it's set in wp-includes/post.php, in the wp_insert_post mega-function, e.g. http://paste.deedbot.org/?id=68UC ) [12:46]
billymg: diana_coman: yeah i haven't updated yet because i was going to republish that patch with some of the feedback from jfw. then that feedback plus discussion in here prompted a pause to do some research (the survey), and last week i got sidetracked with some IRL work plus a trip to arenal (blog post drafted and ready [19:16]
billymg: to go once i get some permissions assistance on anyserver) [19:16]
billymg: diana_coman: this time i did all my image processing locally with a script i put together based on the one whaack shared and your mention of a locally running imagemagick, and so now my anyserver user is bumping into permission restrictions on a folder previously generated by apache (via mpwp) when trying to copy over the images [19:20]
feedbot: http://billymg.com/2020/05/guanacaste-san-jose-and-arenal-two-months-in-costa-rica/ << billymg — Guanacaste, San Jose, and Arenal: Two Months in Costa Rica [20:35]
diana_coman: billymg: btw, since I did one round of digging through the whole pile of mpwp yet again – by now it's better I'd say to remove that "selection-magic" thing given that it's broken [20:38]
billymg: diana_coman: indeed, jfw has a patch for that already (just need a minor tweak) [20:40]
ossabot: Logged on 2020-04-22 21:32:40 billymg: http://ossasepia.com/2020/04/23/ossasepia-logs-for-22-Apr-2020#1025005 << jfw, yup, looks good. one minor thing for the patch removing js selection: the wrapper <span> tags in page.php and single.php can be removed as well [20:40]
billymg: i was gonna wait for him to make that last update and then add his two patches to my mirror of the trunk [20:41]
diana_coman: cool then; is there in any of those (im)pending vpatches the fixing of the trilema-specific links-immunity? because I noticed that in the main trunk it's set to trilema.com and nowhere even mentioned, lolz. [20:42]
diana_coman: billymg: do you know by any chance where is the page/nopage set for the archives? not sure why is this even so different than for the rest but I can't seem to properly & fully figure it out atm. [20:44]
billymg: diana_coman: re: trilema-specific links, not to my knowledge, but i can add that as a drive-by fix in the code embed patch [20:49]
billymg: diana_coman: what do you mean by page/nopage set for archives? [20:50]
diana_coman: billymg: how to set it so it does not paginate archive contents, for any archive [20:53]
diana_coman: I can set it directly for posts, there are some parameters to the posts query but I can't quite figure out how to set it only for archives [20:53]
billymg: ah i see, so for example on http://ossasepia.com/2020/04/ you'd like all of the entries to be on a single page? [20:55]
diana_coman: yes [20:55]
jfw: diana_coman: what's the links-immunity mean? [20:56]
billymg: diana_coman: got it. i don't know offhand but i can look [20:57]
diana_coman: jfw: mpwp is set so comments with links get into the moderation queue *except* those with links to trilema.com [20:58]
diana_coman: ofc, one would change that to links to own site; or hm, so I supposed, lol [20:58]
diana_coman: now it will turn out everyone runs it with trilema.com [20:59]
jfw: checking what I did on mine… [20:59]
diana_coman: jfw: it's in wp-includes/comment.php [21:00]
feedbot: http://younghands.club/2020/05/04/rmd-w26-review-apr-26th-may-3rd-2020/ << Young Hands Club — RMD w26 review, Apr 26th-May 3rd, 2020 [21:04]
jfw: I see a trilema.com in a preg_match_all and yeah, I had no idea that file needed tweaking. [21:06]
jfw: I believe I raised the link count threshold to count as spam in the admin UI, possibly that's why it hasn't bothered me. [21:07]
feedbot: http://younghands.club/2020/05/04/rmd-w27-plan-may-4-8th-2020/ << Young Hands Club — RMD w27 plan, May 4-8th, 2020 [21:07]
diana_coman: jfw: yes, that one in check_comment; as you can see, it subtracts links to trilema from total links before it looks if it's to go to modq or not [21:08]
diana_coman: jfw: well, you wouldn't specifically notice it as such I suppose anyway unless really paying attention/getting surprised at some comments making it through without moderation perhaps. [21:09]
jfw: I can't quite make out what those REs are doing, especially the starting | and trailing |i and *? (guessing the ? is just redundant with the * there, but with all the different RE variants it could mean something entierly else for all I know…) [21:20]
jfw: think I'll leave it to billymg unless he asks for help though :) [21:20]
billymg: diana_coman: do you think it's something that should just be removed? and if someone wants to whitelist their domain they update the regex accordingly? i could see it as a useful feature if the whitelisted domain(s) could be set at the db or config level and pulled into that regex [21:23]
jfw: billymg: I'll do that comments-js removal vpatch tweak / regrind by Sunday, unless you'd prefer it wait to build on the patch-review patch. (Not that it's hard, just lots else on the plate.) [21:23]
billymg: jfw: sunday is fine for me, i was going to place the patch-review patch on top of those after making the final round of updates [21:24]
diana_coman: billymg: hm, I think that the blog's domain is actually in the db, isn't it? [21:25]
diana_coman: in _options iirc [21:25]
billymg: diana_coman: ah, true, could just pull from that then [21:25]
jfw: ^, or WP_SITEURL from wp-config.php [21:25]
jfw: (the two may interact in some way…) [21:26]
billymg: my thought was to make it a csv list perhaps, so one could whitelist multiple domains, but that could always wait for later (if it even seems worth doing) [21:26]
diana_coman: jfw: the wp-config values are used at install time to set those in the db iirc [21:26]
diana_coman: not sure they are even directly used afterwards [21:26]
diana_coman: billymg: there is somewhere further whitelisting iirc based on blogroll; or so it was intended [21:27]
billymg: diana_coman: ah, got it [21:30]
diana_coman: dorion: fwiw I can fully relate to single-focus on one thing and one thing only but with (a lot of) experience, I learnt also that it ~never works well like that over days/weeks/more and moreover it's not even as effective as it may seem; so yeah, practice a more balanced approach, it's worth it. [21:31]
diana_coman: cruciform: did you get lost in the relaxing one-day? [21:32]
dorion: thanks diana_coman. though I didn't foresee it, it makes sense in retrospect that the pattern re-emerged as I get going again. Today has been more balanced and I'm looking forward to keeping it up. [22:01]
feedbot: http://younghands.club/2020/05/05/erics-log-may-4th-2020/ << Young Hands Club — Eric's log: May 4th, 2020 [06:35]
spyked: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1025673 <– the first and last | are delimiters; the i there is a modifier; not sure about the ?s myself [10:35]
sonofawitch: 2020-05-04 21:20:05 (#ossasepia) jfw: I can't quite make out what those REs are doing, especially the starting | and trailing |i and *? (guessing the ? is just redundant with the * there, but with all the different RE variants it could mean something entierly else for all I know…) [10:35]
jfw: spyked: ah right, PCRE, "I herd you like delimiters so I put delimiters in your delimiters" etc., ty. [21:29]
diana_coman: as part of the most recent futzing about with the theme on my blog, the text area is now based on % of the screen so hopefully that's better for everything really, logs included; I've nuked also the theme's font-minimizing imposition [21:37]
jfw: looking very nice including the banner diana_coman [21:40]
diana_coman: jfw: thank you, that's very good to hear! (because I can futz with this sort of thing until next month and I will *still* not like it, lol) [21:40]
jfw: was going to note the gray title was hard to read against the banner but I refreshed and it was fixed, heh. [21:41]
diana_coman: the banner is script-generated, I should set a bunch and cycle but not today [21:42]
diana_coman: yeah, css + positioning + colours are something I can thoroughly test all my patience with. [21:42]
jfw: meanwhile my patience is wearing thin with 'Zoom'; shockingly, their "how to allow us through your firewall" listing of a few dozen networks is incomplete, and DNS seems basically manditory as it looks up a few dozen things nondeterministically [21:45]
BingoBoingo: jfw: I run it on a toilet box of suficiently low clearance [21:46]
BingoBoingo: Realtime online video is a very dirty, shitty, stinky market [21:47]
diana_coman: jfw: ahaha, is it worse than sorting out that health insurance or not just yet? [21:47]
jfw: BingoBoingo: likewise, but just because the box is a toilet doesn't mean I won't make sure the pipes are as well sealed as I can get them [21:48]
jfw: diana_coman: not just yet, heh. [21:48]
diana_coman: jfw: are you planning to use that zoom for lesson deliveries too? [21:52]
jfw: diana_coman: that's the idea [21:52]
jfw: I suppose a blog post on 'how to firewall zoom' might actually get some good traffic [21:54]
diana_coman: well, it sounds like something worth writing up and publishing, once figured out, for sure. [21:55]
feedbot: http://ossasepia.com/2020/05/05/disc-included-spelling-approximate/ << Ossa Sepia — Disc Included, Spelling Approximate [23:37]
feedbot: http://younghands.club/2020/05/06/erics-log-may-5th-2020/ << Young Hands Club — Eric's log: May 5th, 2020 [08:28]
feedbot: http://trilema.com/2020/the-insecure-twits-the-needy-canadians-the-rsr-americans-and-ongoingly-in-this-vein-until-sanity-falls-over-and-also-beyond/ << Trilema — The insecure twits, the needy canadians, the RSR americans and ongoingly in this vein, until sanity falls over. And also — beyond. [17:53]
diana_coman: cruciform: what happened to you? [21:08]
jfw: huh, IPv4 real estate has been yielding upwards of 40% annually since 2015, per https://ipv4marketgroup.com/ipv4-pricing/ . I wonder if "alternative investment" types are onto this yet; way more fungible than domain names [04:10]
feedbot: http://bimbo.club/2020/05/work-report-5062020/ << Bimbo Club — Work Report – 5/06/2020 [07:17]
BingoBoingo: jfw: I the ongoing saga of lulz and acquisitions Zoom… is buying ancient turd Keybase. [18:33]
BingoBoingo: Deal appears to be an acqui-hire [18:33]
diana_coman: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1025717 – lolz, though kind of following the usual pattern really. [21:05]
sonofawitch: 2020-05-07 18:33:12 (#ossasepia) BingoBoingo: jfw: I the ongoing saga of lulz and acquisitions Zoom… is buying ancient turd Keybase. [21:05]
diana_coman: in fairness and looking at it from another angle – what *could* they buy that is not similar, after all. [21:05]
diana_coman: jfw: did zoom yield to running on those reasonably sealed pipes ? [21:07]
sonofawitch: 2020-05-05 21:48:03 (#ossasepia) jfw: BingoBoingo: likewise, but just because the box is a toilet doesn't mean I won't make sure the pipes are as well sealed as I can get them [21:07]
jfw: indeed, people noticed their encryption is a joke, so buy the shop that "everyone" trusted to hold all the keys! [21:07]
diana_coman: jfw: eh, this "people noticed" is ~0; sure, they "noticed" and … keep on using them, right? [21:08]
jfw: diana_coman: it wants to connect to anything and everything on port 443; it runs to some degree with a whitelist, but I've had some problems that might be resulting from that, and doesn't bode well for ongoing stability [21:09]
diana_coman: but yeah, from where I see it, it's pretty much a competition on perceived popularity, not on quality really, and it fits. [21:10]
diana_coman: I kind of doubt you'll get stability with it regardless of whether you allow it to connect to anything and everything or not, lol [21:11]
jfw: can't really argue there. [21:14]
diana_coman: jfw, dorion at any rate, do you plan to take advantage of this covid-induced fashion for "do not meet, go online" and push the online sessions more widely or not/what else? [21:15]
diana_coman: jfw: the point there is that zoom (like python, like eulora's client etc) is the sort "use it like it was the enemy because it is " [21:16]
diana_coman: so don't waste time trying to cater to whatever it wants/requires – set it on separate net if you have to, redundant instances or whatevers to give you the stability you want and otherwise don't waste time on it [21:17]
jfw: my first impulse as far as treating it like the enemy was to take a close look and try to fence it in tightly; but yeah, it taxes me more by time in playing that game [21:21]
jfw: and yes I figured an upside of online training would be an ability to push it more widely, but doesn't seem like we have any concrete plan for doing that. Focus has been on the handful of current prospects. [21:28]
diana_coman: jfw: with practical example from my latest sad experience of wasting time and a lot of effort too – basically not worth paying attention to any of the rotten stuff, not even the slightest tiny bit (because it will *still* eat up a lot of time, no matter how tiny or innocent or benign bit it seems to start with). [21:29]
diana_coman: jfw: so maybe make a plan? lol [21:30]
diana_coman: dorion: ^^ [21:31]
diana_coman: jfw: do you have current prospects at your location too or only those at dorion's ? [21:33]
jfw: diana_coman: by "not worth paying attention" do you mean not worth using it at all, or just being …careful about it? (reading the link) [21:33]
diana_coman: jfw: not worth paying attention *to any of its requirements* [21:35]
jfw: I haven't done much/any scouting here. Don't know anyone in town besides family, but there's a bunch of them so perhaps that'd make a good start for getting introductions [21:35]
diana_coman: so use it, sure; but use it forcefully to do what you need, and without any regard to what it says/wants/expects/whatevers [21:35]
diana_coman: it surely can't hurt anything and after all, why not getting to know people; yeah, at first you don't know anyone in a new town, kind of a given but doesn't have to stay that way, lol. [21:37]
diana_coman: now I noticed I got a spurious / in my earlier link; should just be all the way to end of para, so here's the fixed link [21:38]
jfw: ah ok. and yeah, I should get on that. [21:39]
diana_coman: jfw: while the paragraph above is specific to eulora's client and all that, hopefully it's clear enough as illustration of working with it vs working *it*. [21:41]
diana_coman: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1025745 – this sounds …like that health insurance plan! [21:42]
sonofawitch: 2020-05-07 21:39:06 (#ossasepia) jfw: ah ok. and yeah, I should get on that. [21:42]
jfw: like I'm already expecting it to be miserable [21:44]
diana_coman: more like you know you should do it but you'd really rather not do it, lol [21:45]
jfw: yeah, trying to find why that is though [21:47]
diana_coman: jfw: dunno, the very-outgoing-enjoying-meeting-random-people-jacob? [21:53]
diana_coman: (alternatively – it can get chaotic and it's even harder than zoom to fence in!) [21:56]
sonofawitch: 2020-03-03 16:40:31 (#ossasepia) jfw: Can get the faster ones to help the others to some extent too, but it can get chaotic [21:56]
jfw: right, jacob prefers his chaos in small doses [21:57]
diana_coman: only this is the sort of thing where preferences shouldn't be allowed to rule the matter, really. [21:58]
diana_coman: on the bright side though, even strong preferences can still be …tamed let's say, with a lot of practice; possibly painful practice, might add, but it works. [22:00]
jfw: good to know it works at least. [22:04]
jfw: diana_coman: so in the eulora example, Planeshift "required" character models to work a certain way, but because it was a stupid way, the effort ended up better spent on bypassing it (while still using parts of it elsewhere) than adapting to it? [22:12]
diana_coman: jfw: the "requirement" seemed small and innocent since after all, what's the trouble with "characters on the ground", right? but as soon as used for anything really, it turned out to be (as it always turns out to be; if only I stop forgetting this, already) basically the first sip of a… spittoon. [22:16]
diana_coman: in the sort of stupid-ball that those things are, ~any part no matter how small will bring in quickly a lot of further stupid, as soon as taken at face value otherwise; because that's how the whole insanity is built in the first place, kind of layer upon layer of stupid reinforcing one another and making anything else impossible [22:18]
diana_coman: in principle, ~any convention re position of models can be fine; but *only* if implemented sanely and that's the catch there – it won't be implemented sanely because that's why the whole thing is the enemy in the first place [22:19]
diana_coman: it's instead implemented exactly to support the *opposite* of what you are trying to do; hence "the enemy" [22:20]
diana_coman: (in the example from eulora – no trouble to have characters on the ground if one has also the means to rotate them around their own axes; but setting them on ground because "too much trouble to do all the transformations" ends up with "can't rotate nor find out the origin " and so on) [22:21]
diana_coman: for that matter the part where the actual origin can't be known still boggles the mind, given that the models are given in…coordinates, wtf. [22:22]
jfw: and how could there not be a way to have their own transform matrix in the stack, I wonder innocently [22:22]
diana_coman: the short version of the whole "it's the enemy" re code would be that the code in question is built to *not permit* the sort of work you want to do with it; no matter in what /how small parts you look at it and no matter how it might seem at first. [22:23]
diana_coman: jfw: they could have, ofc; but that's how it starts, you see? they got this "convention" in not in order to have a standard (which would be a useful thing even) but because of trying to avoid "calculating transformations is Maths and it's hard!!" [22:25]
diana_coman: quite transparently, at that. [22:25]
jfw: designed to not permit – that certainly fits the zoom experience (and surely lots more too, that's just what's fresh in mind) [22:25]
diana_coman: well yes; I'm forgetful/soft enough to have therefore obtained a lot of practical experience and it always goes like that, yes. [22:26]
jfw: ahaha, one wonders how one for whom transformations is hard gets into writing 3D engines. [22:26]
diana_coman: jfw: ah, the Planeshift guys did not write the engine [22:27]
diana_coman: that's the thing, the CS is the engine and (while far from perfect), *that* bit is way, way saner than everything else [22:28]
diana_coman: and it has been in this sense built with a sane view ie it allows ofc transformations ; you'll notice I even say there that yes, I ended up using CS's rotations perfectly fine [22:29]
diana_coman: bypassing all of PS on top [22:29]
diana_coman: PS (planeshift) though is the client code really, hence client is the enemy. [22:29]
jfw: ah ok, I gathered PS was something on top but not sure at what level. [22:30]
diana_coman: ftr, the engine CS started as the work of one guy; the Planeshift game is …open source, "community effort" and all those "trims" ; that show! [22:30]
diana_coman: there are 3 clear layers to that thing: cs is the graphics engine; cal3d is a (reasonably sane) library for animation and is used by cs; on top of those comes the insanity aka the client aka planeshift. [22:31]
diana_coman: (though I do resent the single-minded focus on rasterised graphics of both cs and cal3d, they are otherwise incomparably saner than ps, for sure) [22:33]
jfw: the man alone at least has an easier time of maintaining conceptual integrity; the art then is to work with others in a way that supports you rather than gobbles you into The Community? [22:34]
diana_coman: well, supposedly that's the advantage of working alone; but the point is to work with others of *same mind*, not with whatever others; so don't mix the two like that, as it's quite misleading in the best of cases. [22:35]
jfw: so "who" rather than "how", makes sense [22:36]
diana_coman: and possibly how it all starts anyway – on the strength of "I can maintain conceptual integrity if alone" (and possibly assorted further "savings" of time and talk etc), the man alone finds the great way to give in to his preference for… less chaos, I think it was :P [22:37]
diana_coman: otherwise yes, the "how to work with enemy" can apply to more than code, sure [22:38]
jfw: he doth. [22:39]
feedbot: http://bimbo.club/2020/05/work-report-5072020/ << Bimbo Club — Work Report – 5/07/2020 [10:03]
feedbot: http://ossasepia.com/2020/05/08/an-abundance-of-bones-4th-parade-of-hopefuls/ << Ossa Sepia — An Abundance of Bones: 4th Parade of Hopefuls [14:29]
cruciform: http://logs.nosuchlabs.com/log/ossasepia/2020-05-04#1025686 yea :p – I'll be back to work today; have an update posted [20:43]
snsabot: Logged on 2020-05-04 15:32:17 diana_coman: cruciform: did you get lost in the relaxing one-day? [20:43]
diana_coman: cruciform: heh, congrats on finding the way out of it, then! [20:58]
cruciform: diana_coman, thanks! finally handed in my 30 day notice, so things are… moving! How're you? [21:05]
diana_coman: o.O ; notice from professional gambling? I had no idea it was a regular employment sort of thing. [21:06]
cruciform: I mean, for my flat [21:06]
diana_coman: ah, lol [21:06]
diana_coman: that's at least a way to make sure you are indeed moving, I guess; the where part can wait. [21:07]
cruciform: lol, yes – I seem to get more done when there's a fire under my arse [21:08]
diana_coman: that's valid for everyone really; the only thing is the threshold otherwise, lol. [21:12]
feedbot: http://trilema.com/2020/the-little-squirts-of-doom-and-other-minor-preoccupations-of-this-philistine-fin-de-siecle/ << Trilema — The little squirts of DOOM and other minor preoccupations of this philistine fin de siecle [05:03]
jfw: Stumbled on http://logs.ossasepia.com/log/trilema/2019-10-10#1944718 – thread pretty relevant to very-outgoing-jacob. [05:50]
sonofawitch: 2020-05-07 21:39:06 (#ossasepia) jfw: ah ok. and yeah, I should get on that. [05:50]
ossabot: (trilema) 2019-10-10 lobbes: http://logs.ericbenevides.com/log/trilema/2019-10-10#1944415 << I see what you mean, and this makes sense. In that case, I must confess I have not spent my time here in carolinastan taking ownership of the place. Certainly have not made and BTC/fiat interface contacts, which I do see now as foolish. [05:50]
ericbot: (trilema) 2019-10-10 mp_en_viaje: ownership of a place is a thing. [05:50]
jfw: lobbes & billymg, how's the de-hermitizing been going for you gents? [05:52]
jfw: I gather from nicoleci's recent reports that such ongoing filtration efforts form a good chunk of her work [05:54]
diana_coman: jfw: not even hard to stumble on something in that vein given how it's a good chunk of the logs anyway; but yes, relevant. [09:02]
feedbot: http://bimbo.club/2020/05/work-report-5082020/ << Bimbo Club — Work Report – 5/08/2020 [09:51]
billymg: http://logs.ossasepia.com/log/ossasepia/2020-05-09#1025805 << quite well for me, made some new contacts during the arenal trip, and another just recently when getting dinner with whaack [21:18]
ossabot: Logged on 2020-05-09 01:15:29 jfw: lobbes & billymg, how's the de-hermitizing been going for you gents? [21:18]
jfw: hey nice. [21:19]
billymg: yeah, getting out of the US helped a lot in my case [21:19]
jfw: ticos more interesting or receptive? [21:20]
billymg: well the above mentioned contacts were all gringos actually [21:20]
billymg: but i've made some good tico contacts as well [21:20]
jfw: ah, did the change of scenery change your state of mind then or how did it help? [21:22]
billymg: it's more that the atmosphere here is more friendly/open. you're not constantly worried that the person you're talking to might be stasi (exaggeration, i know, but people have lost careers in the US for having The Wrong Opinion) [21:22]
diana_coman: the sort of "career" that one loses for having "The Wrong Opinion"… such loss. [21:22]
billymg: jfw: yes, a bit of that as well [21:23]
jfw: haha, in the land of diversity & tolerance for all? impossible! [21:23]
billymg: diana_coman: lol [21:23]
billymg: diana_coman: unfortunately this is most of the silicon valley fiat spigots [21:23]
billymg: was just talking with former coworker this morning, realized we sorta think differently about the whole covid thing [21:24]
billymg: nice though that i can now just say what i think, instead of pretending to agree with the party line [21:24]
jfw: billymg: for sure. [21:26]
diana_coman: billymg: I'm sure it is and I'm not even surprised; fwiw I have refused to even answer to/go to the interview request from google; and yeah, those former uni/classmates that I know currently working in silicon valley …what can I say, it showed even ~20 years ago, there's a reason for it. [21:26]
diana_coman: as one of them put it "it's a ridiculous amount of money" – and that's where he stopped with any thinking, even of the sort "how much of it is just ridiculous and how much of it is actual money" [21:27]
billymg: diana_coman: well i was at least able to convert it into btc, property in another country. not sure how much longer that window will stay open though [21:29]
billymg: diana_coman: but yeah, there were a few former coworkers who i knew had their heads on straight, but for whatever reason (mortgage, family), couldn't bring themselves to leave [21:31]
diana_coman: I suppose he could have; I doubt he did or will, because it takes some sort of buy in to swallow up all the rest with it, what can I say; (and possibly more for him than for you given that it was more uphill for him to get there in the first place, in all likelihood) [21:31]
billymg: lol, most ridiculous thing was when the ny office's men's bathroom started being stocked with tampons. it was not talked about. everyone just acted as if of course that's what you do [21:33]
billymg: happened last summer after i had already transferred to the texas office. i came back for some even in nyc and thought i had accidentally walked into the wrong restroom [21:33]
billymg: event* [21:33]
diana_coman: ahaha, I can't imagine the thinking behind it. [21:34]
diana_coman: as for reasons…those are easiest to find when one looks for them, there's always plenty. [21:35]
billymg: diana_coman: > and possibly more for him than for you given that it was more uphill for him to get there in the first place, in all likelihood << didn't think about this angle but yes, likely true [21:37]
diana_coman: jfw: dunno though, I didn't get the impression that your lack of enthusiasm for getting to know people in a new town had anything to do with the "stasi danger"; does it? [21:38]
jfw: nah. [21:39]
jfw: fear of either rejection or boredom more than fear of loss I think [21:41]
diana_coman: thing is that ~all fears are in the end both bigger/worse than the reality (because they are not constrained by much, unlike poor reality) and limits that increasingly fence you in (~those walls meeting one another in the distance where the trap… remember?) [21:47]
billymg: jfw: are you still thinking of visiting cr after the borders open again? [21:47]
diana_coman: (can further add though perhaps that's just me – that I ~never met a fear that didn't only grow worse and bigger and nastier for *not* being confronted earlier; so kind of easier to kill earlier than later). [21:49]
jfw: diana_coman: makes sense [21:49]
billymg: (which the government here now says will be june 15th at the earliest) [21:52]
jfw: billymg: thinking of, sure; will have to see where things stand though. [21:52]
billymg: jfw: of course, makes sense. would be good to meet up for sure if you can [21:53]
jfw: billymg: thanks. I'll at least be back in Panama at some point, even if it's just to visit & pack up – another thing to decide when the time comes. [21:56]
diana_coman: from what it looks at least here (masks on planes/airports & quarantine at the very least), I don't see any plane travel happening in my near future, lolz. [22:00]
diana_coman: come to think of it, maybe it's the best time to start riding a horse – perfect for social distancing and all that, will travel Europe on horseback! [22:00]
jfw: there a good network of trails for that or would you end up doing some road sharing? [22:03]
jfw: is quite ignorant of modern equine logistics [22:04]
diana_coman: well, for one thing crossing the channel is kind of …sharing, lol; then in Europe itself, I'd say you could possibly go by bike nicely all the way to Eastern Europe (where roads are what they are even for cars, so what can one ask for anyway, otherwise, lol) [22:04]
diana_coman: heh, here in the UK they are better re horses than on the continent, if anything; but yeah, it works along the lines of "cars will wait, problem?" [22:05]
jfw: there you go! and yeah I assume you'd ferry or tunnel it across the channel [22:06]
diana_coman: I'd guess there'd be worse from a bureaucratic point of view with all the certificates required, at that. [22:08]
diana_coman: so I guess kid has a point ("farm ~= machinery; animals – stinky!"), lolz [22:08]
jfw: I imagine horses don't need license plates at least! [22:10]
diana_coman: and don't even have the trouble of left/right driver side! [22:11]
diana_coman: maybe cruciform is actually more knowledgeable re horses in the UK at least. [22:12]
jfw: although most everyone not-UK doesn't have that problem anymore either [22:12]
diana_coman: jfw: that's precisely the point as far as I can tell – how can one give up a unique & special problem all of their own? (come to think of it, everyone loves their own most special problem – it's what makes them unique!!) [22:14]
diana_coman: but in all fairness – former colonies still have it, too, heh. [22:14]
jfw: haha [22:14]
trinque: chortles at tampons in men's restrooms. [04:31]
trinque: I guess that's for when you sit there too long on your phone. [04:32]
lobbes: or perhaps really bad swamp ass [06:37]
lobbes: http://logs.ericbenevides.com/log/ossasepia/2020-05-09#1025790 << I was actually starting to explore more bits of Charlotte before everything closed. Now, not so much public stuff to explore. [06:37]
ericbot: Logged on 2020-05-09 04:02:01 jfw: lobbes & billymg, how's the de-hermitizing been going for you gents? [06:37]
lobbes: Though I still keep in touch with all the same people I did before via the internet/phone/etc (also a great means to meet new people too, as always). But yeah, I ought to start trying to find more local connections while I'm here.. [06:37]
feedbot: http://bimbo.club/2020/05/work-report-5092020/ << Bimbo Club — Work Report – 5/09/2020 [17:49]
feedbot: http://bimbo.club/2020/05/you-would-have-loved-her/ << Bimbo Club — You would have loved her. [05:22]
feedbot: http://bimbo.club/2020/05/work-report-5102020/ << Bimbo Club — Work Report – 5/10/2020 [07:54]
jfw: On the late train again for review (as must have been predictable upon missing it Friday). My motivation & morale was pretty low overall this week. [07:59]
jfw: think I'm bouncing back though; been getting excited about a project to cast a wide net and see what life-forms it turns up [08:02]
jfw: billymg: got those patches done [08:04]
jfw: lobbes: the famous "ought to"s, heh. [08:05]
diana_coman: jfw: glad to hear that idea did catch your interest [08:16]
diana_coman: on a more general note though I do kind of wonder at just what huge lack of interest in anything and of any sort seems to be the norm. [08:17]
feedbot: http://younghands.club/2020/05/11/jfw-review-week-of-4-may-2020/ << Young Hands Club — JFW review, week of 4 May 2020 [10:35]
billymg: jfw: ack, working on the updates to the code embed patch to place on top of those now [16:48]
jurov: #therealbitcoin channel is up [19:59]
diana_coman: the logs for that #therealbitcoin seem to be so far at http://logs.nosuchlabs.com/log/therealbitcoin only. [20:17]
feedbot: http://trilema.com/2020/furia/ << Trilema — Furia [00:33]
feedbot: http://bimbo.club/2020/05/mente-vazia-oficina-do-diabo/ << Bimbo Club — Mente vazia, oficina do diabo [10:35]
feedbot: http://bimbo.club/2020/05/work-report-5112020/ << Bimbo Club — Work Report – 5/11/2020 [11:00]
feedbot: http://ossasepia.com/2020/05/12/fashionable-hopefuls-a-bit-of-escher-under-the-skin/ << Ossa Sepia — Fashionable Hopefuls: A Bit of Escher under the Skin [16:04]
billymg: re: code embed patch: should have it posted by tomorrow. it will also include server-side selection. it's working locally now i just need to self-review/cleanup before publishing the patch [18:04]
feedbot: http://thetarpit.org/2020/an-absolutely-filthy-recipe-for-mirroring-debian-repositories << The Tar Pit — An absolutely filthy recipe for mirroring Debian repositories [18:13]
diana_coman: billymg: sounds good, no rush. [20:55]
feedbot: http://trilema.com/2020/inherit-the-wind/ << Trilema — Inherit the wind [08:01]
feedbot: http://bimbo.club/2020/05/work-report-5122020/ << Bimbo Club — Work Report – 5/12/2020 [09:51]
feedbot: http://ossasepia.com/2020/05/13/fashionable-hopefuls-the-river-of-eyes/ << Ossa Sepia — Fashionable Hopefuls: the River of Eyes [20:32]
jfw: I'll be out most of tomorrow, heading up the coast to help with spring opening of the 'dacha'. [21:24]
diana_coman: jfw: sounds like a fun break at least so have fun! [21:27]
jfw: thanks! [21:27]
dorion: jfw nice, enjoy! will you dare dip in the ocean ? [21:31]
jfw: dorion: not likely (the access anyway is to a river estuary but close enough) [21:32]
diana_coman: cannot understand being next to water and *not* dip! [21:33]
dorion: yeah I mean at least wade in, lol. [21:34]
jfw: I'm not much of an ice cold showers type. Spoiled Americans I guess [21:35]
diana_coman: jfw: eh, you haven't known then southern Italians, lol; but no, it's more to do with water than with temperature. [21:37]
jfw: well you can't quite have one without the other. [21:40]
diana_coman: indeed; but you can care about one and not about the other. [21:41]
jfw: enjoys watching lava flows too but can't quite bring self to not care about the temperature [21:44]
jfw: it's true though, there are those who don't mind the frigid waters. [21:45]
diana_coman: lol, lava flows and frigid waters; at least it's clear you certainly care about temperature first and foremost, what. [21:46]
diana_coman: but yeah, it's fun to get those used to the Baltic/North Sea to some warmer waters ("it's like swimming in the soup!!") and the other way around ("it's like getting into the freezer!!!") [21:49]
jfw: I can't quite imagine someone not liking the warmer waters but will have to try that sometime. [21:50]
diana_coman: so many likes are a matter of habit (and deeper than that – a matter of wider specific adaptation really) that it's not really all that hard to throw people off if you want to; part and parcel of having lived in many places though is getting to see just how much of what people claim otherwise as fixed and "the truth" and all that is in the end just a matter of context really. [21:57]
jfw: had to read a couple times but I think I get that. [22:05]
jfw: we like what we're familiar with & able to handle [22:05]
diana_coman: comfortable to handle even, yes; and that comfortable can be quite genuine especially in this sort of physical matters – it's what the body has already adapted to, simply; as a concrete example, brits tend to genuinely dislike "hot weather" which is nowhere near "hot" by Italian standards [22:07]
diana_coman: and the main reason for it as far as I can tell is that the temperatures here tend to be relatively *stable* so there's way less adaptation to handling quick changes, whether up or down [22:08]
diana_coman: for that matter, after 10 years here, I noticed that I don't handle all that well anymore e.g. 30+ & humid in my home town although I never used to mind it *that much* before. [22:10]
diana_coman: but the lesson in all this is simply that one can adapt a whole lot more than one might think at first – it just takes time. [22:11]
diana_coman: (the 30+ is Celsius) [22:12]
jfw: somehow I seem to have got less tolerant of the tropical 30+ every day & variably humid after living there a while, and enjoying the swings up here [22:14]
diana_coman: that sounds more like boredom with the lack of change, lol [22:16]
diana_coman: (and yeah, I still miss a proper winter for instance and more specifically the contrast, indeed) [22:16]
jfw: yeah, need adaptation plus a bit of challenge / novelty. [22:17]
jfw: although the year-round-spring places don't sound too bad. [22:18]
diana_coman: dunno, I quite like autumn and winter; after a while spring genuinely gets on my nerves, lol [22:18]
jfw: I hear ya. [22:19]
diana_coman: poor deedbot, what's with its connection today [22:21]
feedbot: http://younghands.club/2020/05/13/jfw-plan-week-of-11-may-2020/ << Young Hands Club — JFW plan, week of 11 May 2020 [22:53]
jfw: and with that, I take the lead for most articles published on YH.C, muahahaha! [22:55]
whaack: raises an eyebrow as he outlines an article to break his silent streak. [03:34]
feedbot: http://bimbo.club/2020/05/work-report-5132020/ << Bimbo Club — Work Report – 5/13/2020 [09:55]
diana_coman: ha, congrats jfw ! [10:05]
diana_coman: and let's review the situation on Monday, heh [10:05]
feedbot: http://billymg.com/2020/05/updated-vpatch-add-embeddable-codeblocks-and-the-server-side-select-mechanism/ << billymg — Updated vpatch: Add embeddable codeblocks and the server-side select mechanism [21:03]
feedbot: http://ossasepia.com/2020/05/14/fashionable-hopefuls-impressionistically-naive-and-slightly-surreal/ << Ossa Sepia — Fashionable Hopefuls: Impressionistically Naive and Slightly Surreal [21:19]
feedbot: http://ztkfg.com/2020/05/what-ive-been-up-to/ << whaack — What I've Been Up To [21:42]
diana_coman: whaack: the core "trick" may very well be to remember that you do find enjoyment in being productive, too. [21:51]
diana_coman: it's not a separated matter like that and it doesn't help either, to separate matters into "work" and "fun" [21:53]
feedbot: http://bimbo.club/2020/05/work-report-5142020/ << Bimbo Club — Work Report – 5/14/2020 [10:40]
feedbot: http://ossasepia.com/2020/05/15/fashionable-hopefuls-to-the-skies-and-outer-space/ << Ossa Sepia — Fashionable Hopefuls: To the Skies and Outer Space [13:05]
feedbot: http://trilema.com/2020/let-it-ride/ << Trilema — Let It Ride [14:43]
feedbot: http://ossasepia.com/2020/05/15/fashionable-hopefuls-illustrated-trigonometry-with-a-side-of-turbulence/ << Ossa Sepia — Fashionable Hopefuls: Illustrated Trigonometry with a Side of Turbulence [17:26]
feedbot: http://ztkfg.com/2020/05/names-of-scale-degrees-and-the-three-forms-of-minor-scales/ << whaack — Names of Scale Degrees and The Three Forms of Minor Scales [20:53]
diana_coman: billymg: the log-articles are in fact the very reason why I was asking a few days earlier if you knew by any chance how to make archive views unpaginated; I still haven't gotten around to dig into that but at some point I will; following up on your comment though – what do you see so wrong with logs that you'd …quarantine them rather than treat them like any other text? [21:07]
diana_coman: for reference, the relevant comment – if anyone else feels strongly that somehow logs are not articles, I'd be quite curious to hear the full argument – why are they not articles? [21:13]
diana_coman: shall be back tomorrow [21:25]
jfw: some possible arguments come to mind there but I don't feel strongly about it. [21:41]
jfw: one thing I don't like about wordpress as a whole, whether or not used for logs, is the lack of any raw export, thus the need for lossy & inefficient spidering if one wishes to preserve someone else's. [21:43]
jfw: (if you were Google, how would you even make a log+comment search that worked well? refresh the whole blog daily?) [21:44]
jfw: even mediawiki can do this, though some operators don't seem to find it important [21:46]
jfw: (of course you could use the rss feeds to drive a search indexer, though that would miss edits or updates of a real-time log.) [21:50]
billymg: diana_coman: replied to your comment. i think the main thing i'm missing is the "why" behind putting the logs in mpwp, rather than, say, improving/extending the logotron [05:16]
diana_coman: jfw: the raw log exporter is something on my list to add and it's *no different* from the old stuff which is itself a dump of raw data, so nothing to do with mpwp or anything else [08:55]
diana_coman: billymg: the "why" in the shortest and calmest manner I can muster: because it's not needed; it's an additional headache without any benefits and by headache I mean – a whole pile of *additional* stuff to maintain (that flask thing surely was mentioned in the logs but note that it requires in turn a whole set of ???, look at it sometime); the lack of permanence ultimately because look at it, if I stop logging a channel, I'm stuck … [09:01]
diana_coman: … with either breaking down everyone's links or otherwise keeping the dead channel's logs *in the way* instead of basically still where they were but correctly a matter of the past [09:01]
diana_coman: and for the record, I don't think it's the right direction there this "why not struggle with that shit some more instead of making use of what is way more useful anyway"; yes, I made the mistake of using that; no, this doesn't mean that I *have to* keep throwing good time after the bad. [09:03]
diana_coman: note that I'm *not* introducing a new thing, quite on the contrary, I'm trimming away stuff. [09:03]
diana_coman: and answered the comment on the blog too as apparently there were quite a few things to clarify. [09:46]
diana_coman: for easy follow up, the answer [09:46]
feedbot: http://bimbo.club/2020/05/work-report-5152020/ << Bimbo Club — Work Report – 5/15/2020 [10:00]
cruciform: Disappointingly, the horse is usually better-looking than the rider http://logs.ossasepia.com/log/ossasepia/2020-05-09#1025859 [11:45]
ossabot: Logged on 2020-05-09 17:36:02 diana_coman: maybe cruciform is actually more knowledgeable re horses in the UK at least. [11:45]
diana_coman: ahaha cruciform, that's the proper take on it, channeling last of the dandies muskham and all that. [12:06]
cruciform: diana_coman, are you referring to this? [13:48]
diana_coman: cruciform: neah; galsworthy's forsyte saga /continuation (iirc it was on top of/after the end of the main saga as such); and you know, "this" is not very helpful to link on – put the name of the thing there, way more helpful. [14:04]
diana_coman: muskham was passionate about horses; by contrast, he was polite and respectful to ladies, lol. [14:06]
diana_coman: he could appreciate a lady too – to the extent that she showed a good eye for the horses! [14:07]
cruciform: lol – seems English women [14:10]
cruciform: have been ugly for a while, then [14:10]
diana_coman: well, supposedly there used to be at least something for the "English rose" but what can I say there. [14:11]
cruciform: they look more like bags of fertiliser, nowadays [14:12]
diana_coman: lol, at least that promises good growth! [14:13]
diana_coman: but well, go where the beautiful women are, what. [14:13]
cruciform: and an upcoming 2 for £10 special [14:13]
cruciform: "I don't like where I live" "so move!" didn't occur to me for over a year – weird [14:15]
diana_coman: you know, this thing with "3 for 2" and so on – it took me a lot of time to get my head around; why the fuck would I buy more than I wanted to buy in the first place; and why the hell does it even still end up more expensive than e.g. bigger packs at times (only yeah, had to calculate for 5 minutes to figure it exactly, what with the weird measurement system and all) [14:15]
diana_coman: it does sound…weird, indeed. [14:16]
feedbot: http://trilema.com/2020/sodomy/ << Trilema — Sodomy [17:38]
billymg: diana_coman: thank you for your reply and for patiently explaining the purpose of the tool/project. i think there was a lot of context i was missing but now i understand it. left a reply on your blog too [18:52]
diana_coman: billymg: answered there – it's indeed as you summarised it in your last comment; and no worries, way better to discuss and clarify matters + now they are on record so handy to give the link to anyone else who might come in wondering "why" [20:40]
diana_coman: ftr and in case it's not clear, there is an argument that can be made that the old logger has a salvageable part, namely strictly the irc-frontend, if one is so inclined; it's really the web side that brings in the whole shit and trouble. [20:49]
diana_coman: (well, assuming that python itself is not classed as full trouble anyway, which is debatable.) [20:49]
jfw: ^ or psql [21:07]
diana_coman: possibly with irc-side only, the switch to whichever one prefers can be made relatively painlessly; not that I really tried it but normally it shouldn't be a huge pain (unless it's my optimism speaking again) [21:12]
jfw: my own bias (as not-a-databases-professional) would be switching mp-wp to work with psql and using that only (shouldn't be huge pain!!) [21:14]
diana_coman: ahaha; why? [21:15]
jfw: for instance because psql had grownup features like transactions from early days whereas mysql had them bolted on by oracle [21:15]
jfw: my recollection is the traditional MyISAM storage engine is not crash-proof. [21:16]
diana_coman: I really worked with people who were die-hard supporters of psql and moreover I used psql myself for years back in academia under the exact "it's more robust!! and faster!! and not-bolted on!!!!11"; having afterwards equally worked with people who found mysql the better of the 2, I can say that …it's the people, not the tool (ie it depends on how well the operator knows psql/mysql). [21:17]
jfw: I also liked that it did unix socket authentication out of the box without "plugin"; why should I need password auth when it's all on the same box [21:17]
diana_coman: iirc the whole psql vs mysql has already had repeated discussions in #t too with the conclusion ~likely there will be both [21:19]
jfw: also stronger type-checking comes to mind (though perhaps that was only compared to sqlite) [21:19]
diana_coman: and yeah, I can see it; only atm there's no tmsr anymore and so the "both" is more like "as many and as diverse as each wants because ultimately they are anyway on their own" [21:20]
jfw: would have needed a dependable lord of the database in order to benefit from picking <small number>? [21:21]
jfw: nah that doesn't sound right. [21:22]
jfw: in order to benefit from picking "supported database" rather. There's still benefit in reducing the proliferation, seems to me. [21:22]
diana_coman: jfw: no, not at all ; and tbh I have no idea where this idea of "lord of X " came from; yeah, as I said, I did read jurov's chan log so I saw trinque's line with it but I'm still scratching my head as to where it came from [21:22]
diana_coman: yes, supported database is different indeed [21:23]
diana_coman: and the point is supported by …which sovereign (most pointedly not "which lord") [21:23]
jfw: weren't the minimal requirements to lordship 1) attendance in the forum and 2) the fief – something important that you owned / took care of? [21:24]
jfw: and many of the titles were along the lines of "lord of X" [21:24]
diana_coman: jfw: yes; that doesn't translate in any sane way to "lord of database" [21:24]
diana_coman: yes, you might notice that it wasn't lord of mysql, lol [21:25]
diana_coman: arguably of the whole set mine was even the most "specific" but if you look at just what eulora comprises…. [21:25]
diana_coman: possibly the most concrete rather than specific [21:25]
diana_coman: trinque: out of curiosity, how do you even go from "lord of that realm" to "lord of pulling this lever"? [21:27]
diana_coman: jfw: anyway, to get back to your earlier statement – I agree that there is still benefit in reducing the proliferation, sure. [21:31]
diana_coman: for that matter there is still benefit in a small number of choices really (and mainly for newcomers since they would not end up wasting time "how do I choose") [21:32]
diana_coman: but what can poor benefits do on their own – as history amply shows, not all that much, no. [21:33]
jfw: ok. What sort of realms was the lordship about then? A set of duties + whatever knowledge or capital required to execute them? [21:34]
jfw: that seems possibly another way of saying "this lever" though. [21:35]
diana_coman: ugh, no; [21:35]
diana_coman: thing is – I distinctly recall it was in #t discussed even with examples from history so I'm not fully sure what can I add precisely to make that clear since apparently it was about as clear as mud, huh. [21:36]
diana_coman: the core point missing in the above though and *precisely the opposite of "pulling this lever"* is exactly… making own thing that one therefore owns, how to even put this clearer; NOT "awaiting for the duties + resources" but building one's own stuff and therefore being the lord of it, ugh [21:38]
diana_coman: and myeah, I can see this "waiting patiently and all-willingly for the duties+resources" – that's how it does NOT work. [21:39]
diana_coman: there's a difference between executing vs coming up with the thing to execute basically; the lordship was precisely meant to recognize the ability and deed of the latter, not the former. [21:42]
diana_coman: sure, quite often and esp in the beginning one does both, but the execute part always comes after the other and there was a huge lack of that other first and foremost. [21:43]
jfw: struggling for what to ask, still pretty confused I guess. So there's no answer to "what sort of thing is one lord of" because it's about each coming up with his own "thing"? [21:53]
diana_coman: jfw: if you ask "of what sort of thing" , the answer would be – of a fief; if you expect that all fiefs are the same, uhm. [21:59]
jfw: would an example be: at first there's no logger; someone realizes logging is important and makes one; sovereign decides it's good and grants recognition of the ability that brought it about (along with, I took it, duty to keep it working / answer questions about it) ? [22:01]
diana_coman: for that matter, the very term "marquis/marquess" comes from …lord of the march/borders, basically go ye there at the very borders and …build them up [22:01]
diana_coman: build them up and/or expand them as much as you are able to [22:01]
diana_coman: can't find that #t thread now, grrr [22:02]
diana_coman: possibly trinque can find it since it was precisely the thread re deedbot [22:10]
jfw: http://trilema.com/2016/the-lordship-list-third-year/#footnote_0_64932 re definition of lord + fief [22:12]
diana_coman: ah, finally realised why I couldn't find it, since I forgot about the mp_en_viaje handle, huh; here: http://trilema.com/2020/forum-logs-for-21-oct-2019/#2566637 [22:15]
diana_coman: jfw: and further note that none was ever the case of a random/assigned "pick"; it was always the only way it can even make sense – X comes in and does *on own initiative* some useful Y, the competence is recognised and as part of this recognition they get what is basically *a shot at making money and fame and whatever else they want out of it* [22:19]
diana_coman: apparently though the want was wanting or did that go. [22:20]
diana_coman: jfw: does that make it any clearer? [22:21]
jfw: getting there. [22:22]
trinque: lordship is being one of the authors of culture, and that's it. [23:42]
trinque: the lordship failed because most of the folks involved were not independently wealthy and lacked the time to do said authoring. [23:43]
trinque: meanwhile pretending they had by cramming w/e they could into their evenings and nights [23:43]
trinque: diana_coman: re: "lord of this here lever" I mean that sitting on whatever crap one built and calling that a "fief" is not the authorship above-mentioned [23:46]
trinque: also, because in the past people have assumed I'm excluding myself from statements like ^, I'm most certainly not. [00:19]
trinque: at any rate, jfw I already did the postgres port if you or billymg want it [00:20]
trinque: d'oh, wrong lever! [00:23]
trinque: http://logs.ossasepia.com/log/ossasepia/2020-05-16#1025991 << clearly I gotta find a way to denote when I'm mocking something better! [00:24]
ossabot: Logged on 2020-05-16 16:45:55 jfw: would have needed a dependable lord of the database in order to benefit from picking <small number>? [00:24]
trinque: anyway, that's being a technician at best. [00:26]
trinque: http://logs.ossasepia.com/log/ossasepia/2020-05-16#1025997 << this definition doesn't seem to have worked, so I'd be careful about internalizing it. [00:27]
ossabot: Logged on 2020-05-16 16:48:22 jfw: weren't the minimal requirements to lordship 1) attendance in the forum and 2) the fief – something important that you owned / took care of? [00:27]
trinque: http://logs.ossasepia.com/log/ossasepia/2020-05-16#1026003 << the problem here is that "realm" became so term-of-art as to become meaningless, exactly the same way socialists invert meaning. [00:28]
ossabot: Logged on 2020-05-16 16:52:01 diana_coman: trinque: out of curiosity, how do you even go from "lord of that realm" to "lord of pulling this lever"? [00:28]
trinque: realm does not mean place in the same way sovereign does not mean person. [00:32]
trinque: seems I'm late to the party, so I'll try and catch y'all earlier tomorrow. [00:34]
jfw: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1026033 – I'd love to have it, if only for safe keeping; and why not publish anyway since you did the work. (/me glares at own pile of unsung code…) That said, I'm not likely to test it any time soon and will probably end up moving toward "mysql all the things" unless a strong reason turns up [02:49]
sonofawitch: 2020-05-17 00:20:31 (#ossasepia) trinque: at any rate, jfw I already did the postgres port if you or billymg want it [02:49]
jfw: some further reading satisfied me for now that the aforementioned psql bias is ill-founded, as diana_coman suggests. My own experience with non-GUI databases started with mysql (back when it indeed didn't have transactions or foreign key constraints, which left a bad taste), and my production infrastructure currently contains two mysql instances compared to zero psql. [02:54]
trinque: because publishing has a certain standard, namely it working. this was just a hack I hammered out one afternoon, will see if I can find it [03:26]
trinque: jfw: yeah, mysql's gotten way better over the years, and most of the rep comes from the early days. [03:28]
trinque: that said psql has proved to me over about a decade of use that it's extremely reliable, and so I tend to prefer it. [03:29]
trinque: one needn't be totalitarian about these things imho [03:30]
jfw: trinque: I'm not in a position to be anyway, but it's a matter of "do I spend my limited hours on learning multiple large things or one large thing better" [03:32]
trinque: totally sensible [03:33]
jfw: trinque: meant to say – publishing doesn't have to be only "finished products"; as diana_coman's often pointed out, it can simply be about what is, or what you're up to, or what you tried, or plans… I've published drafts, dumps of notes, etc., just properly noted as such, and have yet to hear any complaints about these [04:05]
trinque: yup, just working on a different item to publish, not so focused on wp atm. seems billymg has it in hand. [04:14]
trinque: but I think you're right, and I could write more. [04:14]
feedbot: http://bimbo.club/2020/05/work-report-5162020/ << Bimbo Club — Work Report – 5/16/2020 [09:49]
diana_coman: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1026029 – I think the matter goes deeper than that; I'll note first that "wealth" is NOT the same thing as cash + assets + whatever else "has X" you come up with, just in case any log reader has such ideas (all history + literature provide *plenty* of examples as to how and why wealth is not essentially a "having" as much as a "being"); perhaps a clearer way to look at it … [09:59]
sonofawitch: 2020-05-16 23:43:14 (#ossasepia) trinque: the lordship failed because most of the folks involved were not independently wealthy and lacked the time to do said authoring. [09:59]
diana_coman: … is that the people involved still had lower-level problems to solve before they could meaningfully tackle the problems of "lordship", as simple as that; not a matter of "didn't have time, if only someone would have given them this or that or the other", no; ftr and exactly the reason why I even mentioned the original meaning of the term marquis/marquess – those were not going to the sticks essentially because "they were … [09:59]
diana_coman: … independently wealthy", what the fuck. [09:59]
diana_coman: if anything, they were going there exactly because they were *not yet* independently wealthy – that was their chance to become though and some made it, some didn't. [10:00]
diana_coman: which ones made it and which didn't had nothing to do with how much time they had, either. [10:01]
diana_coman: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1026038 – absent the structure, the whole thing is purely of historical/academic interest, there is nothing to internalise as such. [10:06]
sonofawitch: 2020-05-17 00:27:18 (#ossasepia) trinque: http://logs.ossasepia.com/log/ossasepia/2020-05-16#1025997 << this definition doesn't seem to have worked, so I'd be careful about internalizing it. [10:06]
ossabot: Logged on 2020-05-16 16:48:22 jfw: weren't the minimal requirements to lordship 1) attendance in the forum and 2) the fief – something important that you owned / took care of? [10:06]
diana_coman: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1026042 – indeed, this is absolutely true. [10:07]
sonofawitch: 2020-05-17 00:32:06 (#ossasepia) trinque: realm does not mean place in the same way sovereign does not mean person. [10:07]
diana_coman: lobbes: let me know if there was something you wanted to discuss today. [10:14]
trinque: diana_coman: I also wasn't claming that someone ought to have given us anything. was exactly pointing to the lower-level problems you mention. [17:06]
trinque: wealth indeed is not simply money. [17:06]
diana_coman: seems we are pretty much on the same page there, then. [20:47]
feedbot: http://trilema.com/2020/the-pool-party/ << Trilema — The pool party [23:25]
feedbot: http://www.krankendenken.com/2020/05/collecting-the-scattered-bits-and-doing-something-useful/ << Krankendenken — Collecting the scattered bits and doing something useful [02:50]
lobbes: http://logs.ericbenevides.com/log/ossasepia/2020-05-17#1026053 << sorry, I should have been around. No, I didn't have anything to discuss this week [03:11]
ericbot: Logged on 2020-05-17 08:24:50 diana_coman: lobbes: let me know if there was something you wanted to discuss today. [03:11]
lobbes: Thinking on it, I haven't really needed the standing meetings. I'm fine to just drop them going forward and if I need to discuss something I'll just reach out in channel (though ty for letting me try out the idea). [03:11]
lobbes: http://logs.ericbenevides.com/log/ossasepia/2020-05-11#1025861 << infamous "ought to"s is more like it… [03:12]
ericbot: Logged on 2020-05-11 06:15:44 jfw: lobbes: the famous "ought to"s, heh. [03:12]
diana_coman: lobbes: it's been more of a not-try-the-idea-out but anyway, fine. [09:44]
feedbot: http://younghands.club/2020/05/18/jfw-review-week-of-11-may-2020/ << Young Hands Club — JFW review, week of 11 May 2020 [10:14]
diana_coman: jfw: the night-time review! [10:16]
jfw: , the return of ~ [10:17]
diana_coman: maybe I really should change the name thus, it will surely sound at least way more exciting [10:17]
diana_coman: so welcome back to the review then, indeed. [10:17]
jfw: bows, goes to get some sleep, plan will have to come tomorrow [10:19]
diana_coman: sleep well [10:20]
billymg: http://logs.ossasepia.com/log/ossasepia/2020-05-16#1026033 << i wouldn't mind taking a look, if anything just so i could try it out locally [14:47]
ossabot: Logged on 2020-05-16 19:44:38 trinque: at any rate, jfw I already did the postgres port if you or billymg want it [14:47]
billymg: if no one objects, the next patch will rip out js and whatever features depend on it. this will be similar in absolute terms (LOCs/bytes) to the first major round of trimming [15:17]
diana_coman: billymg: from my point of view js can go without any trouble; the only possibly-useful feature requiring it and that I'm aware of was editing the url of an article from the gui; from my pov the main question though would be – how separate the js is from everything else in the code so as not to take out/break something entirely different, really. [21:00]
jfw: imo if there's to be a web editor anyway, it needs to be able to do all editing tasks (such as that permalink editing), and there shouldn't be any 'dead widgets' (as there are when JS is simply disabled client-side). That's where it might get tricky, but dunno how bad. [21:13]
diana_coman: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1026044 – I do hope that pile of stuff glared back at you, jfw ! [21:20]
sonofawitch: 2020-05-17 02:49:50 (#ossasepia) jfw: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1026033 – I'd love to have it, if only for safe keeping; and why not publish anyway since you did the work. (/me glares at own pile of unsung code…) That said, I'm not likely to test it any time soon and will probably end up moving toward "mysql all the things" unless a strong reason turns up [21:20]
jfw: diana_coman: if it had eyes, it would have. [21:29]
jfw: ftr, jfw finally barfs, as the saying goes. [21:39]
snsabot: (therealbitcoin) 2020-05-18 jfw: Curious game, only way to win is… [21:39]
diana_coman: goes to read latest dramaz [21:42]
diana_coman: lol, I didn't realise trb was alf-tech nao. [21:44]
billymg: diana_coman, jfw: yes, this will be a surgical snip, not a simple `find ./mp-wp/ -iname “*.js” | xargs rm` [21:44]
jfw: billymg: sounds good then! [21:45]
jfw: diana_coman: see, trb is this temple built by lazy ignoramus shitoshi, and it stinks, why doesn't he come back and clean it up for us! [21:47]
diana_coman: dorion: how's that balanced week/time going for you? [21:47]
trinque: what happened to "there is no we, only V" [22:11]
trinque: who gives a fuck who likes whom? write patches, if folks sign, or not, what [22:11]
diana_coman: trinque: I don't think anyone proposed anywhere they would not do whatever code development they wanted to do anyway, or anything of the sort. [22:16]
trinque: sure, I just said that, but in Texan [22:16]
trinque: :D [22:16]
diana_coman: trinque: lolz; fwiw though, there are precious few people actually publishing whatever it is they are doing. [22:18]
jfw: 'Texan' – ah ok, I was scratching head. I certainly have no objections to anyone using or signing my patches! [22:19]
diana_coman: trinque: and out of curiosity, why do you ask if people want it? as above, publish it if you made it anyway and don't intend otherwise to keep it private, no? [22:19]
sonofawitch: 2020-05-17 00:20:31 (#ossasepia) trinque: at any rate, jfw I already did the postgres port if you or billymg want it [22:19]
trinque: I try not to do the open-source "code hucked over wall" thing, but otherwise have no objection. [22:19]
diana_coman: you mean you do code hucked within the walls but not over the walls? lol [22:21]
diana_coman: (I'm genuinely curious, nothing more) [22:21]
trinque: yeah, I have all manner of experiments laying here in there [22:21]
trinque: *and [22:21]
trinque: I published early on the cuntoo project, and that didn't seem to have worked. [22:23]
diana_coman: and what's the cost/downside to publishing them even signed with hucked-shit-key ? honestly, I never ever regretted documenting even shit attempts [22:23]
diana_coman: trinque: that sounds like you expected some specific "worked" and it wasn't that so "did not work" [22:23]
diana_coman: I certainly tried it out and provided feedback; others too; you have it there and used it to support talks eg re tmsros or even why "not that way" ; so dunno – how "not worked"? [22:24]
trinque: sure, got feedback, but it was too big an item to push by myself. [22:25]
diana_coman: sure; what's that to do with publish/not publish though? [22:25]
trinque: I suppose we differ on whether a person that publishes "wp ported to postgres" that doesn't actually work has done something useful? [22:27]
trinque: I personally would feel obligated to make it work if I published. [22:27]
trinque: which is the right pressure for the right item, but not that one. [22:27]
trinque: brb [22:28]
diana_coman: trinque: uhm, why; publish it as "this is my shit attempt that does not work; but I explored this and that and learnt *why* it's not worth it"; listen, there's way more to learn from a published stuff than the "will grab this and it works" [22:28]
trinque: so maybe there's also some narcissism in there too. [22:29]
diana_coman: and as for everything else there is that part where it's *not possible* to tell upfront in *what way* it will turn out useful. [22:29]
diana_coman: possibly; the thing is that the way it looks, you lock yourself into such a narrow thing that indeed, there's very, very little that can get out; honestly, it's not a problem in any possible way for me; I just fail to see how it's useful in the least for you, that's all. [22:30]
trinque: some works take a long time. [22:31]
trinque: for example the one I'm working on as a continuation of the OS thread [22:31]
diana_coman: yes; and there's no need to publish-only-at-the-end; (fwiw I was never naturally "write and publish"; hell, not even naturally "talk") [22:32]
feedbot: http://bimbo.club/2020/05/work-report-5182020/ << Bimbo Club — Work Report – 5/18/2020 [09:59]
billymg: i'm going to end up doing some cleanup in wp-admin/css/ — does anyone care about the 'rtl' css (for right-to-left language support)? [17:10]
billymg: i'm guessing no but figured i'd ask before removing those [17:10]
diana_coman: billymg: confirmed, I can't care less about rtl; (iirc I might have even ripped some of it already during one of the walks through the code, as it is, huh) [18:09]
billymg: diana_coman: excellent [18:27]
feedbot: http://ossasepia.com/2020/05/19/how-would-they-be-different-with-cavemans-drawings-by-computer/ << Ossa Sepia — How Would They Be Different? With Caveman's Drawings by Computer [19:11]
jfw: billymg: no objection here. First you give 'em diacritics, next thing you know all your artwork has been duplicated and turned upside down huh [21:23]
jfw: but still not enough, because then it'll be "must support multiple writing directions fully themed on the same page" [21:27]
diana_coman: eh, who even cares to go through the exercise of what's next, lol [21:29]
jfw: diana_coman: not you I gather. [21:31]
diana_coman: possibly too old for that, yes. [21:32]
feedbot: http://ztkfg.com/2020/05/guitar-practice-log-1/ << whaack — Guitar Practice Log 1 [03:28]
feedbot: http://bimbo.club/2020/05/how-i-work-in-reivew-i/ << Bimbo Club — How I work in reivew – I. [03:47]
feedbot: http://trilema.com/2020/lasagna-other-factors-of-domestic-tranquility/ << Trilema — Lasagna & other factors of domestic tranquility [09:06]
feedbot: http://bimbo.club/2020/05/work-report-5192020/ << Bimbo Club — Work Report – 5/19/2020 [10:11]
diana_coman: jfw: does the plan work better as a post-script to the week "these are the things I'd have liked to have done"? lolz [20:48]
diana_coman: lobbes: as it's past half-month anyway – where are you at this month and what do you intend to get done the remaining ~2 weeks? [20:55]
jfw: diana_coman: maybe so, think I should try that? :D [21:06]
diana_coman: jfw: what, do you have the plan ready so as to not-try-that? :P [21:08]
jfw: there's a coupla days yet! [21:08]
diana_coman: true, true; still: post-poning and post-planning; post-modernism! [21:09]
diana_coman: can still work for review anyway – here's what I'd have liked, here's what I did; conclusion – hm. [21:10]
jfw: don't think I used to post-post the plans but then, they didn't used to be that realistic either [21:12]
diana_coman: jfw: technically not used to post-post indeed but to the extent that they ended up anyway ~same result as now when post-post, it raises precisely the question as to what is the actual difference then? [21:15]
diana_coman: though as Nicole says, good enough by own standards, what! [21:16]
diana_coman: though hm, apparently she doesn't have that select working [21:16]
jfw: is that some French thing, the rei-vew? [21:19]
jfw: and yeah, perhaps little actual difference [21:20]
diana_coman: ahaha, how would I know? ask her [21:20]
feedbot: http://ztkfg.com/2020/05/guitar-practice-log-2/ << whaack — Guitar Practice Log 2 [06:26]
feedbot: http://bimbo.club/2020/05/work-report-5202020/ << Bimbo Club — Work Report – 5/20/2020 [10:18]
feedbot: http://trilema.com/2020/the-omnistatement/ << Trilema — The Omnistatement [11:14]
feedbot: http://ossasepia.com/2020/05/21/illustrated-mirroring-and-collapsing-of-points/ << Ossa Sepia — Illustrated Mirroring and Collapsing of Points [14:42]
billymg: diana_coman (and others who were already using image upload scripts rather than wp's gui uploader): do you see any use for the "Media Library" at wp-admin/upload.php ? [18:49]
billymg: because the way i understand it, if you're uploading your images via scp they won't show up in that list, unless you also have a script that generates the db entries for each image [18:51]
diana_coman: billymg: I don't care about that media library, no [18:55]
billymg: yeah, after seeing the light of bulk-processing images via scripts rather than using the gui i think even for those still using the gui it's a case of http://ossasepia.com/2020/04/22/ossasepia-logs-for-09-Apr-2020#1024027 [18:56]
ossabot: Logged on 2020-04-09 16:14:08 diana_coman: ie make the trunk of mpwp so that I'm 2x more productive using it than whatever entrenched habits I might have, and I'll change the darned habits already [18:56]
billymg: at the moment i'm leaning towards just ripping the whole thing out and including a sample image processing script in a blog post [19:03]
billymg: doesn't see himself ever needing to navigate to "Media Library" tab again after adopting script-based image workflow [19:04]
diana_coman: billymg: the way this went was that previous to making scripts, I'd ~avoid publishing images, pretty much; and tbh given how many images I had to publish with this graphics work, I think I would have made the scripts now if I didn't have them already [20:57]
diana_coman: so yeah, it's really a huge improvement, quite of the usual sort obtained when ditching the gui and actually using command line properly. [20:58]
feedbot: http://trilema.com/2020/a-fost-sau-n-a-fost/ << Trilema — A fost sau n-a fost ? [21:07]
jfw: I'm not sure; if you remove the ability to do things except by local shell access to the server, does that mean sites like younghands where multiple authors can edit their own stuff with permissions managed by the php are out of spec? [21:14]
diana_coman: jfw: there is that, basically risking a tree-branching on single vs multi-author support [21:19]
jfw: although the part where 'media library' metadata has to be in database but media itself in filesystem, and scp uploading doesn't actually "add it to library", suggests the thing isn't done at all correctly, and cutting it would be strictly beneficial as losing something that never worked. [21:29]
diana_coman: hence my above tree-branching – because it's more the sort of thing that needs not as much a not-cut but a re-work and that might be justified for the multi-author case but not that much for single author. [21:32]
jfw: ah ok. At risk of re-treading old ground – I also wonder if the admin GUI as a whole is justified for the single-author case. I use it, but possibly as an entrenched habit where I'd be better off learning something else [21:35]
diana_coman: that's pretty much where it goes, yes [21:36]
diana_coman: jfw, billymg I guess the main part re gui that I can see needing some proper porting would be the preview [21:40]
jfw: as in, a way to insert a row with draft flag set and derive a preview URL? [21:43]
diana_coman: inserting it with draft flag is fine; the preview url creation is unclear to me currently – I never really looked into how that preview is done [21:44]
jfw: hm, I also wonder if pingbacks work at all when manually inserting. though we know that whole mechanism needs a look [21:44]
diana_coman: I suppose in a way the whole exercise actually turns around how much does one rely on php for admin basically. [21:45]
diana_coman: jfw: heh, pingbacks work since basically this "manual inserting" is what sonofawitch does, after all. [21:46]
diana_coman: and the log article does send pingbacks, I didn't specifically bother to do it or anything [21:46]
diana_coman: though at the same time, the current pingback mechanism is "working" as in it sends about 1/4 [21:46]
diana_coman: so it actually needs a fix anyway [21:46]
jfw: you're sure it wasn't just the once when you combined existing ones into May? [21:46]
diana_coman: yeah, some of the others sent too [21:47]
diana_coman: and moreover, added stuff to it also sent pingbacks [21:47]
jfw: it's smarter than I thought apparently [21:47]
diana_coman: logically speaking it should be a trigger simply, I did expect it to work; the trouble is that it doesn't seem to always trigger, even normally, lol. [21:48]
jfw: I'd found that re-saving an existing article would send incrementally more pingbacks, lolz [21:48]
diana_coman: you know, given the ~reliably 1 in 4, I do suspect it's a sort of rate-limited so each time it triggers, it may end up sending a few more, indeed [21:48]
diana_coman: but I never sunk the time to look properly into it. [21:49]
jfw: right [21:49]
jfw: just grepped the code for sql-based triggers, found none; possibly it 'polls' driven by who knows what [21:51]
jfw: though sql trigger wouldn't be able to do any external thing like parsing html and opening sockets anyway. [21:53]
diana_coman: ah, no, I expect it's a php-trigger, whatever it's called ; [21:53]
diana_coman: anyways, billymg will have fun with it, apparently [21:54]
diana_coman: jfw: how's your plan for next week? [21:54]
jfw: diana_coman: not sure. I liked the idea of taking proper break, but things are possibly warming up with JWRD next week so now might not be the time [21:56]
jfw: I'm finally thawing out the blogging today. [21:57]
diana_coman: if only everything was ready already from past week seeing how it supposedly was needed this week…then it would have been even the *perfect* moment to take a break, exactly to be refreshed for the new work [21:58]
diana_coman: that's pretty much the issue with all the spinning and mucking about and failing to cut cleanly *one way or another*, forever on the fence – in the end instead of getting the best of both /multiple options, it's ~always the worst of them all [21:59]
jfw: mhm. Come to think of it I could indeed wrap some things up and take a couple days [22:00]
diana_coman: enjoy! [22:03]
feedbot: http://ztkfg.com/2020/05/the-circle-of-fifths/ << whaack — The Circle of Fifths [00:21]
feedbot: http://ztkfg.com/2020/05/guitar-practice-log-3-with-open-fingerings-for-daebf-and-c-minor-scales/ << whaack — Guitar Practice Log 3 – With Open Fingerings for d,a,e,b,f#, and c# Minor Scales [04:49]
jfw: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1026207 …or not; must've been well frozen. [07:16]
sonofawitch: 2020-05-21 21:57:13 (#ossasepia) jfw: I'm finally thawing out the blogging today. [07:16]
diana_coman: jfw: you know, there is some truth in that – the longer you do not write, the *harder* it is to restart, indeed. [10:10]
feedbot: http://bimbo.club/2020/05/work-report-5212020/ << Bimbo Club — Work Report – 5/21/2020 [10:22]
diana_coman: for anyone interested in the raw logs and/or the historical dump of the old logger, I've added the raw logs and archives page; the archive for the active/currently logged chans will be updated at least daily and is plain-text ie doesn't force any specific dbms down anyone's throat; the old logger's dump is what it is – a postgres db dump including everything my old bot logged and … [15:28]
diana_coman: … everything I imported into its db. [15:28]
diana_coman: I do not plan to update the postgres dump; it's there for historical reasons and so it will stay as it is now. [15:30]
diana_coman: I've added the search widget too, seems to work sort of ok as an overall search; while I'm sure it could be made to work way better, I don't think I'll find time for that very soon. [15:42]
feedbot: http://thetarpit.org/2020/on-musical-frames-of-reference << The Tar Pit — On musical frames of reference [16:30]
diana_coman: http://ossasepia.com/2020/05/03/ossasepia-logs-for-may-2020/#1025653 – so hm, I can certainly nuke the pagination from archive queries but at least my method (hooking up a function to the parse_query action thing) turns out to *also* mess up the recent comments/article widgets *despite* supposedly applying the change only to queries that are archives; apparently the recent comments and recent articles are archives too and moreover, … [18:19]
sonofawitch: 2020-05-04 20:44:10 (#ossasepia) diana_coman: billymg: do you know by any chance where is the page/nopage set for the archives? not sure why is this even so different than for the rest but I can't seem to properly & fully figure it out atm. [18:19]
diana_coman: … setting pagination to none also nukes the limit, huh [18:19]
diana_coman: I admit that I'm running out of patience with all the php ball in there. [18:19]
diana_coman: there probably is a more wordpress-friendly (as opposed to my rather *unfriendly*) method to do it. [18:20]
feedbot: http://trilema.com/2020/the-dire-signs-in-the-sky/ << Trilema — The dire signs in the sky [18:52]
feedbot: http://ztkfg.com/2020/05/guitar-practice-log-4-relax-faster-with-notes-on-chord-progressions/ << whaack — Guitar Practice Log 4 – "Relax faster" With Notes on Chord Progressions [06:13]
diana_coman: !!up Joe65 [10:20]
deedbot: You may not !!up yourself. [10:20]
diana_coman: !!up #ossasepia Joe65 [10:20]
deedbot: Joe65 voiced for 30 minutes. [10:20]
diana_coman: hello Joe65 [10:21]
feedbot: http://bimbo.club/2020/05/work-report-5222020/ << Bimbo Club — Work Report – 5/22/2020 [10:23]
billymg: diana_coman: this change plus setting 'posts_per_archive_page' to -1 in your options table should do the trick while keeping pagination working as-is on other pages [15:59]
billymg: diana_coman: that method, get_posts(), already has a check for the db option 'posts_per_page', and it has reference to a query param of 'posts_per_archive_page', but it didn't have a check for that option in the db [16:00]
diana_coman: billymg: hm, I'll try it; I did see the check in query.php but couldn't figure out why it wasn't enough, so let's see if this does it. [16:01]
billymg: diana_coman: yeah, it seemed odd to me that they had it in mind already, with 'posts_per_archive_page', but were not checking that option in the db [16:04]
diana_coman: billymg: in the db though in the option table I can see the posts_per_page but…not the posts_per_archive_page ? [16:04]
diana_coman: a select distinct option_name doesn't list it at all, huh [16:05]
billymg: diana_coman: you'll have to insert it (which is normal afaik, options are inserted as they're set, rather than the full list of options being there with empty values) [16:05]
diana_coman: hm; I would have thought that has a value anyway, not like it's ever empty as such but let's see [16:05]
diana_coman: yaaay, works! thank you billymg ! [16:12]
diana_coman: I still can't quite figure out why are then some options in db and some not (but still checked) and moreover why posts_per_page but ALSO nopaging (or what's the difference between nopaging vs posts_per_page=-1) but anyways [16:13]
diana_coman: clearly billymg's mpwp-fu is much higher than mine [16:13]
billymg: diana_coman: nice! [16:14]
billymg: diana_coman: i don't think there's any sense to be made of it really, your "ball of php" description is apt [16:14]
diana_coman: sadly that's quite likely indeed; but ah, so good to have this finally sorted and off the blog's to-do list. [16:17]
billymg: diana_coman, jfw: re: image upload for the multiple author scenario, i hadn't thought of that but i think in this round of cuts i will leave it in for that purpose [16:18]
billymg: mainly so i don't have to then maintain two forks while continuing to produce patches that would apply equally to both. so i'm thinking better to do the common work first, then fork [16:24]
diana_coman: makes sense to me [16:25]
diana_coman: bvt: it seems I managed to confuse v.sh & co. in the most unexpected way: I have a nice linear v-tree that I press to its last leaf; then I to a new vpatch on top of that (ie with a new version of the code base); the vpatch looks perfectly fine, it's some 430 lines too, not huge, there IS a manifest file that adds one line on top of the previous one (that is as expected corresponding to the previous leaf), all looks well; and then, … [17:37]
diana_coman: … if I try to press to this new last leaf, it fails with "Loop among vpatches" for those last 2 leaves – given that the manifest changes correctly, why /how is this possible? [17:37]
diana_coman: there's no output at all otherwise to give a hint more directly as to what it chokes on, but it's rather weird [17:37]
diana_coman: (sadly I can't quite pack the code itself as it's s.mg stuff and currently not public) [17:38]
diana_coman: huh, I think I actually now why – the newer vpatch reverses the changes in *one* file; bvt – did you intend it to claim that it's a loop if ONE file's changes are reversed by a vpatch? I guess it does raise the potentially ugly issue of manifest being a sort of "special" file since myeah, reversing that should not happen but the rest, hm. [17:46]
jfw: diana_coman: sounds like http://fixpoint.welshcomputing.com/2020/adventures-in-the-forest-of-v/?b=IV.&e=#select [19:43]
diana_coman: jfw: indeed; and lol @ coarse error of pilotage; though possibly I'm "abusing" V since I actually use it for code control instead of saving it only for special occasions or something [20:36]
diana_coman: even using it with unfinished code, ugly code, whatever-code, omg. [20:36]
diana_coman: and yeah, comment gets one out of it – but the main issue was figuring out *where* the exact revert was [20:40]
diana_coman: anyway, today I need to go in ~5 minutes; I'll be back tomorrow. [20:42]
feedbot: http://bimbo.club/2020/05/the-sarah-silverman-festival-of-rape-jokes/ << Bimbo Club — The Sarah Silverman festival of rape jokes. [23:13]
feedbot: http://trilema.com/2020/my-husband/ << Trilema — My husband… [07:18]
feedbot: http://bimbo.club/2020/05/work-report-5242020/ << Bimbo Club — Work Report – 5/24/2020 [08:54]
bvt: diana_coman: i have an experimental vpatch for that issue that i have written when there was a previous discussion about this. it's not 100% fix of the issue, but should be enough to solve most cases of it. [15:06]
bvt: i have uploaded it at http://bvt-trace.net/vpatches/vtools_vsh_fix_false_dependecies.vpatch http://bvt-trace.net/vpatches/vtools_vsh_fix_false_dependecies.vpatch.bvt.sig [15:32]
bvt: the idea is to 1. maintain refcounts for all the hunks in the vpatch which antecedents are currently determined. a candidate vpatch that matches the incoming hash increments the refcount for the hunk 2. don't exit the resolution loop when all the hunks are 'satisfied' (refcount >= 1) 3. after looping through all vpatches, check if there any any candidate antecedents, whose incremented refcounts are now all [15:38]
bvt: > 1; these antecedents are false/superfluous matches, and can be dropped. [15:38]
bvt: i will do the proper writeup sometime this week [15:38]
diana_coman: bvt: oh hey, that is quick! honestly, I am even still mulling over re what is exactly the correct approach there; the main trouble was one of confusing message since "loop" in my head meant full state rather than single-file-state (hence essentially made impossible by a properly updated manifest file, in itself); possibly at least a warning would be reasonable, but it might really make more sense to talk the matter through & give it … [20:32]
diana_coman: … some thought [20:32]
diana_coman: bvt: what's the cost of this change you've made, anyway? esp on large v-trees, does it make *everything* slower since now it has to go through all vpatches at all times? [20:34]
diana_coman: what I mean is: how much slower/how much of a problem and therefore is it the best approach? perhaps it's simply enough to give a clearer error message (e.g. which file is the trouble) and let operator sort it out; btw the *press* at least gave the message but iirc a vtree /antecedent command only did…nothing, silently, which is really confusing. [20:37]
diana_coman: hm, it turns out I have some irl unexpecteds to sort out today, apparently this weekend is not for that irc [20:41]
billymg: does anyone have handy the trilema piece about a business being about handling all the things that aren't seen/thought of? [21:29]
billymg: i think it might have been just a paragraph in a larger article, can't remember [21:30]
billymg: ah, nm, found it http://trilema.com/2019/the-business-and-the-fantasy/?b=a%20business&e=done#select [21:34]
diana_coman: billymg: it's not as much about all the things that aren't seen/thought of but rather a very hard "all the things" (hence, with the implicit "whether seen/though of or not, makes no difference, it's *all* or might as well be none" [22:08]
billymg: diana_coman: good point, and that's certainly how i understood it [22:10]
trinque: there's a misinterpretation possible that isn't mentioned, or I didn't see it in there. [22:18]
trinque: it's true that running a business means exhaustively mapping the territory in which it operates. [22:19]
trinque: it does not mean your capacity to deal with everything you've mapped is infinite. [22:19]
trinque: having the map allows you to decide which thing you're going to handle first, second, … [22:20]
trinque: mp mentions this elsewhere in re: having the girls order their communication thus. [22:20]
diana_coman: well, nothing is infinite anyway. [22:21]
diana_coman: nor is everything equally important as everything else, certainly [22:21]
diana_coman: Joe65: hello, what brings you here? [22:21]
trinque: true, yet hubris is common. [22:22]
diana_coman: trinque: heh, what set you so hardly against "hubris"? [22:22]
trinque: 10 yrs in my own business plus however many in tmsr :) [22:22]
diana_coman: while I can see at least *some* angle to that however many in tmsr, I advance the possible thought that "hubris" might not be all there is to it; at times it might even have its usefulness! [22:24]
trinque: what'd a case of that be? [22:28]
diana_coman: generically like that – the short-burst overexertion that may be needed to overcome a block; to the extent that there is space and time afterwards to decompress and that short-lived intense burst was exactly what was required, it fits. [22:31]
trinque: hm, I don't disagree with that, so I suspect we have these symbols mapped differently. [22:31]
diana_coman: possibly; it does seem that keeping-in-the-very-real-with-all-its-limitations is a relatively difficult/rare achievement nowadays, I'll certainly grant that. [22:34]
trinque: hubris is when one ignores the gods, which is to say when he orders himself higher in the chain of causes than he is. [22:34]
trinque: yep [22:34]
trinque: incidentally jfw you mentioned that your business was heating up? [22:36]
trinque: curious what's going on there, congrats if so [22:36]
diana_coman: in my experience the correction tends to come *very* swiftly if/when someone gets that sort of "higher in the chain of causes" ideas but it's true that some people are better at ignoring corrections than others. [22:37]
feedbot: http://trilema.com/2020/dumb-bitches-giving-prostitution-a-bad-name/ << Trilema — Dumb bitches giving prostitution a bad name [22:52]
Joe65: Hello Diana [00:08]
Joe65: I was brought here by bingo boingo via qntra via trilema [00:09]
Joe65: Bingo Boingo said this channel had Bitcoin related comms and history, that's specifically what I am interested in [00:09]
feedbot: http://ztkfg.com/2020/05/guitar-practice-log-6/ << whaack — Guitar Practice Log 6 [06:53]
feedbot: http://ztkfg.com/2020/05/guitar-practice-log-5-pepe-romero-stretches-and-basic-shoulder-anatomy/ << whaack — Guitar Practice Log 5 – Pepe Romero Stretches and Basic Shoulder Anatomy [06:53]
jfw: diana_coman: a review by tonight was probably doomed at the point of not quite finishing things off before checking out on Thursday. [07:03]
jfw: anyway, had a nice day of clearing pine needles from gutters, sawing off boughs that were impinging on suspended cables or otherwise in the way, and a bit of relaxing. [07:07]
jfw: trinque: last I heard, we have verbal agreement to sign from two prospective clients – one for our beginner and intermediate training, and one for consulting on a new corporate IT deployment. [07:10]
jfw: hi _joerodgers, you might need to stick with the Joe65 name for now to stay voiced (if you stick around you'll need to get a GPG key registered). this is a learning place focused on practical & sustainable growth led by diana_coman; there are indeed people here interested in & knowlegeable about Bitcoin among other things, and quite a bit of history – first of all in the logs linked from the [07:20]
jfw: topic, and second from TMSR from which this started as a branch. [07:20]
bvt: diana_coman: i don't have specific numbers, i'd need to test it on something like mp-wp to get them. i did not get noticeable slowdown with linux kernel and vtools, but i did not measure anything, just checked how 'fast' it feels. that's something i intend to do for the writeup. tbh back in the day i barfed looking at the code already, so decided to can it until someone comes up with a real tree with this [09:27]
bvt: problem. [09:27]
diana_coman: bvt: heh, that barfed looking at the code already sounds to me measurement enough to give it some more thinking at the very least before pushing it as part of the main trunk; and the more I think about it, the more it seems to me that the main problem is for now one of better error message first of all rather than necessarily one of "should press it anyway"; I can still make the case for both options but I can also make the case … [10:36]
diana_coman: … *against* both options so I'd rather go for the smallest and least costly (from all povs) change tbh – can it spit the name of the file + vpatches involved instead of just shouting "loop"? and to mark this at vtree as well instead of just silently doing nothing? [10:36]
diana_coman: jfw: take up gardening! heh [10:37]
diana_coman: _joerodgers: as jfw said really, there's quite a lot to both logs and, especially, context to make sense of it all; it tends to help/work easier for you if you actively engage though so maybe come around to talk one day from 7pm UTC when I'm more usually around; if you don't have voice, just ask for it in pm (me or someone else who is voiced) [10:41]
sonofawitch: 2020-05-25 07:20:47 (#ossasepia) jfw: hi _joerodgers, you might need to stick with the Joe65 name for now to stay voiced (if you stick around you'll need to get a GPG key registered). this is a learning place focused on practical & sustainable growth led by diana_coman; there are indeed people here interested in & knowlegeable about Bitcoin among other things, and quite a bit of history – first of all in the logs linked from the [10:41]
diana_coman: cruciform: how's the moving going? [10:57]
diana_coman: whaack: reports seem to work not-bad for guitar practice at least; are you sure you don't want to do anything else at all? [11:00]
bvt: if i liked that code, i would have just released the vpatch immediately with performance benchmark, so i agree with 'case against'. i will look into improving the error reporting code — this should be possible (with slightly more code in v.sh), though the precise loop analysis would take approximately the same amount of ada code as went into that experimental vpatch. [11:15]
diana_coman: bvt: so maybe not go directly for precise loop analysis then – what are the less-costly-but-still-better-error-message options there? [11:58]
diana_coman: I guess at a stretch, since the offending vpatches are identified, one will just script the "find the matching hashes", not like it's a big deal; only I'd rather not have it on the side, if it can be avoided [11:59]
diana_coman: joerodgers uhm, just leave it connected somewhere, it's not a problem. [21:15]
diana_coman: !!up #ossasepia joerodgers [21:19]
deedbot: joerodgers voiced for 30 minutes. [21:19]
diana_coman: !!key joerodgers [21:20]
deedbot: Not registered. [21:20]
diana_coman: joerodgers: if you register a key with deedbot, I'll rate you and you'll then be able to voice yourself. [21:21]
joerodgers: I will gladly do that, sorry for joining and exiting, just got an IRC client setup and channels saved. I will track down how to register with deedbot now [21:22]
diana_coman: !!help [21:22]
deedbot: http://deedbot.org/help.html [21:22]
diana_coman: joerodgers: do you know what the WoT is? [21:23]
joerodgers: I see it is a trusted group of people from TMSR, but that assumption mightbe wrong [21:23]
joerodgers: http://paste.deedbot.org/?id=7IWb [21:24]
diana_coman: heh, don't take words to mean what a first glance might suggest, it's generally not a very good strategy anyway; the canonical ref for the WoT is the article on trilema.com [21:26]
feedbot: http://younghands.club/2020/05/25/rmd-w27-29-review-may-4-24th-2020/ << Young Hands Club — RMD w27-29 review, May 4-24th, 2020 [21:26]
diana_coman: joerodgers: see deedbot's help page, you need to use that !!register command [21:28]
joerodgers: thank you, I am reading the docs now [21:29]
diana_coman: bots answer each to their own prefix, not just randomly to any text [21:29]
jfw: diana_coman: indeed I could even take up gardening now [21:30]
feedbot: http://younghands.club/2020/05/25/rmd-w30-plan-may-25-29th-2020/ << Young Hands Club — RMD w30 plan, May 25-29th, 2020 [21:31]
diana_coman: jfw: so then – plan sorted: take up gardening! [21:32]
diana_coman: dorion: yo, welcome back but *slow down"! lolz [21:32]
joerodgers: !!register http://paste.deedbot.org/?id=7IWb [21:33]
deedbot: A8A2746C266D1447AAD7A0B0B087C5F744EE8888 registered as joerodgers. [21:33]
diana_coman: congrats joerodgers [21:33]
joerodgers: thanks for the guidance [21:35]
diana_coman: no problem at all [21:36]
dorion: diana_coman thanks. where looks to you to be the best place for me to slow down ? [21:36]
dorion: joerodgers, welcome. [21:36]
diana_coman: dorion: lol, at writing, before publishing; that has got to be the shortest possible review of 2 weeks worth of time that I ever saw ! [21:39]
diana_coman: but hm, now looking at it, wtf happened to the categories on yh [21:39]
diana_coman: this is a new one [21:39]
diana_coman: did anyone notice -when did the categories there vanish? [21:40]
dorion: diana_coman I noticed the change today, thought it was intentional. [21:40]
diana_coman: neah, I have to bring them back; only now I wonder just when did I manage to nuke them. [21:41]
jfw: I did not notice that as of my last (May 18) [21:42]
diana_coman: to make it even weirded, they *are* in the db, ugh. [21:43]
dorion: diana_coman I see what you mean now with slowing down, I'll add to it. [21:46]
diana_coman: billymg: do you know where exactly does the UI get the categories /what does it need other than the stuff in the db? [21:48]
diana_coman: really does not want to go about comparing the backups, ugh [21:48]
jfw: http://younghands.club/2020/01/13/jfw-review-week-of-jan-6-2020/#comment-283 – ref I was looking for on gardening: I'd just be missing out on the miserable weather now [21:50]
diana_coman: huh, what the issue was: apparently the UI relies on a temporary file to gather the list of categories to show; and the VM was low on disk space (unrelated – I ran some other stuff there) and so…this nuked the categories from showing… [22:51]
diana_coman: anyways, space is now plenty, should not run out of it again either, so categories are showing again all fine [22:55]
diana_coman: ftr, nothing was lost/wrong at any time in the db or anything – it was at all times a matter of display, but ugh. [22:56]
billymg: diana_coman: this is for categories on the public-facing www, or in the admin panel? [23:09]
diana_coman: billymg: both [23:09]
diana_coman: they were not showing anywhere, neither in the admin panel, nor in the contributor/writer (ie non-admin user) panel, nor on the www (all articles were shown as Uncategorized) [23:10]
billymg: diana_coman: what was the temp file called? or did you find where it's created/referenced (i wouldn't mind taking a look just for my own understanding of it) [23:10]
diana_coman: funnily enough (and the ~only clue I had that something funny was going on) was that the whole interface otherwise correctly named the *default* category in other places (eg where it warns that deleting a category does not delete the articles) [23:11]
diana_coman: billymg: I didn't dig that deep so unfortunately I can't help you there much; basically I checked everything in the db including that all had the correct parents etc; I checked that it was even as it had been before; then I noted that discrepancy; so looked around at what *else* could be the trouble [23:12]
diana_coman: at any rate, I think it's a lousy way this is done and I can't quite understand why would it be done differently than all the rest or wtf does it need now disk space for [23:13]
billymg: diana_coman: hrm, seems bizarre indeed [23:14]
diana_coman: it's true that I never managed to run out of space on a blog-running machine but then again, this is kind of a special-situation-machine by all measures. [23:14]
billymg: definitely seems strange that the lits would be written to a temp file and not just in memory [23:16]
billymg: list* [23:16]
diana_coman: has always had trouble with categories & wordpress [23:17]
diana_coman: I don't know why did they mess them up so much [23:17]
billymg: diana_coman: how was the ram utilization doing on the box? [23:17]
diana_coman: billymg: uhm, I didn't check specifically; there was though nothing special running at the time (the script that had gotten the drive full had finished anyway) [23:18]
billymg: needs to look closer at this in the code, but at the moment is focused on just ripping out all the js cruft [23:18]
diana_coman: billymg: no rush with this as such; it was a wtf-moment but admiteddly, out-of-disk-space is not an usual state anyway and generally gets sorted before it causes this sort of wtf. [23:20]
diana_coman: !!v 76F4168158928BD1BA9D369F55A353572E71255DA919C7B6AB7C848F1DAC367F [23:20]
deedbot: diana_coman rated joerodgers 1 << new to it all [23:20]
diana_coman: joerodgers: there you go; you should be able to voice yourself now, see deedbot's help page [23:21]
billymg: diana_coman: ok got it [23:21]
feedbot: http://trilema.com/2020/nuts-absolutely-fucking-nuts/ << Trilema — Nuts, absolutely fucking nuts. [04:44]
feedbot: http://bimbo.club/2020/05/work-report-5252020/ << Bimbo Club — Work Report – 5/25/2020 [10:01]
feedbot: http://thetarpit.org/2020/obituary << The Tar Pit — Obituary [13:15]
diana_coman: spyked: you know, I had just found out about Stanasila and then saw your article and thought it's too much coincidence not to be about him too; other than the course we had with him though, I could never quite figure out if/what he managed to build otherwise in that hole, to me he seemed rather one of the few exceptions to be grateful for. [14:17]
spyked: diana_coman, there's a small group there that teaches math properly… or it still was when I last looked. other than that, it depends how much patience you have to dig through academic journals, iirc he co-authored some stuff 3-5 years ago. [14:27]
spyked: well, I'm not sure that teaching is going to amount to much, it also requires willing students. [14:27]
diana_coman: spyked: ah, I'm sure research wise he had contributions and otherwise the well known textbooks/workbooks at the very least certainly stand for "built"; what I meant was specifically at UPB – maybe it was just my very limited understanding of the whole environment at the time but he was very little visible other than that 1 course. [14:34]
spyked: iirc he actually retired in 2008 or so, I think he was already old by then. but almost all of the people teaching analysis in UPB were his students; the ones who remain were his colleagues, lol (tbh, I'm surprised to hear Flondor is still teaching) [14:48]
diana_coman: ah, he certainly was already quite old when I met him, yes; that was though ~2002 so possibly not yet retired; re those teaching analysis/anything else there nowadays, I am not really up to date. [14:51]
diana_coman: not sure otherwise anyway what does "his students" mean in the sense that yes, there was that 1 course so I was his student too; for all my preference for the course, it was nevertheless a very, very small part of the Maths learnt in those years so not really sure if it's all that appropriate otherwise to claim "his student" [14:53]
diana_coman: (and I suppose ~all in the same year as me could by the above token claim they were his students, but uhm) [14:55]
spyked: diana_coman, people with whom he worked closely, taught them the trade, brought them up. [15:38]
spyked: or conversely, people who wanted to learn the stuff he taught. as opposed to people who were nominally "students", but weren't interested. [15:40]
diana_coman: the first would be the definition I normally agree with; and in this sense I wasn't his student; I'll believe you if you say (some of) those teaching now analysis there, have been. [15:43]
feedbot: http://trilema.com/2020/walks-among-the-quaint-quarantruins/ << Trilema — Walks among the quaint quarantruins [17:01]
diana_coman: jfw: what's on the agenda for this week in the end? [21:07]
jfw: diana_coman: I was trying to work that out just now, but pretty much got to feeling down about the seeming futility of getting myself to follow a plan anyway. [21:21]
jfw: dunno what I have against gardening but it hasn't made it onto the draft yet. [21:22]
jfw: we did have the first lesson for a beginner training client yesterday, which was refreshing, I've got some things to tend to on that [21:23]
diana_coman: jfw: hm, better curious than down about something like that, it's not unchangeable nor without some causes; anyways, how about leaving the plans be for now and draw up instead the summary of the week/day to see what "plan" emerges out of the free-form [21:28]
diana_coman: tbh considering the trouble you seemed to have in cutting stuff out of the plan because "it should be there", I suspect at least some significant part of the "can't follow a plan" stems from that really – it's not that you can't follow a plan, it's more that you can't bring yourself to plan for what you'd follow rather than for what "should be" [21:29]
diana_coman: great to hear your beginner training client started, that's good news anyway. [21:30]
jfw: thanks, and yeah, could be! [21:30]
jfw: for summaries do you mean my choice of weekly or daily, or what? [21:31]
diana_coman: jfw: ideally daily but literally take max 15 minutes to put it together (can even be as a comment at last article of yours or something) so at the end of the week it's there and therefore the "plan" whatever it was is clear enough; is that doable? [21:32]
jfw: ("could be" I meant about planning for what I'd follow. I should remember by now that 'saving typing' by leaving out context doesn't really work out…) [21:33]
diana_coman: jfw: I got that, no worries there. [21:34]
jfw: diana_coman: yep that's doable. [21:35]
diana_coman: so please do it then, starting today with yesterday's summary so it's a full week by Friday and then there's something to have a look at. [21:37]
diana_coman: jfw: what's thawing blog-side? [21:37]
jfw: I will. On the blog, I'd started on writing up a fairly simple "eatblock" script for bitcoin, can possibly get that done today [21:39]
diana_coman: sounds good [21:40]
diana_coman: and then publishing that wallet? [21:40]
diana_coman: :P [21:40]
jfw: for sure :) [21:40]
diana_coman: to quote last October's words [21:43]
sonofawitch: 2019-10-26 18:00:59 (#ossasepia) diana_coman: because you know, I can let you slide and take a whole month on one post; at that rate possibly we'll get to have a look at your software sometime before I die of old age or something. [21:43]
jfw: wallet reminds me, I need to redo some genesis patches to follow the project name subdir convention [21:44]
diana_coman: jfw: so what happens in cases like this (ie with this sort of reminder coming unexpectedly)? [21:45]
diana_coman: speaking of remembering stuff, hm; dorion any chance you'll still write that hunting article or what happened to it anyway? [21:46]
jfw: diana_coman: in this case I'd noticed earlier it needed doing, but hadn't mentioned it. Not sure what happens there in general. [21:48]
diana_coman: do you keep some sort of list and add it there? or make a note mentally (in principle; aka if it doesn't fade away, it might get done)? or do you drop whatever it was and do it? none of those? [21:49]
jfw: pretty much the make a note mentally I'd have to say. [21:50]
diana_coman: so either it's then basically taking up mental space or otherwise it's in the category ~"if it's truly important, I'll surely get annoyed with it enough to do it in the end!" [21:52]
diana_coman: it works, I know; not very efficiently, but it sort of works while there is enough slack otherwise, indeed. [21:52]
jfw: I've sometimes kept a todo list but it eventually ends up the list of things I wish I'd do but probably won't anyway… [21:53]
diana_coman: well yes, the list itself does not change the above; it goes the other way around ie only when you have (for whatever reason) enough of the above, only then the list (or other device/system) will come in handy too [21:54]
diana_coman: (this is not to say the change-genesis is now some very urgent or must-do-now thing, just in case it's not clear) [21:55]
jfw: you're saying the system comes in handy once there are more important/annoying things than fit in the mental space? [21:56]
diana_coman: the system comes in handy once the current efficiency level is not enough for yourself anymore; whether that's because there are more important/annoying things than fit your mental space or whether it's because the available time is less than the work you absolutely find you must do or whether it's for any other possible reason matters less [21:59]
jfw: makes sense, it changes once it has to [22:01]
diana_coman: pretty much; the part worth also saying in clear is that whether you push it towards some "has to" or quite push it at all times the opposite is your choice too. [22:04]
jfw: such as by choosing to take up responsibilities or not? [22:06]
diana_coman: come to think of it, there's something in there linking even to that older question re systematic curiosity, hm. [22:07]
diana_coman: jfw: such as that indeed; such as pushing towards or away from what seems unpleasant/uncomfortable [22:09]
diana_coman: linking it to what likes actually mean ie habit and existing adaptation, it's hopefully quite clear why the need to change is unlikely to come that much from what one likes, huh. [22:12]
sonofawitch: 2020-05-13 21:57:02 (#ossasepia) diana_coman: so many likes are a matter of habit (and deeper than that – a matter of wider specific adaptation really) that it's not really all that hard to throw people off if you want to; part and parcel of having lived in many places though is getting to see just how much of what people claim otherwise as fixed and "the truth" and all that is in the end just a matter of context really. [22:12]
diana_coman: anyways, the tiny bit that started this thread quite went already longer than the genesis-change example itself has legs; so it can certainly take a rest. [22:15]
jfw: alright yeah, all seems to make sense but a bit abstract for me so far. [22:16]
jfw: possibly misparsed on log import? http://ossasepia.com/2020/04/20/ossasepia-logs-for-02-Sep-2019/#1001032 [22:47]
sonofawitch: 2019-09-02 19:14:01 (#ossasepia) diana_coman: will be back tomorrow\\x01 [22:47]
diana_coman: jfw: looks like that, darn; thanks for pointing it out, it'll have to wait until I get to look at that again. [22:51]
jfw: np. [22:51]
feedbot: http://younghands.club/2020/05/27/jfw-daily-summaries-week-of-25-may-2020/ << Young Hands Club — JFW daily summaries, week of 25 May 2020 [10:37]
feedbot: http://bimbo.club/2020/05/work-report-5272020/ << Bimbo Club — Work Report – 5/27/2020 [09:41]
diana_coman: !!up yrctest [20:38]
deedbot: You may not !!up yourself. [20:38]
diana_coman: !!up #ossasepia yrctest [20:38]
deedbot: yrctest voiced for 30 minutes. [20:38]
yrctest: waves at jfw [20:39]
yrctest: jfw yrc looks pretty neat, once the bit_length trouble was sorted; the lack of tab-completion though sucks. [20:48]
jfw: diana_coman: hey thanks for testing [20:54]
jfw: the tab completion is one among several noted sucks. maybe I'll give the whole thing another pass soon [20:54]
diana_coman: jfw: no worries; now I realised I should give it another go on 2.16 after the fix to that bit_length, huh [20:55]
jfw: weird that you got that error on 2.7.16; I'm running on a Debian 2.7.3 and otherwise tested on 2.7.13 [20:57]
jfw: and I woulda thought bit_length would be some efficient internal thing, not "convert to binary string and count digits" lol [20:58]
diana_coman: jfw: well, not that I *expected* it was that but …such said the docs, why would I argue with them. [20:59]
yrctest: would you look at that, it works with python 2.6.6 too! [21:02]
jfw: oh I see, it's "equivalent to" that but the 2.7 implementation is indeed internal. [21:02]
jfw: nice! [21:03]
diana_coman: huh, I basically "backported an irc client, in one hour!!11" [21:03]
diana_coman: well, alternatively it may be called "messing about with python and irc for one hour" but anyways [21:05]
jfw: well seems to be messing about with a useful output at least. [21:08]
diana_coman: tsk [21:09]
diana_coman: jfw: ftr it was the neat layout of yrc that got me to look at that bit_length thing a bit more [21:09]
jfw: diana_coman: good to know. and no 'ncurses' involved either [21:10]
jfw: diana_coman: what was the 'tsk' to there – the devoicing? [21:12]
diana_coman: jfw: indeed, no (n)curses either; and yes, tsk was to deedbot [21:12]
diana_coman: I guess now I got yrc working even on 2.6.6, I'll just have to switch, huh [21:13]
diana_coman: jfw: unrelated – that "plan" took me all of 10 minutes to write down for you; what do you usually polish so much at a plan to take 0.8 hour and still not be done with it? [21:15]
jfw: tug-o-wars over 'I should do this, that and the other but am I really going to?' [21:16]
diana_coman: so ditch the "should" directly and see what happens? [21:18]
diana_coman: rather than forever wasting time on the hesitation to …admit it because in practice it's anyway what it is. [21:19]
jfw: right. [21:20]
diana_coman: wb joerodgers [21:23]
diana_coman: !!up #ossasepia joerodgers [21:25]
deedbot: joerodgers voiced for 30 minutes. [21:25]
diana_coman: joerodgers: how was/is reading around here? [21:27]
joerodgers: I am still not sure how to get the most value out of this channel. As an outsider, It is quite intimidating. [21:28]
joerodgers: I desire more knowledge and personal development but I am not sure how to engage [21:29]
diana_coman: a bit like everywhere else meeting new people – talking helps best; what /why do you find interesting re bitcoin or what's your link to it? [21:31]
diana_coman: jfw: you do realise that if I switch, then in all likelihood, I'll whine and whine until you do get that tab-completion done, right? [21:32]
jfw: diana_coman: entirely. [21:32]
diana_coman: (and then if it works, I'll therefore have to hire an army of whiners to get jfw to do some work!!111) [21:33]
diana_coman: joerodgers: do you write anywhere on the web/do you have any website/blog? [21:33]
joerodgers: I am interested in the economic, political, and philosophical impact Bitcoin will bring to us [21:34]
jfw: diana_coman: they say the squeaky wheel gets the grease… not sure it works if all the wheels are squeaky though [21:35]
joerodgers: I curate Bitcoin articles in a monthly journal [21:35]
joerodgers: I am trying to find my voice, but I have never been a profound writer. The website it here: https://bitcoinwords.github.io/ [21:35]
diana_coman: re intimidating – I get it, but the only cure for that is simply to interact (and worry less about the outcome as such) [21:36]
joerodgers: Sure thing! [21:36]
diana_coman: joerodgers: why on github.io? [21:36]
jfw: github is a journal now!! [21:36]
joerodgers: It offers free hosting [21:36]
joerodgers: Yes, I have received plenty of "constructive" feedback on my choice of platform from our friends in asciilifeform [21:37]
diana_coman: joerodgers: heh, the way towards "a profound writer" is to look a bit more at what things like "free" mean in their context [21:38]
diana_coman: joerodgers: ahaha, mind giving me the gist of that feedback? [21:38]
joerodgers: I understand there are tradeoffs to my choince in putting a website on gh [21:38]
joerodgers: the gist… "why gh noob, fuck microsoft, git is not for that!" [21:39]
joerodgers: haha [21:39]
diana_coman: joerodgers: well, tradeoffs are there to ~everything; the question is more 1. why do you want to pour work into something that apparently can't ever even pay for own hosting 2. what does free in that context actually mean ie how exactly are you in fact paying for the service there since you do not pay for it with money (because pay for it you still do) [21:40]
diana_coman: joerodgers: lol, I see, the very constructive and helpful indeed. [21:41]
joerodgers: You are right, and I have justified my choice by lack of technical knowledge to self host. The project is highly portable and I have several backups. I am less interested in my choice of hosting provider and more interested in the impact of Bitcoin us all [21:43]
diana_coman: lack of knowledge is most easily fixed though. [21:44]
diana_coman: joerodgers: what does it mean "interested in the impact of bitcoin on us all"? I suppose the Bitcoin category on trilema.com provides ample discussion and commentary on that from a rather authoritative source [21:45]
joerodgers: I am still reading through the trilema archives. I found the summary on ossasepia.com and that was helpful. [21:46]
joerodgers: Specifically I am interested in how Bitcoin and sound money will change human behavior, I believe it will be for the better [21:47]
diana_coman: you know, leaving aside all the ??? I get visiting that bitcoinwords site (unicodes I suppose) and all the lol of x minutes to read and even a lot more else… what exactly makes those words there worth reading in the first place? it's really not a problem of too *few* words otherwise on bitcoin (or on anything else really) [21:49]
diana_coman: or how do you even perceive that "there's too little and in danger of being lost omg",huh [21:49]
diana_coman: if anything, ~everyone drowns in *too much* (and most of it rehash, just like e.g https://bitcoinwords.github.io/economics-has-lost-its-way – and it's really just one example picked at random, not specifically meant to single it out in anyway) [21:50]
joerodgers: I think there is a lot of noise out there. I am trying to build a high signal library for current and future Bitcoiners. I think (hope) Bitcoiners will find value to be able to open a journal in 5 years and see what we were talking about [21:50]
diana_coman: joerodgers: for the better..of what? heh [21:50]
joerodgers: Better overall. Low time preference has changed my life. [21:51]
joerodgers: I am more focused on health, family, personal development, and saving… plus many other things [21:52]
diana_coman: joerodgers: bitcoiners as in people-actually-involved-in-bitcoin would rather read the words of those past bitcoiners eg on their blogs, don't you think? I know there is this old model of "editor and curating" etc but uhm, that was also in a rather different context [21:52]
diana_coman: joerodgers: what is "low time preference"? [21:52]
joerodgers: I will answer you, I have a call with my team I must prepare for! [21:53]
joerodgers: brb [21:53]
diana_coman: ah, no worries; can wait until tomorrow too, not a problem at all. [21:53]
jfw: learns (indirectly) from https://bitcoinwords.github.io/101/ that the Nakamoto Institute guys fell out and rewrote their founding to include Cody Wilson rather than Daniel Krawisz [21:54]
diana_coman: ftr, I read 5 times by now this "If you find WORDS helpful, Bitcoin donations are unnecessary but appreciated." and I'm still in wonder at its twists. [21:56]
diana_coman: for balance-of-twisting, may I suggest it changes to "if you find WORDS unhelpful but appreciated, Bitoin donations are unnecessary but appreciated." ? [21:56]
diana_coman: jfw: ahaha, it's ok, nobody reads it anyway [21:57]
jfw: hehe [21:57]
diana_coman: joerodgers: what's with the splitting of "paragraphs" by count of lines (3 lines each, apparently) rather than by meaning? It reminds me of those housewives bent on "tidying the bookcase" by sorting once and for all those pesky books by size, wtf does content matter!! [22:01]
diana_coman: joerodgers: oh, hey, is this illustration your work? [22:05]
diana_coman: jfw: here's further reason for why gardening is totally part of the plan: "it’ll take a small team of engineers who quietly maintain the software like a constant gardener" [22:07]
diana_coman: huh, that "Links" thing reminds me of fain [22:10]
diana_coman: in principle, though I doubt in practice [22:10]
diana_coman: joerodgers: why not give directly the actual link of your blog? ftr it's at least way more readable than that words thing. [22:13]
jfw: diana_coman: gardends are made to last forever apparently? at least if they're not busy getting hacked all the time [22:15]
diana_coman: as to the "shorter time preference" (which is in there, too!), it's more of a must than a preference when all one has are leaves to pay with – either now or watch them be worthless tomorrow, sure. [22:15]
diana_coman: jfw: apparently! the weeds of hacking in thy garden!! [22:16]
diana_coman: anyways, I shall conclude here my opportunistic hike through the internetz at large as it's quite enough for one day, lol [22:18]
diana_coman: will be back tomorrow [22:19]
jfw: Anyone know of a decent sub-line-level diff tool? it's a wonder that I still don't have any other than …git [22:54]
jfw: last I checked I turned up only libraries and GUIs [22:56]
feedbot: http://trilema.com/2020/robocop/ << Trilema — Robocop [23:39]
feedbot: http://bimbo.club/2020/05/work-report-5282020/ << Bimbo Club — Work Report – 5/28/2020 [09:22]
feedbot: http://trilema.com/2020/the-ties-that-bind-the-ties-that-tie-generally-speaking-a-ties-a-tie/ << Trilema — The ties that bind, the ties that tie… generally speaking, a tie's a tie. [17:42]
diana_coman: hm, I am not aware of any decent sub-line diff tool, no. [20:43]
whaack: http://logs.ossasepia.com/log/ossasepia/2020-05-25#1026321 Apologies for the late response, I was away from my terminal for a couple of days and then continued to leave it hanging. I would like to do something; it felt good seeing some improvement on my guitar playing from adding structure to my practices and I'd like to return to organizing (or at least attempting to) my time wisely on more [01:52]
whaack: productive tasks. [01:52]
ossabot: Logged on 2020-05-25 06:25:17 diana_coman: whaack: reports seem to work not-bad for guitar practice at least; are you sure you don't want to do anything else at all? [01:52]
feedbot: http://trilema.com/2020/i-woke-today/ << Trilema — I woke today… [18:39]
feedbot: http://trilema.com/2020/essentially/ << Trilema — Essentially… [18:39]
feedbot: http://bimbo.club/2020/05/work-report-5292020/ << Bimbo Club — Work Report – 5/29/2020 [18:40]
feedbot: http://bimbo.club/2020/05/my-punishment/ << Bimbo Club — My punishment. [18:40]
diana_coman: whaack what is of most interest to you? [21:03]
whaack: diana_coman: I am not sure of the answer to that question, but a few things come to mind. First, I want to work on some project that replaces TheFleet – and I think that should be the currently-dormant "build an otc network" plan. A concrete goal would be to sell 1 btc by the end of the month. I am also interested in finding another source of income. A prospective business is escape-the-us-to-cr [23:38]
whaack: consulting. (A birdy told me that billymg was toying with this idea as well.) Apart from that, I'd like to continue my Spanish and guitar studies and return to writing more on my blog. [23:38]

May 2, 2020

New Skins for Fashionable Hopefuls

Filed under: Coding,Computer Graphics — Diana Coman @ 8:12 pm

Those past two days I finally got around to explore a few more directions I had in mind. My focus this time was on textures – mainly because it’s a faster way to see what various changes do to the result. Nevertheless, what I’m looking for otherwise is still focused more on the meshes – while the skeleton might be getting there, I think the mesh(es) still needs quite some improvement before there is more hope for the hopefuls. At any rate, I find I’d rather unload already the new stuff so read further for the list or scroll to the end for the pretty pictures, as usual.

The fun had yesterday and today yielded:

  1. Cellular noise.I’ve finally implemented a new noise to play with alongside Perlin’s – it’s Worley’s and the main thing is that it’s quite on purpose “cellular” aka it’s based on linear combinations of the shortest n distances to a set of feature points that are probabilistically (Poisson) distributed in the 3D space. The main reason why I really wanted to see this in action is that a set of feature points – although possibly not Poisson distributed – might make perfect sense to consider when deforming shapes with the aim of getting something looking more like creatures. As usual, things are not all that clear to start with, mainly because there are so many ways to use each and every thing that at the end of the day ~anything is potentially possible – at least until one finally understands the whole thing enough to be able to figure out the reasons why it might not be possible! In any case, for starters I aimed to keep as close as possible to Worley’s original paper describing this cellular noise so I have an implementation that generates indeed -when used …plainly, let’s say- textures with “cells”. Scroll further down for the pics too.
  2. Metallic, swirly, sparkly and other new textures. Trying out Worley’s noise plain was not half bad but trying it out with fractals turned interesting as I found out how easily it can all tend to …noise, heh. This had in turn the effect that I went back to playing with Perlin’s noise and multifractals and between the two, the result is that I’ve got what I can only describe as “metallic” textures, sparkly textures, swirly textures and ~any combination of those (swirly metallic texture being quite a thing for instance). By this stage I wish I could set some of those on fabric and start a fashion line as it would be way more interesting than many rags they fill the shops with. Come to think of it, it would be quite funny -although not all that surprising anymore- if Euloran characters end up better dressed than various “influencers” that are supposedly more than just a bunch of pixels on a screen.
  3. Tweaked texture mapping. Another unexpected but productive side effect of this round of play is that I finally got thoroughly annoyed with that line/seam artefact that the stereo mapping of texture used so far always seems to create. And so I went and had another look at all my formulae there, with an eye to adjusting them so as to figure out if I can *also* have a version of it that eliminates that seam 1. Like many other things, it turns out of course that all it takes is to know what to look for. Both coordinates use the arctan which returns results between -pi and pi, while the valid range for texture coordinates is between 0 and 1. So there is yet another place where options are available – and make a visible difference – depending on how this particular adjustment/mapping of intervals is made. At any rate, changing it to the more direct “just add pi and then divide all by 2*pi” turns out I’d say a better mapping in terms of how the full area of the texture gets shown on the mesh (though yes, if you want that seam, it’s not there anymore). One can further fiddle with it and keep the old adjustment for *one* of the coordinates while using the new for the other coordinate – yet another look and all that. Basically that’s the core trouble with looks – you can have so many of them for so little that it’s extremely easy to spend all the time just trying out nonsense in all its shapes and forms. At times even pretty nonsense, indeed.

As to the pretty pictures, there are some new textures and then a few screenshots to see them with the old and with the updated mapping as well. To start with, Worley’s noise is by definition quite “structured” and this shows immediately if simply plugged into the fractal brownian motion function as such. This is not to say that resulting images are not interesting of sorts – it’s simply that I think they end up rather tiresome on the eye and moreover, essentially too regular to serve that well as cover for any creature. In any case and for the memory of it if for nothing else, here are a few of them (some simple fractals, some multi-fractal giving them that layered look mainly):
tex2020_02_3_512.png
tex2020_02_5_512.png
tex2020_02_24_512.png
tex2020_02_25_512.png

Plain Worley’s noise without fractal messing about creates some cell structures as expected but that can be as simple as one big cell or as intricate as one desires – depending on the mapping of the original domain and otherwise on how the closest n distances are combined to give the final result. The textures that look “round” are by design exactly so – they use a stereographic mapping of the image’s own domain that is passed on to the Worley function, with the difference between the versions below being in how big (or small) the domain is considered. The ones with a tiny “centre” where everything happens can be quite useful if one wants to pop out some detail on a creature while simply colouring the rest to match but still remain more tame:
tex2020_02_16_512.png
tex2020_02_18_512.png
tex2020_02_19_512.png
tex2020_02_20_512.png
tex2020_02_22_512.png

The additional exploration of multifractals using Perlin’s noise got this time all sorts, from sparkly texture to pronounced swirls – and I’ve specifically got a series of one set so that the effect of added detail is quite clearly visible (if one insists, after a point it all quite goes into noise/sparkle but most are really more noise than sparkle):
tex2020_02_17_512.png
tex2020_02_1_512.png
tex2020_02_2_512.png
tex2020_02_4_512.png
tex2020_02_6_512.png
tex2020_02_7_512.png
tex2020_02_8_512.png
tex2020_02_9_512.png
tex2020_02_10_512.png
tex2020_02_11_512.png
tex2020_02_12_512.png
tex2020_02_13_512.png
tex2020_02_14_512.png
tex2020_02_15_512.png
tex2020_02_21_512.png

And here’s the fashion hopefuls-parade, experimental edition:
fashion_10_640.png
fashion_11_640.png
fashion_12_640.png
fashion_13_640.png
fashion_14_640.png
fashion_15_640.png
fashion_1_640.png
fashion_16_640.png
fashion_17_640.png
fashion_18_640.png
fashion_19_640.png
fashion_20_640.png
fashion_21_640.png
fashion_22_640.png
fashion_23_640.png
fashion_24_640.png
fashion_25_640.png
fashion_2_640.png
fashion_26_640.png
fashion_27_640.png
fashion_28_640.png
fashion_29_640.png
fashion_30_640.png
fashion_31_640.png
fashion_32_640.png
fashion_33_640.png
fashion_34_640.png
fashion_35_640.png
fashion_3_640.png
fashion_36_640.png
fashion_37_640.png
fashion_38_640.png
fashion_39_640.png
fashion_40_640.png
fashion_41_640.png
fashion_42_640.png
fashion_4_640.png
fashion_5_640.png
fashion_6_640.png
fashion_7_640.png
fashion_8_640.png
fashion_9_640.png

  1. I’m saying a version of it because otherwise in some cases that seam might come in handy – it tends to create… noses perhaps, heh; at least a clearly separating midline that is not always such a bad thing.[]

#eulora Logs for May 2020

Filed under: #eulora_irc,Logs — Diana Coman @ 12:03 pm
feedbot: http://thewhet.net/2020/05/the-froth-of-our-days-september-13th-2014/ << The Whet — The Froth of Our Days: September 13th, 2014 [12:03]
feedbot: http://thewhet.net/2020/05/cold-knocks/ << The Whet — Cold Knocks [05:51]
diana_coman: !s help [12:37]
sonofawitch: !s is my prefix for commands: hi, help [12:37]
diana_coman: !s help ` [13:30]
sonofawitch: !s is my prefix for commands: hi, help [13:30]
diana_coman: test crosscite [13:33]
sonofawitch: 2020-05-18 21:44:55 (#ossasepia) billymg: diana_coman, jfw: yes, this will be a surgical snip, not a simple `find ./mp-wp/ -iname "*.js" | xargs rm` [13:33]

Work on what matters, so you matter too.