| 00:00.49 | ``Erik | oh yay :) |
| 00:05.01 | ``Erik | learn something new about submariners every day :> http://slashdot.org/comments.pl?sid=985373&cid=25264311 |
| 00:05.03 | ``Erik | *duck* *run* |
| 00:08.36 | ``Erik | apparently, research time is dictated by the number of research labs you had at the beginning, adding more during research does NOT change the duration |
| 00:09.58 | ``Erik | on the up side, you can downgrade all the way down to the minimum number for the current level without impacting it as well |
| 00:27.15 | starseeker | louipc: That's the idea |
| 00:31.08 | starseeker | The individual files can be xincluded into a convenient larger document, and the individual ones can generate things like man pages |
| 00:36.51 | starseeker | eventually, there should be very little distinction between "command line" and "mged" commands - the latter can usually be run from the command line if they make sense, and a unified system of documentation simplifies a lot |
| 00:49.58 | starseeker | the new docbook "one per command" files are intended to serve the purpose of man pages, and one of their output formats actually IS man |
| 00:50.22 | starseeker | the nice part is we also get other formats (like html and pdf) for free |
| 00:50.56 | starseeker | html in particular will be handy - I'm currently looking at ways to get MGED to display html pages |
| 00:53.31 | *** join/#brlcad Ralith (n=ralith@216.162.199.202) | |
| 00:58.29 | mafm | hi Ralith |
| 00:58.42 | mafm | and good night all, I go to sleep :) |
| 01:18.18 | ``Erik | starseeker is just itching to see the dreaded "filesystem out of inodes" message |
| 01:27.01 | starseeker | ``Erik: suck it up, BSD man ;-) |
| 01:29.52 | ``Erik | heh, all *nix have that issue, dude O.o |
| 01:30.13 | starseeker | I know, but surely the leet BSD hackers will get around it |
| 01:31.04 | ``Erik | sure, we just create fs's with more inodes *shrug* even linux can do that, but it requires a newfs |
| 01:31.15 | ``Erik | uh, mkext2fs for you leenewx weenies :) |
| 01:34.53 | starseeker | will switch to opensolaris and the almighty ZFS |
| 01:35.40 | ``Erik | um, hrm, I d'no if zfs has the ability to tweak inode count on the fly O.o (but fbsd does fully support zfs, and mostly supports dtrace!) |
| 01:35.41 | ``Erik | :D |
| 01:35.43 | starseeker | eyes Tokeneer project with interest |
| 01:36.19 | starseeker | heh - BSD license is nice sometimes |
| 01:37.12 | starseeker | REALLY doesn't understand the appeal of 3D television |
| 01:37.54 | starseeker | can only see 2D without moving around - how can the couch potato adapt to such an environment |
| 01:40.41 | ``Erik | immediately patents a moving barka |
| 01:41.02 | ``Erik | barcalounger |
| 01:41.09 | ``Erik | :D |
| 01:43.26 | starseeker | that would be a patent worth framing |
| 01:44.00 | ``Erik | does scifi count as prior art? O.o |
| 01:44.25 | starseeker | wished it did - probably depends on the circumstances |
| 01:45.02 | starseeker | still wants to contact the dude who has the cat laser pointer patent after it expires and purchase the original document |
| 01:46.55 | Ralith | starseeker: is your depth perception borken? |
| 01:47.09 | starseeker | eh? |
| 01:47.18 | Ralith | starseeker: also, what about DragonflyBSD and it's shiny new HammerFS? |
| 01:47.25 | Ralith | 18:37:53 * starseeker can only see 2D without moving around |
| 01:47.43 | starseeker | depth perception is deduced based on two dimensional information |
| 01:47.54 | Ralith | everyone else can see full 3D while sitting still |
| 01:48.01 | Ralith | why do you think we have two eyes :P |
| 01:48.24 | starseeker | Sure, but the benefits of 3d television are minor unless you move around it |
| 01:48.39 | starseeker | you're losing most of the information due to a limited vantage point |
| 01:49.00 | starseeker | It might make more sense with a holographic sterogram type display |
| 01:49.18 | Ralith | I'm not personally interested in a multi-PoV 3D display |
| 01:49.24 | Ralith | but I would love to have a depth-capable display. |
| 01:49.35 | starseeker | that's different |
| 01:49.36 | Ralith | e.g. stereo glasses |
| 01:49.41 | starseeker | nods |
| 01:49.51 | Ralith | wants a nice high res pair, but it'll be forever before he can afford one :( |
| 01:49.58 | starseeker | amen |
| 01:50.00 | Ralith | at least by the time I buy one, hardware to drive it will be cheap |
| 01:51.14 | starseeker | Ah yes, here it is: http://www.google.com/patents?id=OfwkAAAAEBAJ&dq=5443036 |
| 01:51.20 | Ralith | I have this deep-set desire to custom-build and integrate an enhanced-reality set in a car. |
| 01:51.28 | starseeker | my favorite monument to the flaws of the US patent system |
| 01:51.52 | starseeker | Ralith: Heh - there was this ride at universal studios that was pretty good at that... |
| 01:52.23 | Ralith | oh? |
| 01:52.34 | starseeker | I think it was back to the future relate |
| 01:52.35 | starseeker | d |
| 01:52.58 | starseeker | I may have been too young to really appreciate its flaws though |
| 01:54.05 | Ralith | I'm obsessed with the potential useful||entertaining aspects of something actually built to help you out |
| 01:54.11 | Ralith | lots of fun to think about |
| 01:54.25 | starseeker | :-) |
| 01:54.51 | starseeker | 's particular fun with thought experiments is renewable energy and efficient house design |
| 01:55.13 | Ralith | lacks sufficient technical knowledge to cover that sort of area |
| 01:55.15 | Ralith | also, bbs |
| 01:55.44 | starseeker | didn't say he had sufficient knowledge either ;-) |
| 01:56.16 | Ralith | hehe |
| 02:17.09 | louipc | starseeker: cool. I wonder if it could somehow be integrated into the mged help system |
| 02:17.25 | louipc | that would be sweet |
| 02:20.17 | Ralith | </bbs> |
| 02:20.59 | Ralith | starseeker: what *would* make a multi-PoV display neat is if it was opaque and projected in such a way that you could walk in the middle of it without interrupting anything |
| 02:24.30 | louipc | http://www.ipwatchdog.com/patent/animal-toy/ |
| 02:24.39 | louipc | this one is awesome |
| 02:43.32 | ``Erik | could be worse, starseeker, check out australias awesomeness http://edition.cnn.com/2001/WORLD/asiapcf/auspac/07/02/australia.wheel/ |
| 04:18.31 | brlcad | fixes libged |
| 04:23.24 | brlcad | iirc, there are about 300 mged commands, 400 unix command-line commands |
| 04:25.20 | brlcad | there's a couple ways to ask mged for the list of all commands, e.g. info commands |
| 04:36.23 | CIA-4 | BRL-CAD: 03brlcad * r32856 10/brlcad/trunk/ (include/rtgeom.h src/libged/make.c src/mged/typein.c): need to update the pnts in use in libged as well for the make command. prefix all of the pnts types with RT_ since they are (presently) part of the API that you have to go through to use them. |
| 04:40.31 | CIA-4 | BRL-CAD: 03brlcad * r32857 10/brlcad/trunk/AUTHORS: |
| 04:40.31 | CIA-4 | BRL-CAD: add janine gettier to the contributors list for her help with documentation. |
| 04:40.31 | CIA-4 | BRL-CAD: she's worked on reviewing some documents in the past but has stepped up |
| 04:40.31 | CIA-4 | BRL-CAD: contributions recently with the work on docbook integration with cliff. |
| 04:55.40 | CIA-4 | BRL-CAD: 03brlcad * r32858 10/brlcad/trunk/NEWS: |
| 04:55.40 | CIA-4 | BRL-CAD: bob improved mesh normals from Pro/E exporter. he said that it seems like |
| 04:55.40 | CIA-4 | BRL-CAD: they're exporting with a left-hand orientation, so the bot is now created |
| 04:55.40 | CIA-4 | BRL-CAD: accordingly set as lh or unoriented depending on whether there are normals |
| 04:55.40 | CIA-4 | BRL-CAD: available during export. |
| 06:30.32 | brlcad | booyah |
| 06:30.34 | CIA-4 | BRL-CAD: 03brlcad * r32859 10/brlcad/trunk/ (NEWS TODO bench/Makefile.am bench/benchmark.1 bench/run.sh): |
| 06:30.34 | CIA-4 | BRL-CAD: greatly improved the usability of the benchmark suite by providing additional |
| 06:30.34 | CIA-4 | BRL-CAD: processing commands including not doing anything by default any more unless the |
| 06:30.34 | CIA-4 | BRL-CAD: 'run' command is requested. added detailed usage and instruction commands along |
| 06:30.36 | CIA-4 | BRL-CAD: with updated manual page to match. the options that control how the benchmark |
| 06:30.38 | CIA-4 | BRL-CAD: behaves can now also be specified on the left or right side of the 'benchmark' |
| 06:30.40 | CIA-4 | BRL-CAD: command as well on the command-line. |
| 06:33.07 | brlcad | should docify doc/benchmark.tr and bench/benchmark.1 into one (unified) document at some point |
| 07:20.03 | *** join/#brlcad clock_ (n=clock@84-72-91-240.dclient.hispeed.ch) | |
| 07:55.22 | *** join/#brlcad d_rossberg (n=rossberg@bz.bzflag.bz) | |
| 08:24.47 | *** join/#brlcad Bariton (n=Bary@p5B14EEFA.dip.t-dialin.net) | |
| 09:15.59 | *** join/#brlcad mafm (n=mafm@130.Red-83-49-86.dynamicIP.rima-tde.net) | |
| 09:17.46 | mafm | morning |
| 10:07.48 | *** join/#brlcad elite01 (n=elite01@unaffiliated/elite01) | |
| 10:11.33 | brlcad | howdy mafm |
| 10:13.32 | mafm | hi brlcad |
| 10:14.01 | mafm | I'm under attack of micro-bugs, as my flatmates calls them :P |
| 10:14.07 | mafm | other than that, pretty well |
| 10:15.04 | brlcad | sick? |
| 10:16.48 | mafm | yup |
| 10:17.54 | mafm | cold/flu |
| 10:18.23 | *** join/#brlcad quentusrex (n=quentusr@c-71-197-244-228.hsd1.or.comcast.net) [NETSPLIT VICTIM] | |
| 10:21.43 | brlcad | fun |
| 10:27.07 | CIA-4 | BRL-CAD: 03brlcad * r32860 10/brlcad/trunk/src/librt/primitives/revolve/revolve.c: remove stray rt_revolve_prep debug printing |
| 11:13.03 | *** join/#brlcad quentusrex (n=quentusr@c-71-197-244-228.hsd1.or.comcast.net) [NETSPLIT VICTIM] | |
| 11:24.38 | CIA-4 | BRL-CAD: 03bob1961 * r32861 10/brlcad/trunk/ (10 files in 5 dirs): Added bot_dump functionality to libged. |
| 11:48.05 | starseeker | louipc: integrating into (even replacing much of) the current MGED help system is exactly the goal :-) |
| 12:21.18 | brlcad | gives up on the revolve bug hoping pacman87 can make better sense of it |
| 12:56.40 | claymore | never give up, never surrender! |
| 13:03.33 | ``Erik | it's not surrender, it's passing the buck :D |
| 13:04.28 | claymore | Delgation: The greatest power on earth ;) Men can move mountains with it..... |
| 13:04.52 | ``Erik | men can delegate others to move mountains with it, you mean |
| 13:05.04 | ``Erik | will, determination, and an endless supply of slave labor? |
| 13:05.06 | clock_ | claymore: you mean atomic bomb? |
| 13:05.23 | PrezKennedy | newkular bombs |
| 13:07.48 | clock_ | ;-) |
| 13:10.17 | claymore | Erik: Bingo ;) |
| 13:10.40 | claymore | clock: Perhaps, as long as we are discussing the delegation of deploying a nuclear weapon! |
| 13:11.34 | claymore | Erik: What's you impression of Ubuntu? Good/Bad/indifferent? |
| 13:11.41 | claymore | you = your |
| 13:13.31 | ``Erik | it's... linux... |
| 13:14.15 | ``Erik | I haven't used ubuntu, I was doing kernel development in linux and uh, was a bit terrified :D all those nippets of MS and enterprise code that people laugh at... I've seen worse in the kernel |
| 13:14.35 | ``Erik | ubuntu is based off of debian, right? debian was my favorite leenewx back in the day |
| 13:15.04 | claymore | cool. Since you're the OS zealot, i figured I'd ask ;) |
| 13:15.29 | clock_ | ``Erik: you want to say that in the Linux kernel there are even worse pearls than in MS and enterprise code? |
| 13:16.07 | ``Erik | clock: there are some real stinkers. |
| 13:16.20 | clock_ | ``Erik: do you remember some? |
| 13:16.38 | clock_ | A friend found a chain of functions that were doing nothing else just one caling another |
| 13:16.45 | clock_ | So he removed that and sent a patch |
| 13:16.50 | clock_ | Don't know if they accepted it though. |
| 13:17.18 | ``Erik | um, iirc (it's been many years), ioctl is treated as a pass through unguarded pointer remapping instead of a guarded copy that divides top and bottom half |
| 13:17.32 | clock_ | A friend who wrote his own operating system and did a surprising discovery in the filesystem area so maybe he knew what he was doing ;-) |
| 13:17.57 | ``Erik | which certain driver writers demonstrated horrible ways to abuse *coughnvidiacough*, basically permitting arbitrary overflow into kernel space |
| 13:17.58 | clock_ | I don't understand it |
| 13:18.03 | clock_ | I know what a top and bottom half is |
| 13:18.19 | clock_ | that's in interrupt drivers the top half puts some request on a que and the bottom half then does the real work |
| 13:18.30 | clock_ | I know what a pointer is |
| 13:19.13 | clock_ | oh nvidia is shit already just by the name isn't it? |
| 13:19.43 | ``Erik | ok, you call an ioctl, you get the ability to write to kernel protected memory from a user process... on most OS's you actually write to a user buffer, then the kernel copies a kernel defined number of bytes from your user memory into kernel space |
| 13:20.17 | clock_ | with ioctl you pass 2 ints and a variable amount of parameters |
| 13:20.17 | ``Erik | with the linux way, it just maps a pointer to both without a guard (or it used to), so if you were malicious, you could just keep writing into kernel memory to your hearts content (at least for that page) |
| 13:20.24 | clock_ | I don't see any way how to write into kernel memory |
| 13:20.34 | clock_ | Who's writing into the kernel memory is the kernel isn't it? |
| 13:20.55 | clock_ | Or is the ioctl somehow significantly translated by glibc? I am looking into the manpage not into the kernel interface spec |
| 13:21.04 | clock_ | (frankly, I wouldn't expect Linux to have any kind of interface spec) |
| 13:21.09 | ``Erik | it's a syscall |
| 13:21.28 | ``Erik | lemme try to find my minirant |
| 13:21.33 | clock_ | ``Erik: what pointer? It returns an int |
| 13:22.00 | claymore | technically speaking EVERYTHING is a pointer ;) |
| 13:22.33 | clock_ | Linux is crap anyway. For exacmple the whole VT_ACTIVATE virtual terminal switching mechanism is flawed by design, resulting in a serious and irreparable race condition that can crash the video card and thus the whole machine |
| 13:22.34 | ``Erik | https://sourceforge.net/forum/forum.php?forum_id=89042 |
| 13:22.51 | clock_ | We were debugging Links crashing when switching VT's |
| 13:22.58 | clock_ | Kernel people keep saying it's a bug of svgalib. |
| 13:23.10 | ``Erik | this rant is trying to move the abused linux code into the 'safe' bsd approach |
| 13:23.16 | clock_ | But I found it isn't. And then the kernel people confirmed me that the VT_ACTIVATE mechanism in the linux kernel is buggy by design. |
| 13:23.49 | clock_ | "ioctl address" -> what's an ioctl adddress? |
| 13:23.56 | clock_ | knows just what ioctl is, see ioctl |
| 13:23.59 | clock_ | see man ioctl |
| 13:24.12 | clock_ | is it an address associated with some specific ioctl? |
| 13:24.38 | ``Erik | some ioctl's act like memcpy() |
| 13:25.09 | clock_ | and? |
| 13:25.17 | clock_ | where's the problem? |
| 13:25.20 | ``Erik | um |
| 13:25.42 | clock_ | you instruct the kernel to write somewhere into the kernel space and he doesn't check if you have permission for that? |
| 13:25.52 | ``Erik | or read, and yes |
| 13:25.59 | clock_ | basic eror |
| 13:26.20 | clock_ | same like calling unlink("/etc/shadow") under user privileges |
| 13:26.28 | clock_ | If the kernel doesn't check the permission, youre screwed. |
| 13:26.30 | ``Erik | UNIX: memcpy(dst,src,len); Linux: dst=src; |
| 13:26.40 | clock_ | Why should this be anything different? Why does it need discussion? |
| 13:26.46 | clock_ | Because the linux kernel developers are retarted? |
| 13:27.09 | ``Erik | or too trusting and looking for speed *shrug* this was a while ago, hopefully that gripe has changed |
| 13:27.16 | clock_ | omg |
| 13:27.33 | clock_ | Not only Linux is crap, also the x server |
| 13:27.42 | clock_ | they have a piece of code that is guarded by cli and sti |
| 13:28.11 | ``Erik | really? in X? neat |
| 13:28.11 | clock_ | if a page boundary happens in between and the lower page happens to be paged in and the upper paged out |
| 13:28.13 | clock_ | it throws a page fault the fault handler asks the disk to serve the page and waits for an interrupt. |
| 13:28.21 | ``Erik | guess if you have to run it as root, you're able to be fugly like that |
| 13:28.31 | clock_ | The disk brings the page pulls the interrupt and NOTHING HAPPENS, BECAUSE THE INTERRUPT IS DISABLED. |
| 13:28.42 | clock_ | Now the machine hangs and he user can happily press the RESET button. |
| 13:29.04 | ``Erik | I haven't run across that issue yet |
| 13:29.28 | ``Erik | these days, I sit at a mac, run X11.app and do everything over remote X |
| 13:29.55 | ``Erik | <-- been thinking about buying a linux subnotebook, though |
| 13:33.12 | clock_ | I get all kinds of problems with X |
| 13:33.41 | clock_ | For example 99% times I shut down X in the work with ctrl-alt-backspace, the lower edge of the screen fills with thin vertical coloured stripes and a square is painted on the screen. |
| 13:33.56 | clock_ | Then I have to press alt-sysrq-u-s-b because the system doesn't react to anything else. |
| 13:37.38 | ``Erik | that sounds more like a video driver reinitialization issue than a straight up X issue |
| 13:38.26 | clock_ | Well if there are things like this - and I have verified that myself with the cli and sti in the source code - than I simply don't trust X |
| 13:38.28 | PrezKennedy | windows is pretty good |
| 13:38.38 | clock_ | puts a "broken by design" stamp over X and stops worrying about any crashes |
| 13:39.58 | ``Erik | uh, we're talking performance cars at a drag strip, don't brag about your honda civic with a type R sticker and dragging muffler, boy :D |
| 13:40.26 | clock_ | Trabant car |
| 13:40.43 | archivist_ub | car! cycle |
| 13:41.11 | claymore | Score for egging people on: PrezKennedy: 1, Erik: 0 |
| 13:41.46 | ``Erik | aw, c'mon, that ain't fair, I jump at any excuse for an off the wall analogy :D |
| 13:42.24 | claymore | thinks Erik jumps at any excuse to slam windows. |
| 13:42.53 | ``Erik | speaking of off the wall car analogies, funroll loops has moved O.o it's now http://funroll-loops.info/ |
| 13:46.10 | claymore | newb question: When it comes to load average, should it be 1.0 per cpu? |
| 13:46.26 | ``Erik | um, load is a red herring |
| 13:47.21 | PrezKennedy | load should be whatever is just below locking up the system |
| 13:48.10 | claymore | Understanding that its more of a qualitative measure than a quantitative one, is it 1.0 per cpu? |
| 13:48.50 | PrezKennedy | thats what ive heard people say |
| 13:50.35 | PrezKennedy | http://en.wikipedia.org/wiki/Load_(computing) |
| 13:57.14 | claymore | cool thanks for the link. didn't have a browser open and figured you all would know. |
| 14:06.02 | ``Erik | it's the length of the runnable queue, if you sustain a load of 1.0 per cpu, you're probably in the neighborhood of full utilization and minumum process latency |
| 14:06.08 | ``Erik | (sorry, someone walked in my office) |
| 14:07.39 | ``Erik | linux includes uninterruptible sleeps in its load computation? laaammmeeee |
| 14:14.10 | claymore | hates the sloooowness of a wireless connection. grrr. |
| 14:17.45 | clock_ | claymore: not every wireless connection is slow, you should say the wireless connection! |
| 14:18.05 | clock_ | claymore: there are wireless connection with latency less than an optical fibre, with 10^-9 BER |
| 14:23.59 | claymore | okay Mr Specific: Claymore hates the slooooownes of a 802.11g wireless connection. |
| 14:25.20 | brlcad | if you're being pedantic, that should probably be an 'an' too ;) |
| 14:25.21 | PrezKennedy | hates the slowness of an 802.11a/b connection |
| 14:25.28 | brlcad | yay, an |
| 14:26.05 | claymore | glares at Sean. |
| 14:27.10 | claymore | VMware's virtual networking is kinda strange.... Need to read more. |
| 14:27.58 | PrezKennedy | stares hard at Sean through the monitor |
| 14:28.06 | PrezKennedy | you can't see it... but im staring hard! |
| 14:28.11 | ``Erik | hehehe |
| 14:29.52 | ``Erik | so, uh, this one time, at band camp |
| 14:35.08 | claymore | I never knew you played flute Erik.... |
| 14:35.30 | ``Erik | nah, dude, oboe O.o |
| 14:35.40 | claymore | doh, my bad. |
| 14:35.42 | ``Erik | that movie had some very disturbing scenes |
| 14:35.49 | claymore | yes it did.... |
| 14:36.06 | ``Erik | (that was an oboe he violated, right?) |
| 14:36.07 | claymore | i mean, apple pie? Come on, thats a new level of desperate... |
| 14:43.45 | PrezKennedy | yeah i mean c'mon... pumpkin pie is so much better |
| 14:43.47 | PrezKennedy | XD |
| 14:44.37 | ``Erik | backs away |
| 14:44.42 | CIA-4 | BRL-CAD: 03bob1961 * r32862 10/brlcad/trunk/misc/win32-msvc8/ (bot_dump/bot_dump.vcproj brlcad/brlcad.sln): Update bot_dump project. |
| 14:53.37 | CIA-4 | BRL-CAD: 03bob1961 * r32863 10/brlcad/trunk/misc/win32-msvc8/brlcad/brlcad.sln: Remove bot2raw project reference. |
| 14:56.36 | *** join/#brlcad PrezKennedy (i=Matthew@whitecalf.net) | |
| 15:15.09 | *** join/#brlcad PrezKennedy (i=Matthew@whitecalf.net) | |
| 15:22.20 | *** join/#brlcad PrezKennedy (i=Matthew@whitecalf.net) | |
| 15:43.39 | *** join/#brlcad Naaatan (n=45461cb2@bz.bzflag.bz) | |
| 15:48.19 | starseeker | oh, ICK |
| 15:48.37 | starseeker | tkhtml3 is using some kind of parser to extract the c files before compiling |
| 16:01.45 | *** join/#brlcad elite01 (n=elite01@unaffiliated/elite01) | |
| 16:02.30 | *** join/#brlcad docelic (n=docelic@78.134.199.66) | |
| 16:07.07 | *** join/#brlcad clock_ (n=clock@77-56-86-64.dclient.hispeed.ch) | |
| 16:51.12 | *** join/#brlcad elite01 (n=elite01@unaffiliated/elite01) | |
| 17:02.24 | mafm | going out, see you |
| 17:06.27 | pacman87 | brlcad: i've got to run now, but i should be back in ~2hrs if you want me to take a stab at the revolve bug |
| 18:02.26 | brlcad | pacman87: ok cool |
| 19:10.20 | pacman87 | is back |
| 19:15.02 | pacman87 | brlcad: ping |
| 19:54.31 | *** join/#brlcad cad95 (n=3f44e4c5@bz.bzflag.bz) | |
| 20:00.46 | brlcad | pacman87: pongo |
| 20:00.57 | pacman87 | what's the bug? |
| 20:01.14 | brlcad | did you see the revolve.g that daniel sent to the mailing list? |
| 20:01.58 | brlcad | the hit points on the top/bottom don't seem right (possibly just inverted) |
| 20:02.26 | pacman87 | i don't remember getting that one |
| 20:02.50 | pacman87 | sent to the -devel list? |
| 20:03.05 | brlcad | yeah |
| 20:03.23 | brlcad | ah, not the devel list |
| 20:03.32 | brlcad | posted to the help forum |
| 20:03.43 | brlcad | http://sourceforge.net/forum/message.php?msg_id=5381844 |
| 20:04.12 | brlcad | you're probably not subscribed to the forums |
| 20:09.16 | pacman87 | i'm in winXP atm, and have another class in 20 min |
| 20:09.24 | brlcad | k |
| 20:09.49 | pacman87 | 17 hours of all engr classes (2 labs, plus my senior design project) doesnt leave much spare time |
| 20:10.58 | brlcad | http:/brlcad.org/tmp/revolve.png |
| 20:11.04 | pacman87 | but the bug you're talking about is for revolve faces that are perpendicular to the axis of rotation? |
| 20:11.17 | pacman87 | ah, i see |
| 20:11.52 | pacman87 | if you try that with a different bg color, are those faces still black? |
| 20:12.20 | brlcad | I did see in a simple single ray query that it is getting a in/out hit computed there, but it didn't seem like they were right |
| 20:12.51 | pacman87 | so the hitpoint could be off there |
| 20:12.53 | pacman87 | ? |
| 20:13.33 | brlcad | yeah, or simply inverted points |
| 20:13.55 | brlcad | the panels don't register as background, so even with a bgcolor set, they render black |
| 20:14.24 | brlcad | both the top and the bottom |
| 20:15.07 | brlcad | basically all surfaces that are perfectly perpendicular |
| 20:15.28 | pacman87 | if you add a rpp overlapping with the revolve, do those surfaces intersect properly? |
| 20:15.50 | pacman87 | (to test for proper hit distance) |
| 20:18.24 | brlcad | http://brlcad.org/tmp/revolve2.png seems ok |
| 20:19.09 | pacman87 | ok, so the distances are probably correct, and the normals need fixing |
| 20:19.31 | pacman87 | adds it to my todo list |
| 20:19.56 | brlcad | hm, that gives me an idea actually |
| 20:21.33 | brlcad | hm, firing straight down, I get |
| 20:21.43 | brlcad | <PROTECTED> |
| 20:21.44 | brlcad | OUT: ( 1.66, 1.00 ) 2.6224 |
| 20:22.33 | pacman87 | looking along the revolve axis is handled seperately for hitpoints |
| 20:23.55 | pacman87 | i've got class; i'll check back in ~1.5hrs |
| 20:24.27 | brlcad | cya |
| 20:26.12 | brlcad | hm, yeah -- that in/out looks right |
| 20:27.23 | *** join/#brlcad PrezKennedy (i=Matthew@whitecalf.net) | |
| 22:00.09 | *** join/#brlcad Ralith (n=ralith@216.162.199.202) | |
| 22:00.53 | pacman87 | is back again |
| 22:16.42 | brlcad | aha, vpriv is ending up with Z == -inf |
| 22:16.54 | brlcad | causing nan's during norm() |
| 22:20.34 | pacman87 | hmm, i though i handled that in norm() |
| 22:21.28 | brlcad | actually, really shouldn't rely on ieee encoding |
| 22:21.43 | brlcad | division by zero on some platforms will result in a floating point exception instead of nans |
| 22:21.51 | brlcad | i.e., the app can crash |
| 22:22.18 | brlcad | best to always protect with NEAR_ZERO tests and do the extra book-keeping and conditionals |
| 22:22.19 | pacman87 | is looking up the code |
| 22:22.42 | brlcad | it's undoubtedly the m = dir[Y] / dir[X] where things start |
| 22:23.23 | pacman87 | what happened to the sourceforge svn browse? |
| 22:26.12 | brlcad | looks like they're in the middle of setting up a new web server |
| 22:26.26 | *** join/#brlcad Bariton (n=Bary@p5B14EEFA.dip.t-dialin.net) | |
| 22:26.31 | brlcad | it was fine just yesterday |
| 22:27.10 | brlcad | ah, interesting, it works if you go deep .. just not the top-level places that used to redirect |
| 22:27.13 | brlcad | e.g. http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/ |
| 22:29.51 | brlcad | woot, fixed at least one of the problems |
| 22:29.58 | brlcad | still have a problem if they're dead-on |
| 22:31.33 | pacman87 | dead-on = ? |
| 22:31.36 | pacman87 | along the revolve axis? |
| 22:32.09 | brlcad | top-view |
| 22:32.19 | brlcad | yeah, looking down the revolve axis |
| 22:47.56 | CIA-4 | BRL-CAD: 03brlcad * r32864 10/brlcad/trunk/src/librt/primitives/revolve/revolve.c: |
| 22:47.56 | CIA-4 | BRL-CAD: fix at least one problem with the revolve normals where nan's were making their |
| 22:47.56 | CIA-4 | BRL-CAD: way into the norm() calc causing badness. this protects the division by zeros |
| 22:47.56 | CIA-4 | BRL-CAD: applying some naive fallback logic that probably needs reviewing/improving but |
| 22:47.56 | CIA-4 | BRL-CAD: does fix the problem for at least a few orientations. there are still problems |
| 22:47.58 | CIA-4 | BRL-CAD: with looking straight up/down the rotation axis. |
| 22:52.53 | brlcad | pacman87: feel free to review/revert that .. |
| 22:53.18 | brlcad | the near-zero cases should probably be handled better than that |
| 22:54.11 | brlcad | I left some XXX debug statements in there for you if you want to poke it |
| 22:54.21 | pacman87 | ok |
| 22:55.29 | pacman87 | don't you need an else in front of line 432? |
| 23:00.25 | pacman87 | and if dir[X] is near zero, then m would be very large, not one |
| 23:01.17 | brlcad | ah, yeah -- there was an else there at one point .. where'd it go |
| 23:03.19 | brlcad | yes, huge, but then they're caught with the subsequent near_zero tests for /m to just make vpriv[z] = 0 |
| 23:04.08 | brlcad | those seem like they should be 1/-1 instead of 0, but I was following/faking intent |
| 23:05.50 | pacman87 | subsequent test == line 455? |
| 23:06.17 | pacman87 | shouldn't that be dir[X] is near zero, instead of m near zero? |
| 23:07.20 | brlcad | heh, copy-paste ftw .. you can see how careful/awake I am :) |
| 23:07.59 | brlcad | actually, hm, 455 you say? |
| 23:08.16 | pacman87 | and if you're worried about inf, then you need a check for dir[Y] == 0, cause then m = 0 and 1/m is inf |
| 23:08.34 | brlcad | 455 looks right to me |
| 23:08.37 | pacman87 | yeah, i'm looking at the diff on sourceforge |
| 23:08.45 | pacman87 | <PROTECTED> |
| 23:08.49 | brlcad | it's protecting the /m |
| 23:09.06 | pacman87 | oh, right |
| 23:09.08 | brlcad | the point being to avoid inf/nan altogether |
| 23:09.51 | pacman87 | so all the problems arise when either dir[X] or dir[Y] are zero, yeah? |
| 23:10.56 | pacman87 | the easiest way to ensure correctness (i'd think) would be to replace m or 1/m with dir[Y]/dir[X] or the opposite, and it'd be easier to check the condition you need |
| 23:11.37 | brlcad | yeah, I think so |
| 23:12.43 | CIA-4 | BRL-CAD: 03brlcad * r32866 10/brlcad/trunk/src/librt/primitives/revolve/revolve.c: ws, indent |
| 23:12.43 | brlcad | kicks CIA-4 |
| 23:12.43 | CIA-4 | ow |
| 23:12.45 | pacman87 | another way would be to add another surfno to designate that the face is perpendicular to the revolve axis |
| 23:13.18 | brlcad | is that your HORIZ_SURF ? |
| 23:14.28 | pacman87 | yeah, but in shot(), i think i'm only using it when i have to close the sketch myself |
| 23:14.46 | pacman87 | though the code should be applicable to this problem, too |
| 23:15.25 | pacman87 | so i think that boils down to "if (dir[y] is near zero) surfno = HORIZ_SURF |
| 23:18.17 | pacman87 | dinnertime, back soon |
| 23:18.56 | *** join/#brlcad Axman6 (n=Axman6@pdpc/supporter/student/Axman6) | |
| 23:20.44 | brlcad | cheerio |
| 23:21.03 | ``Erik | cheerios for dinner? *ponder* |
| 23:28.26 | starseeker | never cared for cheerios |
| 23:29.27 | ``Erik | I used to get frosted miniwheats and raisin bran, but I don't eat breakfast anymore :/ |
| 23:29.43 | ``Erik | if I do, I cook up crepes or pancakes or waffles or eggs/hashbrowns/bacon or something |
| 23:30.10 | ``Erik | grabs his pink apron and prances about |
| 23:30.53 | brlcad | yay, threats from someone 35 levels higher than me now that I'm about to pass 30 |
| 23:31.02 | starseeker | tries to scrub that mental image out of his head |
| 23:31.25 | ``Erik | on ceti, I assume? |
| 23:31.44 | ``Erik | I think 50 is the high end of epsilon right now |
| 23:31.46 | brlcad | beta |
| 23:31.54 | ``Erik | oh, beta, my bad |
| 23:31.59 | ``Erik | "the other one" |
| 23:32.24 | ``Erik | my first lithp web app project, I think, is going to be a suite of ae helpers |
| 23:32.57 | ``Erik | extending the notion that created http://brlcad.org/~erik/profit.html |
| 23:32.57 | ``Erik | :) |
| 23:35.00 | brlcad | I find myself getting increasingly apathetic given I only check the status every couple days now |
| 23:35.14 | brlcad | not writing enough code, even if it's only getting 5 minutes of my day |
| 23:36.16 | ``Erik | opposed to tv? :D |
| 23:36.31 | brlcad | yep, that already doesn't really get much/any of my time |
| 23:37.05 | brlcad | especially since I moved, I've gotten weened off of everything |
| 23:37.24 | ``Erik | <-- pads ae in around his down cycles, fun diversion :) |
| 23:37.26 | brlcad | even missing the new season of heroes (though I *will* catch up on that at some point) |
| 23:37.47 | ``Erik | bought a place yet? bob says you have another townhouse in canton that caught your eye? |
| 23:37.50 | brlcad | heh, but you only consist of down cycles?? |
| 23:38.01 | brlcad | yeah, it's a sweet place |
| 23:38.02 | ``Erik | heh, on occasion |
| 23:38.20 | ``Erik | when, say, I svn up, run make and it breaks, yeah, that's a downtime day :D *duck* |
| 23:39.06 | brlcad | you sound like someone else now |
| 23:39.31 | ``Erik | heh |
| 23:39.45 | ``Erik | pizza time :D |
| 23:39.49 | brlcad | someone who shall go unnamed but doesn't even read the error message before "giving up" on even simple typo errors :P |
| 23:41.11 | ``Erik | oh, I saw the message, followed the commit message, looked at the diff, looked at the infracting code |
| 23:41.37 | ``Erik | and figured you must've just forgotten to commit src/libged/make.c |
| 23:41.40 | ``Erik | :) |
| 23:42.12 | brlcad | nope, never even made the edit |
| 23:42.15 | brlcad | but it was trivial :P |
| 23:42.28 | brlcad | i was just compiling per-dir at the time |
| 23:43.09 | ``Erik | I'm thinking you gutted a void* type 'magic' thing to overload it with switching structs using a type enumerator |
| 23:43.25 | ``Erik | but the enumeration was set up like a bit vector in octal for some strange reason |
| 23:43.27 | ``Erik | O.o |
| 23:45.23 | ``Erik | so *shrug* it was paperwork, answering make questions, etc |
| 23:45.43 | brlcad | it's exactly as you read it |
| 23:47.15 | brlcad | even down to the strange reason (exclusive id, just so you could look up the type via bitmask or equivalence) |
| 23:47.19 | ``Erik | the part that really had me step bck and go "uh, wtf?" was using an enumeration with a value set on every name instead of just letting it be a real enumeration or doing #defines |
| 23:47.28 | brlcad | custom structs just being a way to pack them in memory tight |
| 23:47.46 | ``Erik | why not a union in the struct? |
| 23:48.02 | brlcad | thought about it |
| 23:49.02 | ``Erik | unfortunately, I still have loads of non-code things to deal with :/ so something weird like that, Igo do the unfun stuff for a bit :) |
| 23:49.03 | brlcad | but the size of a union is the size of it's largest member iirc |
| 23:49.13 | brlcad | which defeats the whole purpose |
| 23:49.23 | brlcad | otherwise I could just have done what the DSP did |
| 23:50.17 | brlcad | (which was to just shove it all in a struct and access members based on the type) |
| 23:50.58 | ``Erik | yeah, union will always be the biggest member |
| 23:51.06 | brlcad | which makes for one pig of a structure .. I was debugging it a while ago and it looked like it's using 160 bytes per cell(!) .. maybe just a bug but damn |
| 23:52.23 | brlcad | points should now take up just exactly what they need with the only cost being that you have to typecast the container to the right struct |
| 23:52.51 | brlcad | would also make a really trivial extension to add per-point weights/scales now too |
| 23:54.29 | ``Erik | ponder this |
| 23:54.45 | ``Erik | resuming a raytrace is gone, no more, an ex-feature |
| 23:54.51 | ``Erik | <-- beats it on the countertop |
| 23:54.55 | brlcad | the other thing I could have done would have been separate lists for the point data, normal data, color data, etc, just having null lists for the ones that don't have that data .. that would have avoided the void* |
| 23:55.09 | ``Erik | does the 0,0,1 'base' color still make sense? or can we have pure colors? |
| 23:55.18 | brlcad | ahhhmmmmmmmmmm |
| 23:55.33 | brlcad | that wasn't just done for resuming |
| 23:55.45 | ``Erik | <-- has half been thinking about adding an .rpx format that'd journal how much was written |
| 23:56.20 | ``Erik | so my 40000x40000 -H37 -J3 poster render could be picked back up O.o :D |
| 23:56.59 | ``Erik | what else is 'not really black' used for? O.o |
| 23:57.13 | brlcad | i'd completely go for eliminating that magic color if we had proper alphachannel support -- knowing which are "background"/missed pixels is a feature used by quite a few tools |
| 23:58.32 | ``Erik | heh, png is looking better and better :) |
| 23:58.59 | brlcad | hell, I'd go for full 64-bit images, hdr internally ftw |
| 23:59.15 | *** join/#brlcad archivist_emc (n=archivis@host81-149-119-172.in-addr.btopenworld.com) | |
| 23:59.15 | ``Erik | png can do that :D |
| 23:59.42 | brlcad | it does? |
| 23:59.49 | brlcad | thought they only did 16bit |
| 23:59.55 | brlcad | exr does 32-bit |