00:03:19 argh, I can't type "quest" without my fingers continuing it as "question" 00:16:48 tough 00:17:31 I think that's a firmware bug. You should ask the manufacturer whether you're still under warranty. 00:18:23 Aw, the "ratio" charts broke because for the first time there was a data point (the one at 20 past midnight in US/Eastern) where a day (namely, day 18) had a nonzero number of two-star solutions (5) but no single-star-only solutions at all, giving a `one / (one + two)` ratio of 0, which breaks log-scale charts. 00:18:55 oops :) 00:19:24 I think I'll just filter out zeros as well. Already was doing so for when the denominator was zero. 00:19:26 do (one + 1) / (one + two + 1) ;-) 00:19:31 -!- oerjan has joined. 00:19:45 -!- sprout has joined. 00:23:53 Heh, looks like 11 and 18 are both pretty far down on the chart. Sadly the pattern doesn't apply to the last green line (4): https://zem.fi/tmp/rat.png 00:24:32 -!- sprout has quit (Ping timeout: 240 seconds). 00:42:14 that charts break on a dividion by zero? 00:50:16 ah. okay. what is the relevance of that ratio? 0 seems correct value, if there are no one star solutions. 00:52:19 -!- sprout has joined. 00:53:49 -!- delta23 has joined. 00:53:59 [[Gift]] M https://esolangs.org/w/index.php?diff=90967&oldid=90965 * PythonshellDebugwindow * (+80) /* Implementation */ Add categories 00:54:16 earendel: but we want a nice graph instead 00:54:26 It'd be a _correct_ value, sure, but you can't place a zero on a log-scale axis, and with a linear scale it gets all pretty crunched up. 00:54:48 ah. oki. 00:57:01 -!- sprout has quit (Ping timeout: 245 seconds). 00:57:22 Though FWIW Altair/Vega does have a "symlog" scale that supports zero and negative values (http://dx.doi.org/10.1088/0957-0233/24/2/027001). But I don't think omitting zeros will be a big deal either. 01:26:41 -!- sprout has joined. 01:31:32 -!- sprout has quit (Ping timeout: 240 seconds). 01:44:25 [[Special:Log/newusers]] create * Pefcos * New user account 01:52:08 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=90968&oldid=90960 * Pefcos * (+157) /* Introductions */ 01:59:39 -!- sprout has joined. 02:04:38 -!- sprout has quit (Ping timeout: 252 seconds). 02:32:54 -!- sprout has joined. 02:37:49 -!- sprout has quit (Ping timeout: 240 seconds). 02:39:02 [[SELECT.]] M https://esolangs.org/w/index.php?diff=90969&oldid=79727 * Quintopia * (+30) man i wish more people would just take risks and make categories without discussing them more often. sometimes they come up with good ones and there are so many categories that should exist that don't 02:39:50 -!- u0_a391 has quit (Read error: No route to host). 02:40:02 -!- u0_a391 has joined. 02:45:14 - we have you surrounded, come out and do data structures! 02:45:16 - I hate CLRS! I hate CLRS! clutches fixed length array 02:45:24 [[Snak]] N https://esolangs.org/w/index.php?oldid=90970 * Quintopia * (+820) created page 02:45:41 https://gist.github.com/orenwatson/44bfae92feea4d0d482f0b4b90d450bd 02:46:07 [[Snak]] M https://esolangs.org/w/index.php?diff=90971&oldid=90970 * Quintopia * (-4) whoops 02:46:18 I did teh heapsort implied binary tree thing for this 03:00:51 I did that too, because it benchmarked better than the obvious thing with `left, right *snailNumber` and allocated nodes. 03:01:41 Kept the functions mostly recursive though. 03:05:36 -!- sprout has joined. 03:05:54 Very conveniently, Burlesque has a builtin for reading []-delimited comma-separated arrays, so parsing the input this time was just a `ln)ra`. 03:06:47 Ended up with a lot of code anyway, and not feeling motivated to trim. Here's my current part 1: 03:06:49 %sP={jJL[2==x/{8};;che!}%sD={{p^sDjsD>.+.8vv0}sP}%sL={j{g_x/sL+]8.+}sP}%sR={j{l_jx/sR[+8.+}sP}%sX={J{Jx/J-]sD+.x/=={p^x/-.sX3MVjsLx/bxj[+j0}j{^px/-.sX3MVx/sRx/bxj+]j0j}jie}j{vv0j^p}j-.ie}%sS={{J~]FL>]9.>{g_sS+]}j{l_jsS[+}jie8J2./j+.2./_+}sP}%sM={{p^sM3.*jsM2.*.+8}sP}ln)ra{bxj+]{J{5sXvvvv}j{sS}jsD5==ie}{JsD5==jFL>]9.>||}w!}r[sM 03:09:22 Lots of recursive definitions there too. `sP` takes a snumber and a {foo ... 8 bar ...} block and executes the first half if the snumber is a pair or the second half otherwise; `sD` calculates the height/depth of a tree; `sL` and `sR` increment the leftmost or rightmost child respectively; `sX` explodes the leftmost pair that needs exploding; `sS` splits the leftmost number that needs splitting; 03:09:23 `sM` calculates the magnitude. 03:09:25 sM`? No such file or directory 03:10:57 -!- sprout has quit (Ping timeout: 268 seconds). 03:11:43 Part 2 is exactly the same thing except with `Jcp` inserted after the `ln)ra` (to get all pairs), and with the `{...}r[sM` replaced with `{...sM}^m>]` instead. 03:17:23 I wonder if there's a better way to combine the two topmost stack elements into a two-element block than `bxj+]` / `bxj[+`. There's the _+ builtin but it only works for a pair of ints or a pair of doubles; if applied to two blocks, it concatenates them instead. 03:18:30 Where `bxj+]` is of course "put the top element to a single-item block, swap, prepend the other element to the same block". 03:20:11 I'm a little tempted to install blsq on the HackEso machine, but it's got a slightly nontrivial transitive dependency tree; I only built that and nothing else, and my ~/.cabal is already a gigabyte. 03:32:04 Hmm. My burlesque.cgi is 2.8MB with all the Haskell libraries linked in statically. 03:32:25 Probably the eventual output isn't that big. 03:33:19 yes, the build artifacts get big 03:33:45 The two binaries (blsq, blsq-golf) are both around 25 megs here. 03:34:11 strip them? 03:34:52 If I can be bothered. 03:37:52 -!- u0_a3911 has joined. 03:37:52 -!- u0_a391 has quit (Read error: Connection reset by peer). 03:38:16 hmm those dependencies are not ready for ghc 8.10 yet 03:38:19 -!- sprout has joined. 03:38:21 <3 03:41:56 I see what you mean by transitive dependencies 03:43:39 -!- sprout has quit (Ping timeout: 268 seconds). 03:45:18 (also... outdated readme) 03:47:55 Actually 25MB seems quite excessive, hmm. 03:48:55 . o O ( why isn't blsq-golf smaller ) 03:49:09 it is slightly smaller for me 03:50:00 blsq (that's the -golf one): 2570480, cgi: 2818864, burlesque: 3415096 03:50:18 those numbers are for stripped executables... but I've spotted another variable, let me check that 03:50:34 will only take 15 minutes because I'll have to rebuild everything from scratch, again 03:51:57 (the variable is SplitObjs) 03:52:40 unstripped executables were in the 6MB ballpark. this is x86-64 Linux 03:52:45 and ghc-8.8.4 03:58:02 fizzie: ah yes, without SplitObjs it does produce 25MB executables, strips to about 16MB 03:58:24 (it didn't quite take 15 minutes after all) 03:59:05 (SplitObjs is a setting in cabal.config; the command line flag is probably --split-objs) 04:03:37 -!- u0_a3911 has quit (Ping timeout: 240 seconds). 04:05:20 -!- u0_a3911 has joined. 04:06:29 (note that the libraries need to be compiled with split objects for this to work; what it does is split the .o files into one per exported symbol so that the linker can cherry-pick the code that's needed...) 04:07:15 (it's disabled by default mostly because shared libraries (which are used by default) don't benefit from this, and it does slow down compilation) 04:13:42 -!- sprout has joined. 04:14:38 FTR `blsq-golf` was a _little_ smaller than `blsq` for me (23992008 vs. 25050480 bytes). 04:18:47 -!- sprout has quit (Ping timeout: 268 seconds). 04:19:24 fizzie: oh ~/.cabal will grow to 1GB just from the hackage package database 04:19:33 it's kind of sad 04:20:35 Oh, so it will. Maybe I'll just build elsewhere and copy the binaries over. Later. 04:23:09 (that said the build artifacts still grow to 240 MB for me, so it's not small) 04:32:42 `fetch https://int-e.eu/~bf3/tmp/burlesque 04:32:44 ERROR: The certificate of ‘int-e.eu’ is not trusted. \ ERROR: The certificate of ‘int-e.eu’ doesn't have a known issuer. 04:32:51 of course. 04:32:54 `fetch http://int-e.eu/~bf3/tmp/burlesque 04:32:55 2021-12-19 04:32:54 URL:http://int-e.eu/~bf3/tmp/burlesque [3415096/3415096] -> "burlesque" [1] 04:33:04 `` chmod +x burlesque 04:33:06 No output. 04:33:18 `` ./burlesque --stdin '{1 2 3}++' 04:33:19 ​./burlesque: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./burlesque) 04:33:27 right. 04:33:32 `` rm burlesque 04:33:33 No output. 04:34:03 fizzie: maybe this helps: https://paste.debian.net/1224025/ 04:34:26 `` cat /etc/issue 04:34:27 cat: /etc/issue: No such file or directory 04:36:23 `` /lib/ld-linux.so.2 --version 04:36:24 ​/hackenv/bin/`: line 5: /lib/ld-linux.so.2: No such file or directory 04:36:34 `` /lib/ld-linux.so* --version 04:36:35 ​/hackenv/bin/`: line 5: /lib/ld-linux.so*: No such file or directory 04:38:20 interesting. but anyway, it's glibc-2.28 and I have 2.33 04:39:17 What a ridiculous situation where this sort of thing happens all the time. 04:39:28 Static linking is where it's at. 04:39:57 nah we've outgrown static linking with containers, remember? 04:40:29 fizzie: hah, the two comment blocks with the file sizes got swapped in that paste :) 04:42:48 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90972&oldid=90954 * Dtp09 * (+28) 04:48:26 -!- sprout has joined. 04:50:51 [[Moaiscript]] M https://esolangs.org/w/index.php?diff=90973&oldid=90972 * Dtp09 * (+25) /* Instructions */ 04:53:17 -!- sprout has quit (Ping timeout: 240 seconds). 05:02:03 -!- tromp has joined. 05:05:46 -!- tromp has quit (Client Quit). 05:23:00 -!- sprout has joined. 05:28:02 -!- sprout has quit (Ping timeout: 240 seconds). 05:57:13 -!- sprout has joined. 06:03:14 -!- oerjan has quit (Quit: Nite). 06:04:37 -!- sprout has quit (Ping timeout: 240 seconds). 06:12:26 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90974&oldid=90973 * Dtp09 * (+374) /* Hello, World! */ 06:19:20 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90975&oldid=90974 * Dtp09 * (-1) /* Instructions */ 06:29:51 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90976&oldid=90975 * Dtp09 * (-1) /* Interpreter */ 06:30:10 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90977&oldid=90976 * Dtp09 * (+22) /* Interpreter */ 06:30:53 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90978&oldid=90977 * Dtp09 * (+136) /* Interpreter */ 06:31:14 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90979&oldid=90978 * Dtp09 * (+30) /* Interpreter */ 06:31:57 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90980&oldid=90979 * Dtp09 * (-2) /* Interpreter */ 06:33:18 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90981&oldid=90980 * Dtp09 * (+4) /* Interpreter */ 06:33:53 -!- sprout has joined. 06:37:21 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90982&oldid=90981 * Dtp09 * (+33) 06:38:50 -!- sprout has quit (Ping timeout: 260 seconds). 06:51:29 inferred type: (a : $c) -> |_e> $c 06:51:29 expected type: ($a) -> (focus<$b>) $c 06:53:04 . o O ( not my type of problem ) 07:07:16 -!- sprout has joined. 07:07:34 > ((1, 2), (3, 4)).get-elim(focus.vl-fst.vl-snd) 07:07:34 check : interactive 07:07:34 check : interactive 07:07:34 add default effect for std/core/exn 07:07:34 linking: interactive 07:07:34 created: .koka\v2.3.6\clang-cl-debug\interactive.exe 07:07:35 error: 07:07:35 • Variable not in scope: elim :: ((a2, c0) -> c0) -> a -> c 07:07:35 • Perhaps you meant one of these: 07:07:36 3 07:12:05 -!- sprout has quit (Ping timeout: 252 seconds). 07:12:42 [[User:Dtp09]] https://esolangs.org/w/index.php?diff=90983&oldid=90952 * Dtp09 * (+980) 07:13:41 [[User:Dtp09]] https://esolangs.org/w/index.php?diff=90984&oldid=90983 * Dtp09 * (+41) 07:16:06 [[User:Dtp09]] https://esolangs.org/w/index.php?diff=90985&oldid=90984 * Dtp09 * (+4) 07:21:48 [[User:Dtp09]] https://esolangs.org/w/index.php?diff=90986&oldid=90985 * Dtp09 * (+73) 07:22:09 [[User:Dtp09]] https://esolangs.org/w/index.php?diff=90987&oldid=90986 * Dtp09 * (+28) 07:24:58 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90988&oldid=90982 * Dtp09 * (+1197) 07:25:32 [[User:Dtp09]] https://esolangs.org/w/index.php?diff=90989&oldid=90987 * Dtp09 * (-45) 07:25:42 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90990&oldid=90988 * Dtp09 * (+20) /* Moai-Emoji Shaped Code That Outputs "MOAI" */ 07:33:17 [[User:Dtp09]] https://esolangs.org/w/index.php?diff=90991&oldid=90989 * Dtp09 * (-1084) Replaced content with "Hello I made the [[Moaiscript]]" 07:38:44 -!- tromp has joined. 07:44:38 -!- sprout has joined. 07:49:46 -!- sprout has quit (Ping timeout: 260 seconds). 07:51:22 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 08:00:46 -!- BarryNL has joined. 08:02:45 -!- sprout has joined. 08:04:49 Hi everyone, does anyone know of articles that discuss nested set comprehensions? I am interested in sets that are built from other set definitions, but whose elements are computed lazily. 08:04:56 -!- tromp has joined. 08:31:22 -!- delta23 has quit (Quit: Leaving). 08:42:42 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90992&oldid=90990 * Dtp09 * (+1007) /* Code Examples */ 08:43:04 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90993&oldid=90992 * Dtp09 * (+1) /* Cat program */ 08:43:32 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90994&oldid=90993 * Dtp09 * (+0) 08:43:59 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90995&oldid=90994 * Dtp09 * (-7) /* Cat program */ 08:47:23 [[Moaiscript]] https://esolangs.org/w/index.php?diff=90996&oldid=90995 * Dtp09 * (+119) 08:49:46 [[Moaiscript]] M https://esolangs.org/w/index.php?diff=90997&oldid=90996 * Dtp09 * (+0) /* Moai-Emoji Shaped Code That Outputs "MOAI" */ 09:01:38 -!- Bowserinator has quit (Ping timeout: 260 seconds). 09:01:54 -!- Bowserinator has joined. 09:04:34 [[Posset]] https://esolangs.org/w/index.php?diff=90998&oldid=90894 * BarryNL * (+181) Add a few materializations. 09:11:14 Hmm, slow day in AoC 10:13:15 [[Posset]] https://esolangs.org/w/index.php?diff=90999&oldid=90998 * BarryNL * (+540) /* Examples */ 10:13:17 I only finished the previous day 10:14:16 I wouldn't want today's in an esolang, honestly... 10:16:46 -!- Lord_of_Life has quit (Ping timeout: 256 seconds). 10:17:04 https://pasteboard.co/9gdEwX7yj1Tq.png <- late day 18, task 2 10:17:51 guess most fp programmers will have ended up with a similar solution. it's just zippers, added the depth to that, which was overkill probably 10:18:15 hmhm, egel is probably too slow for today 10:18:18 -!- Lord_of_Life has joined. 10:20:06 oh, you want to put a blsq executable on HackEso, that's why you care about the size 10:20:17 and I'm not sure HackEso has a ghc yet 10:31:34 -!- Sgeo has quit (Read error: Connection reset by peer). 10:43:41 -!- BarryNL has quit (Ping timeout: 245 seconds). 10:52:31 -!- BarryNL has joined. 11:00:07 -!- BarryNL has quit (Read error: Connection reset by peer). 11:44:39 -!- BarryNL has joined. 12:01:31 -!- kspalaiologos has joined. 12:05:32 -!- dyeplexer has joined. 12:43:32 [[Special:Log/upload]] upload * BarryNL * uploaded "[[File:Posset-collapsed-variables.png]]" 12:43:50 hi 13:01:26 hello 13:02:07 [[Posset]] https://esolangs.org/w/index.php?diff=91001&oldid=90999 * BarryNL * (+1596) Adding short description of variable collapse. 13:08:45 [[Posset]] https://esolangs.org/w/index.php?diff=91002&oldid=91001 * BarryNL * (-5) /* Collapsed variables */ 13:16:54 -!- u0_a3911 has quit (Ping timeout: 260 seconds). 13:43:12 -!- u0_a3911 has joined. 13:52:17 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 13:55:10 -!- tromp has joined. 14:59:02 [[Special:Log/newusers]] create * Esolang1 * New user account 15:02:26 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=91003&oldid=90968 * Esolang1 * (+249) 15:04:37 -!- sprout has quit (Ping timeout: 240 seconds). 15:09:46 -!- sprout has joined. 15:25:23 [[TUBSOIL]] N https://esolangs.org/w/index.php?oldid=91004 * Esolang1 * (+1046) Created new page: TUBSOIL 15:26:41 [[Esolang1]] N https://esolangs.org/w/index.php?oldid=91005 * Esolang1 * (+34) Created new page:Esolang1 15:27:47 [[TUBSOIL]] M https://esolangs.org/w/index.php?diff=91006&oldid=91004 * Esolang1 * (+1) Fixed typos: TUBSOIL 15:29:15 [[Joke language list]] M https://esolangs.org/w/index.php?diff=91007&oldid=90963 * Esolang1 * (+14) Added language: TUBSOIL 15:30:36 [[User:Esolang1]] N https://esolangs.org/w/index.php?oldid=91008 * Esolang1 * (+35) Created new page: User:Esolang1 15:31:01 [[TUBSOIL]] M https://esolangs.org/w/index.php?diff=91009&oldid=91006 * Esolang1 * (+5) Fixed typos: username 15:39:49 [[TUBSOIL]] https://esolangs.org/w/index.php?diff=91010&oldid=91009 * Esolang1 * (+276) Added informations: memory info; added categories 15:39:58 -!- u0_a3912 has joined. 15:42:57 -!- u0_a3911 has quit (Ping timeout: 240 seconds). 15:45:10 [[User:Esolang1]] M https://esolangs.org/w/index.php?diff=91011&oldid=91008 * Esolang1 * (+73) Added introduction 15:49:39 -!- leah2 has quit (Remote host closed the connection). 15:51:17 -!- Noisytoot has quit (Ping timeout: 250 seconds). 15:51:40 -!- Noisytoot has joined. 15:51:55 -!- leah2 has joined. 16:04:20 int-e: Yeah, I'm not sure I can possibly be bothered to continue the Burlesque streak. 16:12:11 Do folks have thoughts about the terminology of relexification, or "relex", for trivial substitutions? 16:15:29 In Go I did a thing that relies on the fact that if you, within each scanner's report, take the (x, y, z) distance triples between all pairs of beacons and then reorder each triple by magnitude, the result is invariant to translation and rotation, and it just happens that for every overlapping pair of scanners, there's exactly 12*11/2 such ordered-distance pairs they have in common. 16:19:42 -!- kspalaiologos has quit (Quit: Leaving). 16:20:17 -!- sprout has quit (Ping timeout: 268 seconds). 16:25:14 I did it yesterday but didn't complete it 16:25:38 I missed the fact that when the scanners overlap they overlap by 12 16:30:56 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 16:48:23 -!- sprout has joined. 16:53:26 -!- sprout has quit (Ping timeout: 252 seconds). 16:57:04 -!- tromp has joined. 17:25:09 -!- sprout has joined. 17:30:13 -!- sprout has quit (Ping timeout: 240 seconds). 17:59:57 -!- sprout has joined. 18:02:38 -!- dyeplexer has quit (Remote host closed the connection). 18:04:00 -!- dutch has joined. 18:05:08 -!- sprout has quit (Ping timeout: 268 seconds). 18:09:52 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 18:34:08 -!- sprout has joined. 18:34:08 -!- earendel has quit (Quit: Connection closed for inactivity). 18:38:57 -!- sprout has quit (Ping timeout: 240 seconds). 18:53:05 -!- tromp has joined. 19:08:31 -!- sprout has joined. 19:13:01 -!- sprout has quit (Ping timeout: 240 seconds). 19:38:52 -!- u0_a3912 has quit (Read error: Connection reset by peer). 19:39:15 -!- u0_a3912 has joined. 19:42:27 -!- sprout has joined. 19:51:33 -!- delta23 has joined. 19:51:57 [[Special:Log/newusers]] create * Stripeagremlin * New user account 20:03:46 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=91012&oldid=91003 * Stripeagremlin * (+143) 20:09:07 -!- Sgeo has joined. 20:09:51 [[User:Stripeagremlin]] N https://esolangs.org/w/index.php?oldid=91013 * Stripeagremlin * (+40) Created page with "I don't currently have any languages out" 20:17:15 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 20:25:58 -!- imode has quit (Quit: brb). 20:43:02 -!- delta23 has quit (Quit: Leaving). 20:43:31 -!- tromp has joined. 20:53:47 I finished aoc 19 20:53:52 in Basic 20:54:00 well done, what algorithm did you use 20:54:14 I like the magnitude idea 20:56:00 I started by finding triplets of beacons visible to one scanner such that their distances all differ and correspond to a triplet of beacons already in my list 20:57:03 then I figured out the 3d transform that, therefore, maps the scanner to scanner-0 space 20:57:16 ah cool 20:57:34 then added all beacons in that scanner's space to my list of eacons in scanner-0 space 20:57:46 (and transformed their coordinated) 20:58:26 This algorithm would have been way easier if I was working in language with matrices/vector math builtin 20:58:59 https://gist.github.com/orenwatson/0500db2d2a697f01ad920140c6579b1a 20:59:32 however, obviously, this isn't guaranteed to work 21:00:00 [[Posset]] https://esolangs.org/w/index.php?diff=91014&oldid=91002 * BarryNL * (+99) Add partially applied function-like feature 21:00:03 it is possible for there to have been two congruent triplets of points 21:00:27 since the question specified that beacons overlap by *12* points 21:01:19 Heh, I like the `for if for for for for if for if for if if if` triangle. 21:01:19 er, is congruent the right word? 21:02:09 Still haven't done the Burlesque thing. I started a little, lost track of what sort of formats I have on the stack, and decided to come back to it later. 21:02:16 well it turned out that in my input only 3 corresponding points were neede to uniquely identify a 3d transform 21:03:32 I derive the transformations from 2 matched point pairs. 21:03:48 ah, so 4 points total 21:03:53 that's safer 21:05:22 Depends on how you count, I guess. I mean the two different (scanner 1 vs. scanner 2) coordinates for two "actual" points. 21:07:04 Specifically, I take a2-a1 on one side and b2-b1 on the other and check which rotation makes that difference equal; and then read the translation off of a1 vs. rotated b1. 21:07:40 At least Burlesque's going to have a matrix multiplication builtin, so actually translating the points will be easy if I get that far. 21:10:49 Also figured out 1000XXr@NB gives the 4x4 identity matrix (1000 → {1 0 0 0} → list all permutations → remove duplicates), but maybe there's a shorter way to write it too. 21:14:28 well with 3 points there is the possibility that your triangle is upside down 21:15:07 but in that case it is unlikely that points in your transformed space line up on integral coordinates 21:16:39 I could have ptu more logic in to exclude triplets that could cause these weird cases 21:19:32 but there's definitely a tradeoff etween assuming too much of your input vs assuming too little and never finishing 21:35:32 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 21:47:06 -!- dutch has quit (Quit: WeeChat 3.3). 21:48:57 -!- immibis has quit (Remote host closed the connection). 21:52:51 -!- immibis has joined. 21:53:50 -!- tromp has joined. 22:03:52 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 22:11:11 -!- sprout has quit (Ping timeout: 245 seconds). 22:33:18 -!- earendel has joined. 22:42:19 -!- sprout has joined. 22:44:47 -!- tromp has joined. 22:47:33 -!- sprout has quit (Ping timeout: 268 seconds). 22:53:44 -!- u0_a3913 has joined. 22:57:32 -!- u0_a3912 has quit (Ping timeout: 252 seconds). 23:00:44 -!- sprout has joined. 23:02:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 23:03:25 -!- tromp has joined. 23:04:38 -!- u0_a3913 has changed nick to Kit. 23:04:57 -!- sprout has quit (Ping timeout: 240 seconds). 23:07:58 [[Special:Log/newusers]] create * Gamingbrew * New user account 23:32:26 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 23:36:32 -!- sprout has joined. 23:41:32 -!- sprout has quit (Ping timeout: 252 seconds). 23:54:41 -!- sprout has joined. 23:59:06 -!- sprout has quit (Ping timeout: 268 seconds).