teepee changed the topic of #openscad to: OpenSCAD - The Programmers Solid 3D CAD Modeller | This channel is logged! | Website: http://www.openscad.org/ | FAQ: https://goo.gl/pcT7y3 | Request features / report bugs: https://goo.gl/lj0JRI | Tutorial: https://bit.ly/37P6z0B | Books: https://bit.ly/3xlLcQq | FOSDEM 2020: https://bit.ly/35xZGy6 | Logs: https://bit.ly/32MfbH5
LordOfBikes has quit [*.net *.split]
marcus has quit [*.net *.split]
linext__ has quit [*.net *.split]
kanzure has quit [*.net *.split]
rawgreaze has quit [*.net *.split]
juri_ has quit [*.net *.split]
lostapathy has quit [*.net *.split]
castaway has quit [*.net *.split]
ubitux has quit [*.net *.split]
hisacro has quit [*.net *.split]
extor has quit [*.net *.split]
pbsds has quit [*.net *.split]
meshugga has quit [*.net *.split]
meshugga has joined #openscad
extor has joined #openscad
kanzure has joined #openscad
LordOfBikes has joined #openscad
LordOfBikes has quit [Changing host]
LordOfBikes has joined #openscad
lostapathy has joined #openscad
ubitux has joined #openscad
hisacro has joined #openscad
rawgreaze has joined #openscad
juri_ has joined #openscad
marcus has joined #openscad
castaway has joined #openscad
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
linext__ has joined #openscad
J23k66 has joined #openscad
J23k42 has quit [Ping timeout: 248 seconds]
mmu_man has quit [Ping timeout: 245 seconds]
mmu_man has joined #openscad
arebil has quit [Quit: arebil]
quiliro has quit [Quit: nice chat!]
LordOfBikes has quit [Ping timeout: 240 seconds]
LordOfBikes has joined #openscad
mmu_man has quit [Ping timeout: 258 seconds]
kintel has joined #openscad
<kintel> Here's an interesting regression: ctest -C All -R linear_extrude-scale-zero-test
<kintel> Worked up until OpenSCAD-2019.05, and broken since 2010.01 - haven't tried pinning down the breaking point yet..
<kintel> s/2010.01/2021.01/
<teepee> IIRC there was something about a useless warning
<kintel> So much easier to ask here than to search GitHub :)
<teepee> indeed, I did not remember that issue
<peeps[zen]> the test is full of non-manifold geometry
<kintel> Yeah, those results weren't technically manifold anyway, although somewhat printable
<kintel> Huh, fast-csg can do it, but not CGAL or manifold
<kintel> (and our test framework has a bug which enables fast-csg instead of manifold for most tests)
<teepee> oh, no, so we need a test framework for the testframework now
<kintel> heh yea, who tests the tests :)
<teepee> in totally unrelated news, the rpi5 is pretty neat
<teepee> I need to get the build fixed on OBS to see how it works with OpenSCAD :)
<peeps[zen]> oh did you pick one up?
<teepee> yep, totally random chance. I looked the first day and nothing available at all, did not even get the "notify when available" mail
<gbruno> [github] kintel pushed 1 modifications (Disable known failing non-manifold tests) https://github.com/openscad/openscad/commit/531108c49a472d5002dd79368146e25ac161d1e7
<gbruno> [github] kintel opened pull request #4805 (Disable known failing non-manifold tests) https://github.com/openscad/openscad/pull/4805
<kintel> teepee Do they still ship desktop OpenGL drivers?
<teepee> 3 days ago, I showed the rpilocator website to a collegue which suddenly listed a 4gb version at reichelt.de (reasonable good electronics seller here)
<teepee> arm64 on debian defaults to desktop GL in Qt
<peeps[zen]> nice
<kintel> That's pretty nice. I guess compatibility profile?
<teepee> yeah, I suspect that's the default Mesa provides
<teepee> OpenGL Version: 3.1 Mesa 20.3.5
<teepee> GL Renderer: llvmpipe (LLVM 11.0.1, 128 bits)
<teepee> that's still the old debian on a raspi4
<teepee> oh, interesting, that was on command line
<teepee> GL Renderer: V3D 4.2
<teepee> GL Vendor: Broadcom
<teepee> in VNC session
<teepee> OpenGL Version: 2.1 Mesa 20.3.5
<teepee> I wonder if I can ask for a higher version
<teepee> glxinfo reports a max compat version of 2.1
teepee_ has joined #openscad
teepee has quit [Ping timeout: 256 seconds]
teepee_ is now known as teepee
pbsds has joined #openscad
<kintel> mesa llvmpipe is SW drivers, right?
<kintel> ..but the V3D should be the HW OSS drivers
guerd87 has quit [Read error: Connection reset by peer]
<gbruno> [github] kintel pushed 1 modifications (Set Heavy tests to > 5 seconds on a decent workstation) https://github.com/openscad/openscad/commit/919ef2f58b6732297ca46b133a5836384ceec392
<gbruno> [github] kintel opened pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806
<teepee> yes V3D is the open source driver
guerd87 has joined #openscad
<teepee> and vc4 the broadcom one
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
erectus has quit [Remote host closed the connection]
erectus has joined #openscad
ccox has joined #openscad
ccox_ has quit [Ping timeout: 255 seconds]
snaked has quit [Remote host closed the connection]
snaked has joined #openscad
TheAssassin has quit [Remote host closed the connection]
TheAssassin has joined #openscad
arebil has joined #openscad
misterfish has joined #openscad
rvt has quit [Ping timeout: 260 seconds]
mmu_man has joined #openscad
mmu_man has quit [Ping timeout: 240 seconds]
rvt has joined #openscad
fling has quit [Ping timeout: 256 seconds]
mmu_man has joined #openscad
fling has joined #openscad
kintel has joined #openscad
<gbruno> [github] kintel pushed 1 modifications (Disable known failing non-manifold tests (#4805)) https://github.com/openscad/openscad/commit/f75f4c4ce3ea09f2f261d506d20b9c8b161689e2
<gbruno> [github] kintel pushed 3 modifications 1 removals (Make the STL export test have only triangles to be more robust when underlying tesselation changes (#4800)) https://github.com/openscad/openscad/commit/dee50f2e77b7c97b42dd41bf20514092e7642f40
<gbruno> [github] kintel closed pull request #4805 (Disable known failing non-manifold tests) https://github.com/openscad/openscad/pull/4805
<gbruno> [github] kintel closed pull request #4800 (Make the STL export test have only triangles) https://github.com/openscad/openscad/pull/4800
GNUmoon has quit [Remote host closed the connection]
califax has quit [Remote host closed the connection]
GNUmoon has joined #openscad
califax has joined #openscad
snaked has quit [Remote host closed the connection]
snaked has joined #openscad
<kintel> teepee Is there a short writeup somewhere on how to configure/use the CI stuff on the server?
<kintel> I'm wondering where to set up building more variants of OpenSCAD on a regular basis, e.g. run non-experimental builds&tests, run with ctest -C All etc.
<teepee> only the official docs
<InPhase> "thing-doer"
<teepee> I found the bigger challenge is understanding the logic of that thing-doeer :)
<InPhase> logic-having thing-doer
<teepee> container stacking directory based data transfer thing-doer
<teepee> each step is a container (not docker) having and input and an output folder
teepee has quit [Remote host closed the connection]
teepee has joined #openscad
<kintel> One day I'll read those docs :)
<gbruno> [github] kintel pushed 1 modifications (Disable experimental tests only in experimental mode) https://github.com/openscad/openscad/commit/9b4047633649a32f621286364769bc5b495bdc3e
<gbruno> [github] kintel synchronize pull request #4796 (Make tests work in non-experimental mode) https://github.com/openscad/openscad/pull/4796
<teepee> yeah, no need to go through all, it's probably more effective if I create the pipleline files and you just apply and see how it goes
<teepee> I did not push the pipleines to https://github.com/openscad/openscad-ci yet as I had to sort out having no passwords in there
<gbruno> [github] kintel pushed 1 modifications (Disable experimental tests only in experimental mode) https://github.com/openscad/openscad/commit/9306c9f23519af1288ca95c0a6e554aa150e8c9a
<gbruno> [github] kintel synchronize pull request #4796 (Make tests work in non-experimental mode) https://github.com/openscad/openscad/pull/4796
<teepee> it's all going through the "fly" command line tool + yaml files
<teepee> the gui can only show stuff + trigger actions, but has no editor
<teepee> so it's basically:
<teepee> 1) create yaml file
<teepee> 2) fly set-pipleine ... pipeline.yaml
<teepee> 3) fly make-pipeline-public (currently all are public, so visible without login)
<teepee> 4) trigger pipeline run via gui or fly call
<teepee> output also goes to #openscad-ci for some of the pipelines
<teepee> I'd like to change to irccat so it's not always joining/leaving the room, plus irccat has a github notification handler too
<teepee> but I'm a bit stuck with how to integrate that with the password store
<kintel> Do we limit # of concurrent runs of pipelines, considering memory limitations on that machine?
<teepee> I think there's an automatic limit, but right now there's no automatic starts at all
<gbruno> [github] kintel pushed 1 modifications (Remove fast-csg tests) https://github.com/openscad/openscad/commit/70d8690a06e112a4956245ab355bfe3e736d3f9d
<gbruno> [github] kintel synchronize pull request #4803 (Remove fastcsg tests) https://github.com/openscad/openscad/pull/4803
<gbruno> [github] kintel pushed 1 modifications (Remove fast-csg tests) https://github.com/openscad/openscad/commit/41294a738f7c4fb1db2e84635dc08347af2acf58
<gbruno> [github] kintel synchronize pull request #4803 (Remove fastcsg tests) https://github.com/openscad/openscad/pull/4803
teepee_ has joined #openscad
teepee has quit [Ping timeout: 256 seconds]
teepee_ is now known as teepee
<teepee> ah, first lets-encrypt renewal coming up soon
<teepee> [Sat Nov 4 11:37:47 UTC 2023] Skip, Next renewal time is: Thu Nov 9 00:08:04 UTC 2023
<teepee> I hope that works as advertised :)
<kintel> crossing fingers. Every 90 days right?
<teepee> yep, for cert time frame, I have not check how much earlier the updater runs
<teepee> Sat, 09 Sep 2023 22:46:21 GMT - Fri, 08 Dec 2023 22:46:20 GMT
<teepee> so it looks like updating after 60 days
<gbruno> [github] kintel pushed 1 modifications (Set Heavy tests to > 5 seconds on a decent workstation) https://github.com/openscad/openscad/commit/901b71d09982fa37e8a15d6da10d6e13e018d70e
<InPhase> I see this is that acme.sh variant instead of certbot.
<gbruno> [github] kintel synchronize pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806
<teepee> which is quite neat as I can add another docker container for another subdomain and it would automatically update that too
<teepee> > "Every hour (3600 seconds) the certificates are checked and every certificate that will expire in the next 30 days (90 days / 3) are renewed."
<teepee> uh, and fail2ban is also quite busy: |- Total banned:9091
<teepee> | |- Total failed:102640
<teepee> that's quite a number for not even 2 month
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Guest89 has joined #openscad
Guest89 has quit [Client Quit]
fling has quit [Remote host closed the connection]
califax has quit [Remote host closed the connection]
fling has joined #openscad
califax has joined #openscad
califax has quit [Remote host closed the connection]
califax has joined #openscad
<Scopeuk> There are a lot of generic login bot's crawling Linux's servers, the crazy number of attempts fail2ban find on ssh for my server is crazy
fling has quit [Remote host closed the connection]
TheAssassin has quit [Remote host closed the connection]
fling has joined #openscad
TheAssassin has joined #openscad
J23k4 has joined #openscad
<gbruno> [github] kintel closed pull request #4796 (Make tests work in non-experimental mode) https://github.com/openscad/openscad/pull/4796
<gbruno> [github] kintel pushed 10 additions 7 modifications (Make tests work in non-experimental mode (#4796) * Fixed some tests which were failing in non-experimental mode
<gbruno> [github] kintel closed issue #4795 (Regular build causes lots of test failures) https://github.com/openscad/openscad/issues/4795
J23k66 has quit [Ping timeout: 248 seconds]
fling has quit [Remote host closed the connection]
kintel has joined #openscad
fling has joined #openscad
<gbruno> [github] kintel pushed 1 modifications (Remove fast-csg tests) https://github.com/openscad/openscad/commit/c5e61f9368be022af0b44dec5810a395c66f9746
<gbruno> [github] kintel synchronize pull request #4803 (Remove fastcsg tests) https://github.com/openscad/openscad/pull/4803
GNUmoon has quit [Remote host closed the connection]
<gbruno> [github] kintel pushed 1 modifications (Remove fast-csg tests) https://github.com/openscad/openscad/commit/d1be965d95838276b1f3f45b39dbd4ac1605bfd6
<gbruno> [github] kintel synchronize pull request #4803 (Remove fastcsg tests) https://github.com/openscad/openscad/pull/4803
<gbruno> [github] kintel pushed 1 modifications (Remove fast-csg tests) https://github.com/openscad/openscad/commit/63f23a63eed215b4d4597fb02f85c06cfc187133
<gbruno> [github] kintel synchronize pull request #4803 (Remove fastcsg tests) https://github.com/openscad/openscad/pull/4803
GNUmoon has joined #openscad
<teepee> kintel: just to summarize my suggestion... let me know what you want to build, I'll prepare the pipeline yaml and then we'll get you up to speed deploying that to the server
<kintel> teepee ah, sorry, dropped off and didn't read history - too much fun rerunning tests on various local envs :)
<teepee> that's fine, summary should suffice ;-)
<kintel> Basically, I think we need two things:
<kintel> 1. build and test OpenSCAD in non-experimental mode for master
<kintel> 2. build and test OpenSCAD with ctest -C All
<kintel> the second, perhaps both in experimental and non-experimental mode
<kintel> Down the road, it would be fun to run a larger number of permutations, but that's a bit more work
<teepee> ok, so 2 or 3 pipelines, maybe even the first that are automatically triggered once a week or so
<teepee> or if it's not taking too long, maybe even each day, the server should be mostly idle right now anyway :)
<kintel> yeah, weekly is fine, or perhaps run each of them on a different day
<kintel> ..but first I need to get ctest -C All to work in the first place :)
<teepee> well, the pipelines are not ready yet either :D
<gbruno> [github] kintel pushed 1 modifications (Remove fast-csg tests) https://github.com/openscad/openscad/commit/23705ad1ad6a2ae6b7d802b38a6872b0b5826ea0
<gbruno> [github] kintel synchronize pull request #4803 (Remove fastcsg tests) https://github.com/openscad/openscad/pull/4803
<teepee> maybe I'll add a headless build too, although WASM is that, it's a bit special
<kintel> Do we run tests on the wasm build though?
<teepee> nope, I would not even know how to do that easily. it should be possible, but it would need to run via node or deno or something
<kintel> right, so headless/nullgl with tests is a good target
<kintel> ..which I made to make it easy to trigger various build variants
<teepee> I know, I get a reminder every time something is checked in :D
<kintel> heh, we should try to silence that
<teepee> I have not seen any obvious configuration on how to silence it :/
<teepee> e.g. I've not seen something like "on: manual" or so
<kintel> anyway, the number of possible permutations is pretty large, probably 2^10 or smth.
<kintel> ..but we can probably get amazing mileage from building around 10 different variants
<kintel> ..but the maintenance burden of dealing with breakages scare me a bit
<gbruno> [github] kintel ready_for_review pull request #4803 (Remove fastcsg tests) https://github.com/openscad/openscad/pull/4803
<teepee> yep, good thing github limits the number of options
<teepee> hmm, maybe I could write a ci-job to enable my mailing list subscription every night. doing that manually is getting old by now
fling has quit [Remote host closed the connection]
fling has joined #openscad
TheAssassin has quit [Ping timeout: 256 seconds]
TheAssassin has joined #openscad
<peeps[zen]> kintel: btw dunno if you've seen yet, but there appear to be a number of -C All tests that need updating, specifically related to font changes (there was some change that normalized the fonts sizes by 102.4% or so)
<peeps[zen]> but also a few still with green vs yellow differences
<peeps[zen]> ... and i'm suddenly getting entirely black screen GUI on nightly. trying reboot in case it was due to a graphics driver update
peeps[zen] has quit [Quit: Connection reset by peep]
<InPhase> teepee: I had to math it to put it in context for my head. That fail2ban rate corresponds to a 50% chance of compromise over a decade for passwords of 5 random lowercase letters. :)
peeps[zen] has joined #openscad
<teepee> ouchies :)
<teepee> maybe I should re-check that we only have ssh enabled
<teepee> although I'm pretty sure that's already the case
<peeps[zen]> ok, its good again. seems to be common for everything graphics to break whenever nvidia drivers update
<InPhase> teepee: 1
<InPhase> oops
<InPhase> teepee: If we used 8 character lowercase letter passwords, that stretches out to about one compromise every 652,000 years. So a bit better.
<teepee> right, 5 character passwords are pretty much no passwords at all
<teepee> I tend to use something between 16 to 32 auto generated
<InPhase> These sorts of attacks are high volume low ROI attacks that pick off very low hanging fruit of pretty bad passwords.
<InPhase> My calculation also assumes they already know the usernames.
<InPhase> But in my log assessments on my own systems, they appear to be randomly selecting usernames as well.
<InPhase> This is why many banks started requiring users to add a number to their username... It's stupid, but acts like extra password entropy.
<teepee> yeah, got a new policy from a customer too, use 16 random characters, also you have to type it like 10 times an hour because there's no single sign on
<teepee> at least you get a year to remember it, not just 3 month
<InPhase> CorrectHorseBatteryStaple1
mmu_man has quit [Ping timeout: 258 seconds]
<teepee> yes, I normally do something like that. the emails explicitely says "don't do that"
<teepee> which is odd, as it seems like a good compromise
mmu_man has joined #openscad
<InPhase> I use 5 words from the top 6562 common words. That's 1e19 combinations. Go ahead and remote brute force it, I'll wait.
<InPhase> Do 10 per second, and that's 32 billion years.
<teepee> that's math, those "security managers" have no sense of that, hence the stupid policies everywhere
<InPhase> If they want password security, they shouldn't let people generate passwords, but instead should provide them with 5 word passwords made this way.
<InPhase> It doesn't even need to exist server side. Browser-side javascript could generate these.
<kintel> peeps[zen] Yeah, I'm working through the tests. Currently at Heavy tests, moving on to Examples after that
<gbruno> [github] rbielaws opened issue #4807 (No ) https://github.com/openscad/openscad/issues/4807
<InPhase> It's trusted client only to the extent that someone could rewrite the javascript just to choose a weaker password, but no one who knows how to modify javascript to do this is going to want weaker passwords.
<teepee> yep, or make use of 2FA
<InPhase> Strong passwords would get us further than 2FA.
<InPhase> Unless that other factor were something more like ssh public keys for browsers.
<teepee> from one customer, I have a yubikey, so even if I someone steals the notebook and my password, without the yubikey there's not much login possible
<teepee> so it does add something
<teepee> but yeah, good passwords vs. bad passwords is a huge important first step
<InPhase> 2FA-based phishing is pretty widespread since all these 2FA rollouts.
<gbruno> [github] thehans closed issue #4807 (No ) https://github.com/openscad/openscad/issues/4807
<teepee> haha, I was wondering if that person was still typing after having pressed the send button too early :)
<InPhase> lol. I had to click to see what the "No" issue was.
<peeps[zen]> yeah i assume it was just a genuine mistake
<InPhase> Probably trying to find this again.
<peeps[zen]> yeah saw that
<gbruno> [github] t-paul closed issue #4804 (Save Preset button is missing.) https://github.com/openscad/openscad/issues/4804
peeps[zen] has quit [Ping timeout: 248 seconds]
peeps[zen] has joined #openscad
<gbruno> [github] rbielaws edited issue #4807 (No ) https://github.com/openscad/openscad/issues/4807
<Scopeuk> 2fa stuff is at risk of the vista "paranoia" version of uac where users were so accustom to seeing it pop up all the time they just blindly accepted
<InPhase> peeps[zen]: Now rbielaws went and put content in it...
<Scopeuk> I also fully accept this was caused by bad application data storing config in program files and not program/app data but it's still the same game
<peeps[zen]> InPhase: yeah, idk what's going on with that person
<teepee> not a bug though, but a feature request
<teepee> maybe not english speaking and using google translate
<teepee> that said the english looks better than auto-translate
<teepee> I guess we are not going to have an undo for the customizer, but a revert per parameter set seems a sensible feature request
Guest99 has joined #openscad
<InPhase> I'm not sure if it would be even a medium priority feature. I'm not sure what workflow would benefit strongly from it.
<peeps[zen]> does ctrl-z not work per parameter?
<peeps[zen]> too lazy to check
<InPhase> It does actually.
<Guest99> I've used the projection() command and exported to svg, and the result is a single path, is there someway to break that path up in inkscape or something so I can give different parts different colors?
<InPhase> peeps[zen]: There, commented. Now it can stay closed. :)
<InPhase> Guest99: circle(5); translate([10, 0]) square(6); then render, then export, and I get in the svg one <path ...> but in it is two M to z defined paths.
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #openscad
<InPhase> Guest99: I'm not very comfortable with inkscape, but when I loaded that svg and did "Path, Break Apart" I was able to select the circle and square separately and change their colors.
<InPhase> Before the Path, Break Apart, it was sharing the colors.
<InPhase> If the pieces are touching, then you'll probably need something slightly more clever, like looking up how to do that in inkscape. :)
<Guest99> ok, I think the reason I was questioning the breakapart step earlier is it was also changing the fill to black and deleting the stroke color, so it looked super broken afterwards
<teepee> kintel: on raspi5:
<teepee> OpenGL Version: 3.1 Mesa 23.2.1-0+rpt2 | GL Renderer: V3D 7.1 | GL Vendor: Broadcom
<buZz> yeah :(
<buZz> pi4&5 basically 'gave up on OpenGLES'
<teepee> oh, they do have GLES
<kintel> OpenGL 3.1 is an interesting choice. Do you know which GLES they support?
Guest99 has quit [Quit: Client closed]
<teepee> it also claims 3.1
mmu_man has quit [Ping timeout: 240 seconds]
<teepee> glxinfo: Max GLES[23] profile version: 3.1
mmu_man has joined #openscad
fling has quit [Ping timeout: 256 seconds]
vsellier has quit [Ping timeout: 255 seconds]
vsellier has joined #openscad
hrberg has quit [Ping timeout: 255 seconds]
hrberg has joined #openscad
RoyK has quit [Ping timeout: 255 seconds]
RoyK has joined #openscad
<gbruno> [github] kintel pushed 1 modifications (clifford.at -> clairexen.net) https://github.com/openscad/openscad/commit/a2ef8ddea30a7b2a7175e70361d5ccb89972bfb5
<gbruno> [github] kintel opened pull request #4808 (clifford.at -> clairexen.net) https://github.com/openscad/openscad/pull/4808
<gbruno> [github] kintel pushed 1 modifications (clifford.at -> clairexen.net) https://github.com/openscad/openscad/commit/589391ec2b35372b55786448647d4d311fa21b1f
<gbruno> [github] kintel synchronize pull request #4808 (clifford.at -> clairexen.net) https://github.com/openscad/openscad/pull/4808
<gbruno> [github] kintel closed pull request #4808 (clifford.at -> clairexen.net) https://github.com/openscad/openscad/pull/4808
<gbruno> [github] kintel pushed 1 modifications (clifford.at -> clairexen.net (#4808)) https://github.com/openscad/openscad/commit/d3bad16fdcde7b4a815a6cc609054d417bbfd5cd
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #openscad
FractOrr has joined #openscad
<FractOrr> I have been thinking about the command line export file format options, like the options for pdf and lightburn that I have been working on.  Since openscad can export multiple files from one input file I was thinking that you could have the command like so:
<FractOrr> openscad test.scad -F 'pdf.pagesize=A1' -F 'pdf.showgrid=true' -F 'lbrn.speed=10' -F 'lbrn.index=2' -o test.lbrn -o test.pdf
<FractOrr> And in openscad have a variable of a map of maps that would hold the data like so:
<FractOrr> fileformatoptions["pdf"]["pagesize"] = "A1"
<FractOrr> fileformatoptions["pdf"]["showgrid"] = true
<FractOrr> fileformatoptions["lbrn"]["speed"] = 10
<FractOrr> fileformatoptions["lbrn"]["colorIndex"] = 2
<FractOrr> Does this look reasonable?
<FractOrr> I started on this and have it parsing the -F command line options into a array of structs of { format. option, value } and was just starting converting that into the map of maps
<teepee> yeah, that should cover most cases. I suppose if we ever have more complex cases, we may need another option for passing a json or yaml or something
<teepee> hmm, map of maps sounds scary :)
<FractOrr> easier way of storing that type of structured data?
<FractOrr> and yes from what I have looked up map of maps does not look so easy
<teepee> easier storage yes, but you never know what you get when reading
<JordanBrown_> It was very tempting to add a comment to #4807 that said "Yes". But I resisted.
<teepee> so maybe instead of a structure it could be a class and be responsible for setting their own options
fling has joined #openscad
<JordanBrown_> I did do some experiments and added some notes. Ctrl-Z does work, sort of, but it's ragged.
<JordanBrown_> InPhase for passwords, I tried using Diceware but I didn't like the words it used so I made my own word list, 1024 common 4-letter words. Nice tidy ten bits of entropy per word. A bit more verbose than some variations, but always easy words.
<JordanBrown_> beam hook desk mile blew
<JordanBrown_> tale flat scar vale omit
<JordanBrown_> Five words is 50 bits; 8 random printable ASCII characters is 52.5 bits.
fling has quit [Remote host closed the connection]
fling has joined #openscad
<JordanBrown_> 10 random lower case alphanumerics is 52 bits.
<FractOrr> class are used now for the UI and work great but not sure how you get command line options into a class with multiple exports available, that is why I was thinking map of maps
<gbruno> [github] kintel edited pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806
<gbruno> [github] kintel pushed 1 modifications (Remove fast-csg tests (#4803)) https://github.com/openscad/openscad/commit/24e65d0993436bf37c07af4af8ef72fc84b0d167
<gbruno> [github] kintel closed pull request #4803 (Remove fastcsg tests) https://github.com/openscad/openscad/pull/4803
<JordanBrown_> But I think "rags herb peal doth boot" is easier to remember and type than "%K(uokAm" or "rpt5qchvyy".
<teepee> structs *are* classes essentially, so you could just add something like pdfoptions.parse_option() and lbrnoptions.parse_option()
misterfish has quit [Ping timeout: 255 seconds]
<JordanBrown_> Are classes first-class in C++? Can you put a class into a variable, and then instantiate it?
<JordanBrown_> map-of-maps is simple enough, but not does not detect errors well. You want to detect "pfd.pagesize" and "lbrn.speeed".
<teepee> simple to put stuff in, not so simple to get out
<teepee> so I think it's not a good choice for this specific case
<JordanBrown_> Simple to get out, just map["pdf"]["pagesize"].
<JordanBrown_> But I agree not a good choice.
<teepee> no, it's not simple as this will crash if the value is not there
<JordanBrown_> Ah, need to check.
<JordanBrown_> But still not hard.
<teepee> not hard, hard is not the opposite to the simple I'm takling about, but messy and verbose
<teepee> I think the verbose and checking and default handling should be on the single place where it's parsing the input
<teepee> once parsed, the structure is complete, validated and needs no more type conversions or checks
<JordanBrown_> yes
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<JordanBrown_> Building such a general-purpose infrastructure does not seem _hard_, but seems like more than I want to do in chat.
<JordanBrown_> Hmm. Should it reject an option for an export that you're not doing?
GNUmoon has quit [Remote host closed the connection]
<teepee> I'd say no, just ignore
GNUmoon has joined #openscad
<FractOrr> I don't think it would need to reject it, it would just not be used
<JordanBrown_> Argument for error: they might have forgotten the -o.
<JordanBrown_> Argument for ignore: allow use of command aliases to set personal defaults.
Guest20 has joined #openscad
<JordanBrown_> Something like having each exporter register its name and a list of { param-name, parse-function, void *resulting-data-pointer }, pointing into its structure (or simple global variables). Or maybe a map of param-name : { parse-function, resulting-data-pointer }. parse-function would normally be
<JordanBrown_> t cetera, but could be custom. Maybe have a void *parse-function-arg for passing arguments to the parse function (e.g. a list of options for a choose-one parser).
<JordanBrown_> common functions like "parse_int", "parse_string", e
<JordanBrown_> My C++ is not strong enough to know if that's the crispest design, but something like that would work.
HumanG33k has quit [Ping timeout: 240 seconds]
<InPhase> JordanBrown_: I used my password generator for handing out starter passwords to new users at work. But unlike your approach, I actually had to REMOVE a bunch of 4 letter words.
<JordanBrown_> why?
<JordanBrown_> InPhase^
mmu_man has quit [Read error: Connection reset by peer]
<teepee> I would not mind some registration logic, but I would not see a simpler solution as show-stopper. like with PDF starting with a simpler solution we at least got one
<teepee> which we can now build on
mmu_man has joined #openscad
<InPhase> JordanBrown_: Because some 4 letter words give you some very profane passwords. :)
<teepee> FractOrr: what's your view? I would not want to impose too much restrictions as I think the export feature is too useful to lose it due to complex requests not directly associated with the export code
<JordanBrown_> teepee, FractOrr: a scheme like I describe seems like a few hours' work. But maybe I'm being over-optimistic.
<JordanBrown_> InPhase: well, don'
<JordanBrown_> t include *those* words.
fling_ has joined #openscad
fling has quit [Ping timeout: 256 seconds]
<JordanBrown_> I don't remember exactly how I derived my list, but I think I started from a list of most-common words, filtered for being four letters, filtered for being actual words, and stuff like that, including manually inspecting the list.
<InPhase> JordanBrown_: I built my list by consolidating many lists of common words, and cleaning it up a bit. It's a pretty good list.
<InPhase> e.g.: ModestTradeDestinationInternalFaster PillIdeaStrategyDeniedWorst TransportationAcresAnnuallyTemperatureGrove AuthenticVirusEscapedScreeningWelfare AutonomySymptomMistakesSearchingWithout PatiencePharmacyAnimalsCigarTrying OrientationBidGetSpoiledMarvel BallotDarknessAroundDisKicked HighwayDestructiveDenialMatrimonySentence BattlesLockedKeepsTouchdownWhip
teepee_ has joined #openscad
<JordanBrown_> I liked the tidiness of them all being four letters and of having 1024 (and thus 10 bits per word).
<JordanBrown_> I have to wonder whether including "Orientation" and similarly long words is worth it, in terms of bits of entropy per letter.
<InPhase> Well, you'd need 7 of those 4 letter words to get to the same scale.
teepee has quit [Ping timeout: 256 seconds]
teepee_ is now known as teepee
<JordanBrown_> Same scale as...?
<InPhase> Entropy level.
fling_ is now known as fling
<JordanBrown_> No, I got that. 7 of my four letter words is the same as how many of yours?
<InPhase> Well, 6 of yours is worse than 5 of mine, 7 of yours is better than 5 of mine.
<JordanBrown_> What's the average length of your words?
<InPhase> Bash hackery is processing it...
<InPhase> Median 7, mean 6.70, standard deviation 2.27
<JordanBrown_> And you have about 6500 words?
<InPhase> Length range 1 to 14.
<InPhase> 6562 words
<JordanBrown_> about 12.7 bits per word, about 1.9 bits per letter.
<JordanBrown_> I'm at 10 bits per word and 2.5 bits per letter.
<InPhase> Show some samples?
<JordanBrown_> Of mine?
<InPhase> Of length 7, let's say.
<InPhase> Yeah.
<JordanBrown_> walk spot envy ours rags help call
<JordanBrown_> crop walk ever sets glow tear lust
<JordanBrown_> lest soft hunt tops type lick bold
<JordanBrown_> meek yarn gain wife down gods lead
<InPhase> So they are faster to type on average, but I think they are harder for me to remember.
<InPhase> There's better chunking for me in the 5 word sequences.
<JordanBrown_> Hard to say for sure.
<InPhase> Like, I don't have to remember how to spell Orientation.
<JordanBrown_> Indeed, fewer words is probably easier.
<InPhase> I already have that down from past experiences. :)
<JordanBrown_> Yes, but do you know what it originally means? :-)
<InPhase> lol, yes, I do.
<JordanBrown_> ooh, I just found an interesting variation; M-W says that an archaic meaning of "orient" is "rising in the sky". Now I have to go look at my OED.
<InPhase> Also, a lot of the ones mine generates give me semantic depth that I can latch onto for memorability. Like, WeepPriestNegotiationNuclearVariation gives a good story I can picture. :)
<InPhase> PledgeBicycleNoticeThreatenGrocery Another story.
<InPhase> DoesHarassmentStoreAdministerFormat Evil computer repair shop.
<InPhase> And if you generate a small handful and cherry pick the most memorable, you are shaving very small amounts of entropy off even under the assumption that a password cracker could rapidly guess what you consider memorable.
<JordanBrown_> Huh. I knew that "orient" tied to "east", but I didn't know one step deeper than that, that it ties to "rising sun".
<JordanBrown_> From Latin "oriens", which Google Translate translates as "rising".
<JordanBrown_> or "dawn" or "sun-god".
<JordanBrown_> Just don't ever pick a word set that forms an actual sentence or sentence fragment that anybody has ever published, because that's a much smaller corpus.
<JordanBrown_> I experimented with a generator that would try to form plausible sentences, by picking something like "adjective noun adverb verb adjective noun", but I wasn't very happy with the results.
<JordanBrown_> I am sad that even with glasses I now have trouble reading the text of my Compact OED.
<JordanBrown_> But, while we're talking about #4478, did you see that it now has an object comprehension syntax and a computed key syntax?
Guest20 has quit [Quit: Client closed]
<JordanBrown_> InPhase^
<JordanBrown_> But now I am going to lunch.
FractOrr has quit [Ping timeout: 248 seconds]
misterfish has joined #openscad
<gbruno> [github] kvtorp opened issue #4809 (Export multiple volumes from a single script) https://github.com/openscad/openscad/issues/4809
<InPhase> JordanBrown_: I did not. I am woefully on behind on giving that the serious attention I think it deserves, for piles of reasons I don't want to enter into a logged channel. But it is moving up the list. :)
<InPhase> JordanBrown_: I actually kept your tab open from your last email for a very long time, until a Thunderbird upgrade broke all my open tabs.
<gbruno> [github] kintel edited pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806
L29Ah has quit [Ping timeout: 260 seconds]
kintel has joined #openscad
<gbruno> [github] kintel edited pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806
<gbruno> [github] kintel edited pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806
L29Ah has joined #openscad
<gbruno> [github] kintel edited pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806
mmu_man has quit [Ping timeout: 252 seconds]
<gbruno> [github] t-paul closed issue #4809 (Export multiple volumes from a single script) https://github.com/openscad/openscad/issues/4809
mmu_man has joined #openscad
misterfish has quit [Ping timeout: 252 seconds]
Guest16 has joined #openscad
Guest16 has quit [Client Quit]
mmu_man has quit [Ping timeout: 252 seconds]
mmu_man has joined #openscad
GNUmoon has quit [Remote host closed the connection]
GNUmoon has joined #openscad
RoyK has quit [Ping timeout: 255 seconds]
RoyK has joined #openscad
mmu_man has quit [Read error: Connection reset by peer]
RoyK has quit [Ping timeout: 258 seconds]
mmu_man has joined #openscad
RoyK has joined #openscad
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kintel has joined #openscad
<gbruno> [github] kintel edited pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806
<gbruno> [github] kintel edited pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806
gimzmoe has quit [Ping timeout: 255 seconds]
<gbruno> [github] kintel edited pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806
<gbruno> [github] kintel edited pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806
<gbruno> [github] kintel edited pull request #4806 (Update test configs) https://github.com/openscad/openscad/pull/4806