kyak changed the topic of #qi-hardware to: Copyleft hardware - http://qi-hardware.com | hardware hackers join here to discuss Ben NanoNote, atben/atusb 802.15.4 wireless, anelok and other community driven hw projects | public logging at http://en.qi-hardware.com/irclogs and http://irclog.whitequark.org/qi-hardware
<whitequark> how is that relevant for OO?
<whitequark> s/relevant/specific/
<qi-bot> whitequark meant: "how is that specific for OO?"
<whitequark> for that matter, the problem with solvespace codebase is that it's full of C-style shit. global variables all over the place.
<whitequark> if you want to make smug remarks about something you don't understand, take some time to learn what it is, first
<wpwrak> ran out of aggression control pills ? :) that was just a remark on the expression "refactoring" having appeared with OO. before you called it "clean up" or such. "refactoring" sounds so much more professional ;-)
* whitequark shrugs
<whitequark> anyway, the reason it's hard to fix is that... it's easy to introduce a single table with global parameters
<whitequark> but that's not very useful, because what you really want is to choose a row from that table when you import a sketch, right?
<whitequark> like to have a single screw-Mn.slvs with variable n
<whitequark> and solvespace right now has just a single global sketch, and a bunch of other things that make it all but impossible to solve one sketch while having another open
<whitequark> everything is coupled, sketches don't exist in separation from UI, all the minute stuff lives in globals
<whitequark> fixing this is pretty much the next few months work on solvespace.
MistahDarcy has joined #qi-hardware
doomlord_ has joined #qi-hardware
<wpwrak> in fped, all you see are "instances". when you click on something, you click on the instance. but what you actually edit is the object. that works pretty smoothly, even if it may sound weird.
<wpwrak> not sure if there's some idea worth stealing for solvespace in there, though
pigeons has left #qi-hardware [#qi-hardware]
<whitequark> so you have an "object" with a dimension say of "a"
<whitequark> and an "instance" of the "object" with a=10?
<whitequark> right?
<wpwrak> (for SS) i guess you could have "master" sketches with parameters and then subordinate sketches with the parameters filled in according to tables or such. the subordinates would be read-only.
<wpwrak> yes, in fact, the instance doens't know there's an "a". it just sees the resulting value. ("a" could be any expression)
<whitequark> yep
<whitequark> solvespace actually has half of the infra for that. its symbolic algebra system can handle it
<whitequark> the problem is that there's only one sketch and it's global and most of the functions to do anything with it refer to that global
<whitequark> so... within a single process, only one sketch exists
<wpwrak> ah, so also the groups are part of that one global sketch ?
<whitequark> yep
<whitequark> when you import another sketch there's a hack
<whitequark> it's not actually loaded, rather, when you save a sketch, the geometry is saved alongside it
<whitequark> and when you import it, it's not re-solved, the saved geometry is imported in one piece
<whitequark> as well as some entities (circles, points, etc; everything with parameters)
<whitequark> so it's completely impossible to e.g. import a sketch but with a parameter changed
sandeepkr has joined #qi-hardware
fengling has joined #qi-hardware
archang has joined #qi-hardware
<wpwrak> i guess something similar to what i go in fped would work there, too. if a sketch uses parameters from a table, you treat it as "object" and only show the "instances".
<wpwrak> you'd also want a means to have a hierarchy of such tables. so that you can, say, have one set of iterations for dice, and one for their faces
<whitequark> it's not about treating it from an object
<whitequark> it's about not being able to ever have more than once instance in a process
<whitequark> treating it as an object*
archang has quit [Ping timeout: 252 seconds]
<whitequark> as for hierarchy, yes, that's also planned
<whitequark> same problem: need more than one sketch loaded
<whitequark> and a second problem is that the file format is naive and has no nesting
<whitequark> also, very inefficient
<whitequark> I think I'll replace it with a zip archive with bitcode (LLVM's format) files inside, one per sketch
<whitequark> this way, it's easy to exchange (just one file!), easy to read (works with any archiver), and easy to put in VCS if you ever need that (just unpack it)
DocScrutinizer05 has quit [Disconnected by services]
DocScrutinizer05 has joined #qi-hardware
<whitequark> so solvespace would just treat the zip archive as a "folder" and existing logic for relative paths being recorded inside sketch files would apply
kristianpaul has quit [Quit: Lost terminal]
kristianpaul has joined #qi-hardware
kristianpaul has quit [Quit: Lost terminal]
fengling_ has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #qi-hardware
infobot has quit [Ping timeout: 240 seconds]
sb0 has quit [Quit: Leaving]
xiangfu has joined #qi-hardware
fengling_ has quit [Ping timeout: 240 seconds]
fengling_ has joined #qi-hardware
jwhitmore has quit [Ping timeout: 260 seconds]
xiangfu has quit [Ping timeout: 276 seconds]
xiangfu has joined #qi-hardware
sandeepkr has quit [Quit: Leaving]
sandeepkr has joined #qi-hardware
xiangfu has quit [Ping timeout: 265 seconds]
xiangfu has joined #qi-hardware
xiangfu has quit [Ping timeout: 246 seconds]
xiangfu has joined #qi-hardware
<DocScrutinizer05> whitequark: well, that's what .odc does, no?
<DocScrutinizer05> err .odf
<DocScrutinizer05> aka openoffice
sandeepkr has quit [Quit: Leaving]
<DocScrutinizer05> can't be wrong :-)
sandeepkr has joined #qi-hardware
<whitequark> yes
<whitequark> also sigrok and a number of other software
xiangfu has quit [Remote host closed the connection]
fengling_ has quit [Ping timeout: 240 seconds]
pcercuei has joined #qi-hardware
<DocScrutinizer05> actually I think .deb 'invented' it?
fengling__ has joined #qi-hardware
<DocScrutinizer05> or is the concept even older?
archang has joined #qi-hardware
<DocScrutinizer05> ~flashing-cmdline
<DocScrutinizer05> ~#maemo flashing-cmdline
jwhitmore has joined #qi-hardware
<DocScrutinizer05> just for a faintly related example how useful the archives are
infobot has joined #qi-hardware
<DocScrutinizer05> ~flashing-cmdline
<DocScrutinizer05> alas it'salso still exploited for a lot of malware spam
* DocScrutinizer05 tries to catch upwith backlog
<DocScrutinizer05> whitequark: c&p oneliner for noobs to get solvespace?
<DocScrutinizer05> prolly starting with "git create" or whatever
<DocScrutinizer05> or even "mkdir"
<DocScrutinizer05> :-)
<whitequark> assumes you already git cloned it
<whitequark> for 'noobs' i guess the easiest way is to get a package tho
<DocScrutinizer05> hmm, k. maybe I find a way to handle this .deb on my RPM system
<whitequark> hm I thought y ou had a adebian-based system
<DocScrutinizer05> nope
<whitequark> I don't have any easy instruction for rpm systems
fengling__ is now known as fengling
<DocScrutinizer05> wtf? sh: rpmbuild: command not found
<DocScrutinizer05> http://paste.opensuse.org/91443329 now let's see
<DocScrutinizer05> T (me does a sign with both hands): http://paste.opensuse.org/72872722
<whitequark> thats completely unsurprising
<whitequark> wait
<whitequark> you don't need the -dev packages for the binary package
<whitequark> in all likelihood you only need to install libgtkmm-2.4 libpangomm-1.4 libjson-c libspnav
<whitequark> everything else is pulled in by these
<DocScrutinizer05> wait
<whitequark> yea thats right
<DocScrutinizer05> zypper in libpangomm-1_4-1 -> Nothing to do.
<DocScrutinizer05> you'll have decent install instructions for RPM based systems in a few minutes, eh? ;-)
<whitequark> well ideally i would build rpms
<whitequark> thatd cover most distros anywhere
<DocScrutinizer05> now back to the roots: Problem: nothing provides libGLEW.so.1.10()(64bit) needed by solvespace-2.1-2.x86_64
<whitequark> oh right also glew
<whitequark> yeah you need 1_10
<DocScrutinizer05> sorry, not going to install OO5
<whitequark> what
<whitequark> oh, only OO5 includes that
<whitequark> ok. then your only choice is to build from source
<DocScrutinizer05> nevermind
<whitequark> hmm?
* DocScrutinizer05 should rather head out and have a 3 beers and a long scooter, not necessarily in that sequence
<DocScrutinizer05> scooter ride*
<whitequark> ah well
<DocScrutinizer05> I bet any git checkout of solvespace wouldn't include the libGLEW either
<whitequark> it won't, libglew is an external library
<whitequark> but it will build with libglew1_9
<DocScrutinizer05> :nod:
<DocScrutinizer05> ooh
<whitequark> it just doesn't work with an existing binary lib
<whitequark> because it changed the ABI. the API is the same though
<DocScrutinizer05> so we're back to square one ;-)
<DocScrutinizer05> >>[2016-05-09 Mon 11:51:36] <whitequark> assumes you already git cloned it<<
<DocScrutinizer05> which is a pretty optimistic assumption
<DocScrutinizer05> git noob^hhater here
<whitequark> you actually need git and not a tarball because there's a lib included as a submodule
<DocScrutinizer05> fine with that, just NFC how to do
<DocScrutinizer05> never touched git except via c&p of cmdlines
<DocScrutinizer05> mkdir first maybe?
<whitequark> it will create a `solvespace` directory
<DocScrutinizer05> ok
<whitequark> then cd solvespace
<whitequark> then follow https://github.com/whitequark/solvespace#building-for-linux exactly except for apt-get command
<whitequark> i'm not sure where opensuse places developer files
<whitequark> maybe in the gtkmm package?
<whitequark> well, developer files for gtkmm live in the gtkmm pakcage itself
<DocScrutinizer05> so good so far http://paste.opensuse.org/32644947
<DocScrutinizer05> BWAHAHA CMake 3.1.0 or higher is required. You are running version 2.8.11.2
<whitequark> says 3.3.2 here
<DocScrutinizer05> 3.5 even
<DocScrutinizer05> -- No package 'json-c' found
<DocScrutinizer05> I can do that :-)
<whitequark> libjson-c
<whitequark> maybe even libjson-c2
<DocScrutinizer05> which one? got both
doomlord_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<DocScrutinizer05> err nope, sorry
<DocScrutinizer05> grr needs -devel too?
<whitequark> oh it's -devel
<whitequark> yes, then you need all of those -devel
<DocScrutinizer05> -- No package 'glew' found
<DocScrutinizer05> gnagnagna
<DocScrutinizer05> -- No package 'gtkmm-2.4' found
<DocScrutinizer05> -- No package 'pangomm-1.4' found
<whitequark> libgtkmm... etc
<DocScrutinizer05> -- Build files have been written to: /home/jr/neo900git/solvespace/build
<whitequark> \o/
<DocScrutinizer05> -Wall is a spammer
<DocScrutinizer05> ohmy, prolly 50k warnings
<whitequark> can you show me the log? I thought I fixed all that
<DocScrutinizer05> I doubt it will fit into pastebin ;-P
<DocScrutinizer05> yeah, too large
<whitequark> 404
<whitequark> wow
<whitequark> that seems extreme
<DocScrutinizer05> this is maybe 0.1% of the log
<whitequark> huh
<whitequark> oh, gcc added some new warnings
<DocScrutinizer05> wc -lc gives 5607 761776
<DocScrutinizer05> anyway
<DocScrutinizer05> [100%] Linking C executable CDemo
<DocScrutinizer05> [100%] Built target CDemo
* DocScrutinizer05 curiously tries to run CDemo
<whitequark> thats nothing interesting
<whitequark> the demo of the solver separate from solvespace itself
<DocScrutinizer05> http://paste.opensuse.org/83507515 krhrhr yep
<DocScrutinizer05> soooo... what next?
<whitequark> ./src/solvespace
<DocScrutinizer05> aaah sudo make install?
<DocScrutinizer05> would prefer to test first
<DocScrutinizer05> k
<whitequark> don't need make install
<DocScrutinizer05> \o/
<whitequark> runs just fine form where it's built
<whitequark> it has special code to detect that case and find all its usr/share junk
<DocScrutinizer05> tiny colorful itsybitsyteenewheenie window :-D
<whitequark> do you have a hidpi display or what?
<DocScrutinizer05> don*t think so :-))
<whitequark> hmmm then it shouldn't be that tiny
<whitequark> but w/e
<whitequark> thats only one of its two windows
<DocScrutinizer05> ooh right
<DocScrutinizer05> and given it's nailed to top of stack, it rather be small :-)
<DocScrutinizer05> even funnier: doesn't show up in window list
<whitequark> it's only supposed to be on top of the main window
<whitequark> os x does this right and even windows does
<whitequark> but x11 has no way to specify that
<DocScrutinizer05> it's on top of everything, all times
<whitequark> yes
<whitequark> i'd rather not do that but i can't
<DocScrutinizer05> I will try to do a little fancy and create some khotkeys stuff for it to stay on top of main solvespace window only
<DocScrutinizer05> I easily can unselect the "stay on top" property anyway, so not THAT bad
<DocScrutinizer05> unless... I don't find it in window list to get it to top again
<whitequark> alt+tab?
<whitequark> also you can close and open it via menu in main window
<DocScrutinizer05> no, doesn't even show up in aölt-tab list
<DocScrutinizer05> hmm, so how about you closing it automatically when main window goes to background, and vice versa?
<DocScrutinizer05> sounds like the "easiest" implementation
<DocScrutinizer05> better than some kdesktop scripting
<whitequark> thats rather nasty
<whitequark> i mean it works very well with my wm, for example
<DocScrutinizer05> mompls, need to talk to evildragon
<whitequark> what
fengling has quit [Ping timeout: 240 seconds]
<DocScrutinizer05> #dragonbox-pyra, sourcing of PLS8 modem modules
<DocScrutinizer05> [2016-05-09 Mon 10:38:48] * DocScrutinizer05 tries to sort own options about joining in tomodem purchase with a few (hundred) [2016-05-09 Mon 13:11:58] <EvilDragon> DocScrutinizer05, Sure, if you need the same parts, reaching MOQs is easier.
<eintopf> :o EvilDragon
<eintopf> the guy behind gp2x-shop
<DocScrutinizer05> yeah, a nice guy
<eintopf> when I was ~14 I was very close to buy some gp2x
<eintopf> but was too expensive
arossdotme has quit [Ping timeout: 252 seconds]
arossdotme has joined #qi-hardware
rodgort has quit [Quit: Leaving]
doomlord_ has joined #qi-hardware
rodgort has joined #qi-hardware
fengling has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
sandeepkr has quit [Quit: Leaving]
sandeepkr has joined #qi-hardware
<DocScrutinizer05> whitequark: yes, the tiny window is definitely lost in nirvana once I disable the keep-on-top property
<DocScrutinizer05> can't even find a way to disable and re-enable it from main window
doomlord_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
doomlord_ has joined #qi-hardware
<DocScrutinizer05> something about the window properties make it completely vanish in KDE window manager
<DocScrutinizer05> so unless I minimize *all* other windows (which I didn't) there's no way to get back to that tiny window once it's allowed to go to background
sb0 has joined #qi-hardware
fengling has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
kristianpaul has joined #qi-hardware
kristianpaul has joined #qi-hardware
pcercuei has quit [Quit: leaving]
jwhitmore has quit [Ping timeout: 244 seconds]
sb0 has quit [Quit: Leaving]
fengling has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
jwhitmore has joined #qi-hardware
jwhitmore has quit [Ping timeout: 240 seconds]
jwhitmore has joined #qi-hardware
fengling has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
archang has quit [Ping timeout: 276 seconds]
doomlord_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
linmob has joined #qi-hardware
sandeepkr has quit [Ping timeout: 265 seconds]
sandeepkr has joined #qi-hardware
MistahDarcy has quit [Ping timeout: 240 seconds]
doomlord_ has joined #qi-hardware
doomlord_ has quit [Client Quit]
fengling has joined #qi-hardware
fengling has quit [Ping timeout: 240 seconds]
<whitequark> DocScrutinizer05: View → Show Text Window
<DocScrutinizer05> hmm, mised that
<whitequark> what I do to it is
<whitequark> set_keep_above(true);
<whitequark> set_type_hint(Gdk::WINDOW_TYPE_HINT_UTILITY);
<whitequark> set_skip_taskbar_hint(true);
<whitequark> set_skip_pager_hint(true);
<DocScrutinizer05> the last two make the window unaccessable
<DocScrutinizer05> and I don't understand why they are needed anyway, or rather what for
<DocScrutinizer05> (my uneducated guess)
<whitequark> I did that when porting from Windows to achieve identical behavior
<whitequark> it doesn't seem like ICCCM has the behavior that I want
<whitequark> DocScrutinizer05: wait no
<whitequark> DocScrutinizer05: can you remove the line src/gtk/gtkmain.cpp:1318 and recompile?
<whitequark> on Ubuntu's WM, this gives the exact behavior that I expect
<whitequark> dunno if it does on kwin
<DocScrutinizer05> whitequark: wouldn't you want to rather paste me a sed line?
<DocScrutinizer05> like find . -name gtkmain.cpp -exec sed 's\1318\d' \; or sth
<whitequark> I have no idea how to do that
<whitequark> can you just delete one line by its number?
<DocScrutinizer05> how to do what?
<whitequark> what
<whitequark> open the file in an editor
<whitequark> oh
<whitequark> how to do *what*
<DocScrutinizer05> I think so, but the idea actually would rather be to find the right line without a number that's possibly ambiguous or wrong
<whitequark> it's the current HEAD and the line is "set_keep_above(true);"
<DocScrutinizer05> HEAD?
<whitequark> the commit that you cloned yesterday
<DocScrutinizer05> nfc
<DocScrutinizer05> I pasted a cmdline
<DocScrutinizer05> don't expect me to know what I did
<whitequark> I don't, I already know what you did and it's enough
<DocScrutinizer05> jr@saturn:~/neo900git/solvespace/build> less src/gtk/gtkmain.cpp
<DocScrutinizer05> src/gtk/gtkmain.cpp: Datei oder Verzeichnis nicht gefunden
<DocScrutinizer05> jr@saturn:~/neo900git/solvespace/build> less ../src/gtk/gtkmain.cpp
<DocScrutinizer05> now paste a unique string of the line to delete
<whitequark> "set_keep_above(true);"
<DocScrutinizer05> jr@saturn:~/neo900git/solvespace/build> sed -i "s/set_keep_above(true);//" ../src/gtk/gtkmain.cpp
<DocScrutinizer05> [100%] Built target CDemo
<whitequark> okay, now run it
<whitequark> what happens on my ubuntu install (gnome) is that both solvespace windows stay on the same "layer"
<DocScrutinizer05> the text window isn't stay-on-top anymore, rest unchanged
<whitequark> when you switch to graphics window after overlapping text window with sth else, does text window come up?
<DocScrutinizer05> so just what could be expected
<DocScrutinizer05> no
<whitequark> ok. lemme install kubuntu then
<DocScrutinizer05> I had to disable and re-enable text-window to find it again
fengling has joined #qi-hardware