<kintel>
Thanks for CMake discussions. I ended up taking the suggestion from peeps to conditionally include custom cmake modules for specific platform that need care; in this case, I added a MXE folder where we can put MXE-related modules: https://github.com/openscad/openscad/pull/4598
<kintel>
Will merge tomorrow unless anyone comes up with a reason not to :)
<DnzAtWrk>
I believe the OpenSCAD format is quite good for chatgpt
<DnzAtWrk>
it's a lot harder to get wrong compared to something like .obj or .stl
<DnzAtWrk>
it's also a lot easier to define primitives in less symbols
<DnzAtWrk>
And it supports boolean geometry
<DnzAtWrk>
of course, modules
<DnzAtWrk>
which chatgpt makes extensive use of
<Scopeuk>
some people spent a while playing with it, they were at the time running into a lot of syntax errors
<DnzAtWrk>
I've only used it with GPT 3.5 and GPT 4
<DnzAtWrk>
I have yet to get a single syntax error
<DnzAtWrk>
But GPT 3.5 makes A LOT worse objects, like things which do not make sense
<DnzAtWrk>
The stuff GPT 4 makes is primitive, but it mostly looks like what it is supposed to be
<DnzAtWrk>
This is of course just a stop-gap, until in a few months we have something like a prompt for generating realistic 3D models
<DnzAtWrk>
"A human standing on a red ball"
<DnzAtWrk>
hold on, let me just
<DnzAtWrk>
yeah, GPT 4 is not good and drawing people
<DnzAtWrk>
stick figure
phryk has quit [Ping timeout: 252 seconds]
phryk_ has joined #openscad
guso78 has joined #openscad
guso78 has quit [Quit: Client closed]
guso78 has joined #openscad
DnzAtWrk has quit [Read error: Connection reset by peer]
DnzAtWrk has joined #openscad
use-value has quit [Ping timeout: 248 seconds]
kintel has joined #openscad
<L29Ah>
openscad release when?
<kintel>
DnzAtWrk We need an LLM specifically trained on geometry, CAD and OpenSCAD. That would be awesome. Requires a bit of resources though, so don't hold your breath that this will arrive, but perhaps Autodesk will pull that off (minus OpenSCAD)
<DnzAtWrk>
kintel, people are approaching AI from every direction at once
<DnzAtWrk>
like they're bombarding an atom
<DnzAtWrk>
you'd be surprised how quickly we have solved every problem there is to solve
<DnzAtWrk>
I personally don't want to be left out of the loop so I try to find a niche
<buZz>
its great fun anyway :)
<L29Ah>
can AI make an openscad release?
<DnzAtWrk>
it brings some insanes hope for the future
<buZz>
i use stablediffusion sooooo much
<DnzAtWrk>
maybe even digital immortality within the next century
<DnzAtWrk>
for those lucky ones
<buZz>
selfhosted stablediffusion though
<buZz>
no filters, no brakes
<buZz>
lets goooooo
<DnzAtWrk>
though the AI apocalypse, which seemed like sci-fi last year
<DnzAtWrk>
seems entirely plausible now
<DnzAtWrk>
they just need to figure out how to start creating machines or launching nukes
<juri_>
octoGPT?
<DnzAtWrk>
lol yeah
<DnzAtWrk>
but 3d printers can still only do so much
<buZz>
they can do a lot more than we are doing today
<buZz>
there's barely any 3d printing happening on 3d printers, for instance
<buZz>
non-planar slicing will get better over time
<DnzAtWrk>
oh they could. But I suspect we need the same kind of advancement we had in transistor density in CPUs for that
<DnzAtWrk>
smaller and smaller 3D printers
<DnzAtWrk>
with more and more materials
<buZz>
nano3D? yeah possibly
<juri_>
buZz: working on it. ;)
<buZz>
juri_: i applaud and follow your efforts from a distance ;)
<juri_>
back up the money truck, and i'll be able to make it happen.
* buZz
backs it up to the cloud
<DnzAtWrk>
oooh
<DnzAtWrk>
I had never heard of nano3D
<DnzAtWrk>
that is a really good start for the robot apocalypse
<buZz>
it exists? :D i just made it up
<juri_>
i got recursion for divided contour straight skeleton code going yesterday.
<kintel>
DnzAtWrk Yeah, but the scary part is that a lot of power end up in the hands of 2 or 3 megacorps. We have to put a lot of trust in those. That, or stop messing with ChatGPT now and start working towards democratizing AI development :)
<DnzAtWrk>
Classic dystopia
<kintel>
^ obligatory Open Source statement given this is #openscad
<juri_>
for once, me and kintel completely agree. :)
<DnzAtWrk>
Well AI dev has for all intents and purposes already been democratized
<kintel>
...but: Someone Open Source ChatGPT4 lets goooo
<juri_>
.. which is why i've been sidetracked a bit, working on my clustering software.
<DnzAtWrk>
there is no putting it back into pandora's box
<DnzAtWrk>
so, the great filter
<kintel>
Challenge is that the model is worth little without the data, and the data is worth little without a massive GPU farm
<kintel>
It's hard _not_ to think Karl Marx ;)
<DnzAtWrk>
kintel, it's just a matter of a few dedicated people to put together all the data you need
<DnzAtWrk>
afaik you could train chatgpt for under a 1000 dollars
<buZz>
kintel: only if you think of the 'company knows best' plan
<DnzAtWrk>
if you had the data
<kintel>
( I'm not even a communist ;)
<DnzAtWrk>
so it's not like it's that expensive
<DnzAtWrk>
NOW, in the future it will be much cheaper
<buZz>
kintel: we are humans, we have gpus at home, we could spread the work
<buZz>
hell, we could make a new bitcoinalike where you get rewarded for doing training work
<kintel>
Yeah, democratization is 100% possible as a distributed effort!
<juri_>
as fun as this to talk about.. do something about it, please. talking identifies the need.
<kintel>
1000 dollars may be stretching it a bit though, but I haven't run the numbers
<juri_>
doing is.. harder.
<DnzAtWrk>
kintel, I heard 300 dollars
<DnzAtWrk>
I said under 1000 to be conservative
<buZz>
DnzAtWrk: on a single gpu for how many years?
<buZz>
iirc even GPT2 was over 100000hrs of GPU time
<kintel>
..if you generate your own power and have all the time in the world
<DnzAtWrk>
"After Stanford University launched ChatGPT clone Alpaca for $600, a team from UC Berkeley, CMU, Stanford, and UC San Diego and trained by fine-tuning developed Vicuna-13B, an open-source alternative to GPT-4, which reportedly achieves 90% of ChatGPT’s quality, and the cost of training the model was around $300. The model has been fine-tuned using LLaMA and has also incorporated user-shared conversations gathered from ShareGPT."
<DnzAtWrk>
you can get llama right now
<buZz>
> Hallucination in particular seems to be a common failure mode for Alpaca, even compared to text-davinci-003.
<buZz>
:D :D
<DnzAtWrk>
buZz, imagine when they eventually become smart enough to improve themselves, even a little bit
<DnzAtWrk>
like re-write their own structure to be better
<buZz>
DnzAtWrk: it likely already is
<buZz>
but giving creations the power to create is a slippery slope
<juri_>
halucination is nice for language development.
<DnzAtWrk>
We don't have a choice
<DnzAtWrk>
pandora's box etc.
<buZz>
DnzAtWrk: otoh, i heard people doing actual API access -from- chat.openai.com
<DnzAtWrk>
I've been doing that
<juri_>
we do have choices. do, or let someone else do.
<kintel>
What I'd really love to see what modularized training of open source AI models. e.g. someone pre-trains an AI with human language skills, then we can plug geometry skills on top as an application-level training
<buZz>
DnzAtWrk: not writing the code, but doing the actual API accessing
<DnzAtWrk>
I made a small game for ChatGPT where it competes with itself in a small room for resources
<DnzAtWrk>
and it plans with itself
<buZz>
DnzAtWrk: nice, do you have a writeup?
<DnzAtWrk>
Naw. I just finished it yesterday
<kintel>
I haven't taken time time to research this too much, but I'm considering a 90 degree career change (as everyone else I'm sure ;)
<DnzAtWrk>
but then I got sidetracked in wanting to create a skyrim NPC using chatgpt
<juri_>
kintel: talk with me for a bit before that. ;)
<kintel>
90 degrees is
<kintel>
..perhaps much; 45 would maintain some momentum in the forward direction ;)
<DnzAtWrk>
I don't think many jobs are truly safe right now
<buZz>
kintel: not 180?
<DnzAtWrk>
I have no idea at all how to safeguard your future
<DnzAtWrk>
work for the government?
<buZz>
a buddy of mine started a patreon where you can become a member and he generates you X custom pr0n with SD per .. day? week? not sure
<buZz>
he's making enough money now to worry about tax :P
<DnzAtWrk>
just wait til the sexbots come
<buZz>
'cum'
<buZz>
lololol
<DnzAtWrk>
harr
* buZz
carries himself out
* juri_
eyerolls.
<DnzAtWrk>
5000 dollars for a Nano3D printer
<DnzAtWrk>
hmmm
<DnzAtWrk>
But you can't print transistors!
<kintel>
DnzAtWrk I guess most of government agencies can be mostly AI run, so get in before the pension plans discover that, and hope to retire early
<DnzAtWrk>
yeah, but the government has certain obligations afaik
<DnzAtWrk>
like a lot of government jobs are just bullshit timewasters
<DnzAtWrk>
so it's not like they'd care too much about replacing them
<kintel>
I say buy a farm with a stream and lots of wind and a ton of GPUs: Generate your own food, power and train your own AIs to deal with the tax man ;)
<DnzAtWrk>
lol, well that would work
<DnzAtWrk>
so with Nano3D you can make multilayered curcuits fairly easily then
<DnzAtWrk>
circuits*
<kintel>
In terms of AI for CAD, the most valuable (probably missing) asset right now is high quality training data. Whomever start creating that dataset will have a head start. Ignoring Autodesk for now as they guaranteed have petabytes of training data already
<DnzAtWrk>
yeah but in the end it's just data
<DnzAtWrk>
eventually somebody leaks it
<DnzAtWrk>
or some really dedicated groups makes an open-source version
<DnzAtWrk>
I mean, as open-source as you can make stolen data
<DnzAtWrk>
widely available is a better word
<kintel>
Yeah, anything can be stolen, but not sure sitting around waiting for leaked data is the best way of playing the AI game ;)
<kintel>
..but it's a great excuse for not doing anything :|
<juri_>
DO SOMETHING!
<juri_>
:D
<DnzAtWrk>
I suspect that at some threshold, these AIs won't need more data
<DnzAtWrk>
in that they can just continue improving themselves without additional data
<kintel>
DnzAtWrk Good point: Once humans become 100% consumers, there is no more intelligent output generated, and AIs won't need more data
<juri_>
"the problem will solve itsself for me is what i tell myself so i can feel good, while doing nothing"
<DnzAtWrk>
that, and the AI will be able to generate creative ideas by themselves
<DnzAtWrk>
in my opinion, current models have no problem doing that
<DnzAtWrk>
others disagree
<DnzAtWrk>
it's like, we don't need human intervention to continue adding stupid ideas to the mix
<DnzAtWrk>
they know enough to do whatever they want
<kintel>
Anyway, since this is #openscad: If someone set up the mythical AI above for OpenSCAD use, we can put up $300 in training costs and I'm sure teepee can get a suitable server set up to host it.
<DnzAtWrk>
"It's created several basic objects, applied a texture, and then duplicated each one dozens of times on a grid. There's nothing "industry changing" about this whatsoever."
fedorafansuper has quit [Ping timeout: 240 seconds]
<isitaboat[m]>
Hi - I opened https://github.com/openscad/openscad/issues/4605, asking about DXF CIRCLE support (instead of outputting POLYLINE) - someone suggested talking about it first here before attempting any kinda fix. I'd be curious if anyone knows what's involved that would be willing to run me over it?
<teepee>
hi isitaboat[m]
<isitaboat[m]>
hi!
fedorafa_ has quit [Ping timeout: 250 seconds]
<teepee>
I guess an important point would be that it should keep the original info and not toss it away and try to recover it later
<teepee>
that's fine for external post processing as nophead mentioned, but not a great native solution
<teepee>
as people have mentioned, it might not be a trivial solution as the current strategy is very focused on meshes
<teepee>
but if there's a good solution this would open up a lot of other interesting possibilities
<teepee>
that said it's fine to start out with a single focus like just circles as long as there's a path visible for later extension to other geometry
kintel has joined #openscad
<kintel>
InPhase Here's a fun question for you :) It's about python and testing again :{}
<kintel>
..which isn't surprising as it probably has no concept of how to use the venv
<kintel>
otoh, I have no idea when this last worked, so perhaps it's better to deprecate and erase these test packages?
<InPhase>
Where does said file even come from?
guso78 has joined #openscad
use-value has joined #openscad
<isitaboat[m]>
teepee, makes sense - I think it's probably beyond me to even start a fix without some guidance, at least inside openscad. I saw someone else post-processing the DXF to "fix" the issue, but tbh still seems less than ideal. Would it have to be "post-processed" inside openscad anyway; i.e. presumably just before it's saved as a DXF?
<teepee>
my first idea would be to delay resolving the 2d meshes until actually needed
<teepee>
that would open the possibility to keep the structure ideally till export
<InPhase>
kintel: Basically, if you wanted to preserve it, you'd just have to find where that file is generated and make sure it runs on the python in the venv.
use-value has quit [Ping timeout: 260 seconds]
<InPhase>
kintel: Oh, or if it is intended to be an exportable unit, then it's going to need the ability to setup a venv at the destination.
<isitaboat[m]>
ya, for my usecase (holes) that might work - but for anyone differencing it, it'd become an arc... I guess eitherway you either gotta preserve it, or re-figure out what it could be when writing to DXF - i.e. is this an arc, circle, or.....shrug -- aka polyline.
<InPhase>
kintel: I'm not having a clear picture of what this is for, and don't know what is inside these generated zip files, so I also am not knowing how it functions when run.
<isitaboat[m]>
teepee - seems like some relatively (lol...!) simple logic could figure that out; i.e. circle = all same angle points, complete, arc = some same angle points, otherwise everything is polyline?
<teepee>
heuristics don't really scale well and are difficult to maintain
<JordanBrown[m]>
isitaboat: The fundamental flaw in the "turn regular polygons into circles (or arcs)" scheme is that if you are trying to build a regular polygon, it'll get incorrectly turned into a circle.
fedorafan has quit [Ping timeout: 240 seconds]
omegatron has quit [Quit: Power is a curious thing. It can be contained, hidden, locked away, and yet it always breaks free.]
<isitaboat[m]>
jordan; would that be a problem if they're "the same"?
<isitaboat[m]>
teepee - are there any alternatives?
<teepee>
probably, I don't have any jumping out right now, but there's rarely only one single solution
<isitaboat[m]>
eitherway, this is stopping me using openscad for things, which is (personally) annoying - so I'd be down for putting in some effort to fix it! In the meantime I've had to redo something in qcad (which, I'm terrible at), and more recently -> cadquery.
fedorafan has joined #openscad
<isitaboat[m]>
teepee; agreed - it's just the "obvious" solution at least to me, but 100% would have edges. I guess a way of avoiding Jordan's (valid) issue would be to add a option to DXF saving, or another type (DXF with CIRCLE) so that it doesn't break anything for existing usecases.
<isitaboat[m]>
anyway, I'd be down for attempting this - but - would love help to figure out how / which way / if it's sane to try this way at all.
<teepee>
there's a couple of people here who may have some ideas to toss into the discussion too
<isitaboat[m]>
great.
<isitaboat[m]>
teepee is this likely to be discussed in the github issue over here, as tbh I'm on there more / it's async?
<isitaboat[m]>
(missed the "or" -- ...or over here...)
<JordanBrown[m]>
If you use Nophead's "more than 8 sides is a circle" rule, then if I want a 9-gon, I get a circle instead, and a 9-gon is *not* the same as a circle. Now, maybe if the threshold was much larger - a 100-gon, say - that might be a non-issue.
<teepee>
whatever works best. it's just important to have the conversation to make sure there's something that will be merged later
<teepee>
JordanBrown[m]: yeah, that's how FreeCAD does it on import
<isitaboat[m]>
teepee: 100%
<isitaboat[m]>
jordan: ya, I guess that's gonna be a problem if there was an alternative save option and someone needed a mix of both
<isitaboat[m]>
still, arguably better than now where you can't get one at all...
<teepee>
having some sort of limit where it goes from n-gon to circle
<isitaboat[m]>
i.e. just use the standard dxf, and nothing changes
<isitaboat[m]>
or, a way to mark something
<isitaboat[m]>
no idea how plausable that is though - i.e. "this is a circle, export as a circle" ...otherwise it's what it is now
<JordanBrown[m]>
You postulate that the notion of "this" survives very long :-)
<JordanBrown[m]>
Which, well, it doesn't.
<isitaboat[m]>
I'm sure this is v flawed, as I've no idea on the internals
<JordanBrown[m]>
Lunchtime. Later.
<teepee>
there's a rough processing overview in the docs folder, let me grab the link
<teepee>
3 CSG Node tree having the geometry -> this one you can export as "*.CSG" files which look like simplified scad code
<J2387>
would this convert a polygon that looks like a circle also into a circle ?
<teepee>
that node tree *should* still have all the information, but I think right now it already contains partially evaluated stuff, losing information
fedorafansuper has joined #openscad
fedorafan has quit [Ping timeout: 252 seconds]
<J2387>
however the change should not be determined by the fn but rather by fs so if a circle segment is smaller .1 it is converted into an arc
fedorafan has joined #openscad
<teepee>
it's internally converted to an effective fn value
fedorafan has quit [Read error: Connection reset by peer]
fedorafansuper has quit [Read error: Connection reset by peer]
<teepee>
that said, it might be treated differently depending on the source code specifying $fn or not
<kintel>
I've never used this myself, I just noticed it when going through testing.txt
<kintel>
Happy to kill it if this is just some ancient experiment.
<kintel>
teepee: Do you have any insights?
<teepee>
no, I never used that either, we just decided some time ago trying to package the stuff into the ZIP packages when the cmake installers were created
<teepee>
as far as I know it's mostly still at the state where Don left that many years ago
<kintel>
I guess it's fair to say that this hasn't been executed in ~as many years then :)
<kintel>
..and this approach won't really fly with test environments becoming more complex.
<teepee>
yep, that is quite likely, I think peeps[work] tried to keep it alive, it's always a bit sad throwing stuff out completely
<kintel>
But it would be nice to be able to run tests of the MXE-built binaries...
<teepee>
but calling it maintained is probably a big overstatement
<teepee>
yes
<kintel>
I do wonder what the state of py2exe and similar tools is these days; that could be a way out
<teepee>
in totally different news, the flatpak build farm is *crazy*
<teepee>
docker ARM64 build killed after 4h
<teepee>
flatpak building all deps in a bit more than 10 minutes using -j64
<kintel>
teepee InPhase For the windows test stuff; I'll just leave it alone for now; I might contribute to breaking it further, but writing code for Windows in the blind are not my idea of fun ;)
<teepee>
ransElectronics: if you give me you github id, I can invite you to the totally secret santas-helpers "team"
<peeps[work]>
kintel: I just reworked the windows test zip packaging ~4months ago. https://github.com/openscad/openscad/pull/4067 I tested that the packaged tests were able to be run on a windows machine as part of that PR.
<kintel>
peeps[work] That was probably before the venv stuff
<peeps[work]>
yes exactly. venv stuff is what broke it
greenbigfrog has quit [Ping timeout: 252 seconds]
<ransElectronics>
teepee: how does the github ID work? do you need the 9 digit number i get from api.github.com?
<teepee>
it's basically just folders which need to have at least the scad with an appropriate license (so far we almost always used CC0 which is like public domain)
<teepee>
and a reasonable sized png, like 800x800 or so
<teepee>
everything else we are probably going to sort out last minute as always ;-)
fedorafan has quit [Ping timeout: 248 seconds]
fedorafan has joined #openscad
fedorafan has quit [Ping timeout: 248 seconds]
fedorafan has joined #openscad
<ransElectronics>
thanks
<teepee>
welcome to santas helpers. we don't have special hats though (as far as I know :-)
snaked has quit [Ping timeout: 250 seconds]
sauce has quit []
fedorafan has quit [Ping timeout: 248 seconds]
kintel has joined #openscad
<kintel>
teepee Was the docker ARM64 build on clang?
<teepee>
yes, last version I switched to clang
<teepee>
there might be some setup issue, as it did not seem to make any difference between -j2 and 4 and gcc vs. clang
<teepee>
which is a bit odd.
kintel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]