IRC log for #brlcad on 20160318

00:42.57 *** join/#brlcad kintel (~kintel@unaffiliated/kintel)
00:56.30 zaverichintan Hey sean. I would like to know some patches from your end for OGV, so that I can implement them
01:16.09 brlcad zaverichintan: you can check out http://brlcad.org/wiki/Online_Geometry/TODO
04:17.00 *** join/#brlcad shubham_ (a5e16832@gateway/web/freenode/ip.165.225.104.50)
04:18.32 shubham_ zaverichintan: hey chintan, The todo list for OGV has been updated on this page, and other updates for tasks have been added. please look at those issues for whatever doubts you have regarding the bug list or anything else. I'll put this on the mailing list as well.
04:18.48 shubham_ http://brlcad.org/wiki/Online_Geometry/TODO
04:21.05 zaverichintan Thanx a lot. I have studied the system and prepared a issue list, I will add from the updated list too
04:47.41 *** join/#brlcad kkrcodes (~kkr@14.139.160.31)
05:06.14 jasvir brlcad: I was looking into src/libged/TODO list and I wish to work on 'about' command. It say 'display version, contents of various doc files, customizable brlcad.msg file'. Can you please tell me that which doc files are referred here?
05:06.54 jasvir also please tell me where can I find brlcad.msg file
05:09.17 *** join/#brlcad KimK (~Kim__@ip68-102-66-31.ks.ok.cox.net)
05:14.40 *** join/#brlcad jasvir_ (~androirc@172.56.41.26)
05:16.08 *** join/#brlcad pujani (~pujani@124.253.186.99)
05:48.52 *** join/#brlcad pujani (~pujani@101.60.144.197)
05:59.44 Notify 03BRL-CAD Wiki:Catchchaos * 0 /wiki/User:Catchchaos:
06:09.04 *** join/#brlcad poxip (~poxip@unaffiliated/mrpoxipol)
06:25.37 *** join/#brlcad pujani (~pujani@124.253.59.44)
06:36.23 *** join/#brlcad simran (~simran@202.164.53.117)
06:53.20 *** join/#brlcad Pujani_ (~pujani@124.253.103.89)
07:15.16 *** join/#brlcad kkrcodes (~kkr@14.139.160.31)
07:40.46 *** join/#brlcad teepee_ (~teepee@unaffiliated/teepee)
07:50.47 *** join/#brlcad davee_ (~davee@71-83-188-23.dhcp.lnbh.ca.charter.com)
07:52.37 *** join/#brlcad simran (~simran@202.164.53.117)
08:06.06 *** join/#brlcad simran_ (~simran@202.164.53.117)
08:08.50 *** join/#brlcad simran (~simran@202.164.53.117)
09:03.29 *** join/#brlcad zaverichintan (~androirc@123.237.167.57)
09:25.38 *** join/#brlcad kkrcodes (~kkr@14.139.160.31)
09:29.10 *** join/#brlcad simran (~simran@202.164.53.117)
09:31.38 *** join/#brlcad d_rossberg (~rossberg@66-118-151-70.static.sagonet.net)
10:21.16 *** join/#brlcad Gabriel (bc1982fc@gateway/web/freenode/ip.188.25.130.252)
10:27.03 *** join/#brlcad simran (~simran@202.164.53.117)
11:13.05 *** join/#brlcad teepee` (bc5c2134@gateway/web/freenode/ip.188.92.33.52)
11:48.21 Notify 03BRL-CAD Wiki:Sanjay Garute * 0 /wiki/User:Sanjay_Garute:
12:05.44 *** join/#brlcad gaganjyot (~gaganjyot@122.173.79.18)
12:50.28 *** join/#brlcad kkrcodes (~kkr@14.139.160.31)
12:55.18 *** join/#brlcad kintel (~kintel@unaffiliated/kintel)
13:11.14 *** join/#brlcad shubham__ (71c189bf@gateway/web/freenode/ip.113.193.137.191)
13:15.06 *** join/#brlcad gaganjyot (~gaganjyot@122.173.79.18)
13:27.48 *** join/#brlcad boj_ (~boj@2001:250:3c02:763:942d:4073:9650:fa34)
13:29.54 *** join/#brlcad boj (~boj@2001:250:3c02:763:942d:4073:9650:fa34)
13:32.05 *** join/#brlcad yorik (~yorik@177.139.37.53)
13:32.05 *** join/#brlcad nilram (~nilram@2001:250:3c02:763:bcf1:ea29:474:7acf)
13:32.36 *** join/#brlcad boj__ (~boj@2001:250:3c02:763:942d:4073:9650:fa34)
14:25.27 *** join/#brlcad gaganjyot (~gaganjyot@122.173.79.18)
14:29.43 *** join/#brlcad tandoorichick (b64b2d01@gateway/web/freenode/ip.182.75.45.1)
14:56.57 Notify 03BRL-CAD:ejno * 67364 brlcad/trunk/doc/docbook/articles/en/gcv.xml: commit work on the gcv article
14:57.26 Notify 03BRL-CAD:starseeker * 67365 (brlcad/trunk/src/burst/CMakeLists.txt brlcad/trunk/src/burst/Hm.c and 6 others): Burst does have a batch processing mode - see if that can be built on Windows while leaving the termlib menu off.
15:11.25 Notify 03BRL-CAD:starseeker * 67366 brlcad/trunk/src/burst/burst.c: narrow down the signal code - if we don't have termlib we probably won't have sigpipe either, and the rest all trigger default behavior to begin with.
15:15.12 Notify 03BRL-CAD:starseeker * 67367 brlcad/trunk/src/burst/ui.c: F_DUPFD is no-go on MSVC...
15:17.10 *** join/#brlcad simran (~simran@101.56.15.235)
15:18.54 Notify 03BRL-CAD:starseeker * 67368 brlcad/trunk/src/burst/grid.c: this if conditional was backwards - using lrand48 only if it's *not* defined doesn't work very well...
15:29.47 Notify 03BRL-CAD:starseeker * 67369 brlcad/trunk/include/config_win.h.in: The fallbck from lrand48 should probably be the bn random number generator, but do this until that gets sorted out...
15:30.22 Notify 03BRL-CAD Wiki:Davinder Kaur * 0 /wiki/User:Davinder_Kaur:
15:36.45 simran hello! I am working on Material Database. I studied the code and fixing the common bugs there in old code first.
15:38.32 simran I have updated a file and want to submit a patch on that.
15:40.08 simran I'm sorry but I not getting where should I add updates? should it be in BRL-CAD MaterialsDatabase's git repository or somewhere else?
15:41.07 simran BRL-CAD Materials Database repository is also forked from Albert's (GSoC 2014 participant) repository.
15:41.35 simran Can you please suggest me the right approach here?
15:43.29 *** join/#brlcad simran (~simran@101.56.15.235)
15:44.33 simran Yup! OK
15:55.37 *** join/#brlcad kkrcodes (~kkrcodes@14.139.160.31)
16:08.45 *** join/#brlcad davee_ (~davee@71-83-188-23.dhcp.lnbh.ca.charter.com)
16:30.22 Notify 03BRL-CAD:ejno * 67370 brlcad/trunk/src/libgcv/gcv.c: add descriptive error messages for db_dump() failures
16:34.07 Notify 03BRL-CAD:ejno * 67371 brlcad/trunk/src/libgcv/gcv.c: simplify
16:44.46 *** join/#brlcad shubham_ (71c189bf@gateway/web/freenode/ip.113.193.137.191)
16:51.23 *** join/#brlcad kintel (~kintel@unaffiliated/kintel)
16:58.17 brlcad simran: git repo pull request
17:30.08 *** join/#brlcad dracarys983_ (dracarys98@nat/iiit/x-lbvrjgtcueglmycw)
17:37.15 *** join/#brlcad dracarys983 (dracarys98@nat/iiit/x-txiarxxtaybqcheo)
17:56.29 *** join/#brlcad qbz (~cLavelle@50.35.70.157)
17:58.31 Notify 03BRL-CAD:ejno * 67372 brlcad/trunk/doc/docbook/articles/en/gcv.xml: more work on the DocBook GCV documentation
17:59.00 Notify 03BRL-CAD:brlcad * 67373 brlcad/trunk/src/burst/burst.c: handle this the same way as we do elsewhere, some signals aren't on msvc so conditionalize on those signals existing
18:00.14 Notify 03BRL-CAD:brlcad * 67374 brlcad/trunk/src/fbserv/fbserv.c: handle signals separately
18:02.28 simran brlcad: Reuest sent, patch submitted. Both I did.
18:02.53 Notify 03BRL-CAD:brlcad * 67375 brlcad/trunk/src/fbserv/fbserv.c: ws indent style cleanup
18:03.48 brlcad simran: saw it, thanks!
18:04.14 brlcad note that for a gsoc application, you'll want to demonstrate some substantive logic change
18:04.33 brlcad docs certainly appreciated too and helps you get familiarized
18:05.36 *** join/#brlcad kintel (~kintel@unaffiliated/kintel)
18:06.00 brlcad shubham_: yes
18:06.21 Notify 03BRL-CAD:starseeker * 67376 brlcad/trunk/src/libbu/file.c: need second opinion on this, but it looks like two flaws in the bu_file_delete pipeline. First one is in the check for the remove return code - 0 is returned when the file is successfully deleted, and -1 on error according to the man page. If the while loop is looking for ret == 0 to continue trying to delete, ret should be set to 1 after a successful
18:06.23 Notify remove in order to exit the loop. The second issue appears to be in bu_file_exists - if fd is passed in to be assigned, the return code is *always* successful (1) even if open is in fact trying to open a file that does not exist (fd ends up getting -1, but bu_file_exists returns 1 - implying the file is there.) Instead, do the fd set if it is requested and continue on to the actual 'does it exist on the filesystem'
18:06.25 Notify test without returning 1 - that way fd is set according to open *and* the return code correctly reflects whether the file exists....
18:16.33 brlcad starseeker: 67376 looks good to me, failure of not using tdd
18:17.37 brlcad technically introduces a race, but most bu api is not meant to reflect filesystem status atomically
18:23.09 Notify 03BRL-CAD:brlcad * 67377 brlcad/trunk/src/libbu/file.c: replace the remove() ternary with a simpler if statement slightly less prone to mistake
18:23.33 kkrcodes Hello everyone! I'm Krishna Reddy, a 3rd year CS undergrad at Hindustan University, India. I introduced myself in the mailing list a couple of days earlier expressing my interest in the Materials Database project. It's possible it was overlooked. I've done extensive research both on the web and past discussions in the mailing list(dating back to 2012) to understand the requirements and problem domain clearly. I set up the code, worked with it and found
18:23.52 brlcad starseeker: don't forget NEWS when you get burst working ;)
18:24.00 brlcad looks like you're close
18:24.52 starseeker brlcad: can't tell - no test cases ;-)
18:25.04 starseeker it builds, but I've no way to exercise it
18:25.18 starseeker and I'm nervous about the lrand48/random/rand thing...
18:26.58 jasvir I was looking into src/libged/TODO list and I wish to work on 'about' command. It say 'display version, contents of various doc files, customizable brlcad.msg file'. Can you please tell me that which doc files are referred here?
18:27.10 jasvir also please tell me where can I find brlcad.msg file
18:27.59 starseeker jasvir: I think the brlcad.msg file is something that would be created for the about command?
18:28.24 jasvir will it be a temporary file?
18:28.32 starseeker not sure
18:28.46 jasvir ok
18:28.56 brlcad starseeker: yeah, that's all certain to be changes as those three random number funcs aren't the same thing
18:29.02 brlcad but I don't think it'll matter
18:29.47 brlcad rand() and random() have really similar behavior, rand() being the crappier of the two
18:29.59 starseeker nods - leave it to MSVC to provide that one...
18:30.17 brlcad msvc has random() iirc, it's _random() maybe?
18:30.32 starseeker kinda feels like we should be using bn's random number generator, which ideally we would guarantee was good...
18:30.43 starseeker checks...
18:30.44 brlcad they certainly have other non-posix non-unix random number generators that are superior
18:30.51 brlcad yeah was going to say that
18:31.01 brlcad especially for burst, should just use bn
18:31.06 starseeker bn_randmt?
18:31.30 brlcad any of them should do, but that will be the superior one
18:31.31 jasvir and what docs files referred in ',display version, contents of various doc files,' in todo list?
18:31.50 brlcad really want to deprecate that function though... so we have a simpler random number API
18:32.12 starseeker heh - all the other ones looked more quirky
18:32.13 brlcad definitely want a merzinetwister PRNG, but doesn't need to be its own symbol
18:32.20 brlcad just food for thought for later
18:33.06 starseeker brlcad: is anything there more "future proof" than bn_randmt ?
18:33.43 brlcad what do you mean?
18:33.54 brlcad api-wise that exists, probably not
18:33.55 starseeker we have msr.h, rand.h and randmt.h
18:34.13 starseeker was wondering if something in one of those was "preferred" even if harder to use...
18:34.16 brlcad that's the point, we have those three plus all the random macros like BN_RANDOM()
18:34.24 brlcad for fast random numbers
18:34.33 starseeker ah, so all of that should boil down into a simpler api?
18:34.39 brlcad if it can
18:34.53 brlcad this is where a c++ class wins...
18:34.57 brlcad templatized
18:35.29 starseeker do we have a preferred seed for bn_randmt_seed?
18:35.32 brlcad the macro rng's are pretty crazy fast, hard to beat, but relatively poor randomness
18:36.45 brlcad merging those with something like merzzine isn't going to fly easily without hurting their performance so we may end up with 2 or 3 api calls
18:36.57 brlcad seeding depends on the app
18:37.10 brlcad do you know if there's any method in burst for getting repeatable results?
18:37.21 starseeker not offhand...
18:37.22 brlcad how was it seeding rand()/random()
18:37.59 starseeker don't immediately see that they seed it anywhere...
18:39.10 shubham_ brlcad: did you get a chance to look at the updated OGV task list on the wiki, looks good?
18:39.10 starseeker no srand48, seed48, or lcong48 calls, for example...
18:40.34 starseeker the use is in grid.c
18:40.43 starseeker not really sure what they're up to with it...
18:41.56 starseeker looks like some sort of jitter in the x and y offset
18:42.33 *** join/#brlcad Guest25905 (~root@188.166.249.228)
18:42.52 *** part/#brlcad Guest25905 (~root@188.166.249.228)
18:45.12 brlcad what about srand(), srandom() or setstate()?
18:45.48 starseeker grep says no
18:45.48 brlcad we added the lrand48 stuff so I wouldn't be surprised if someone overlooked an srand48 seeding
18:46.15 brlcad okay, so then doesn't matter -- can skip seeing like it's doing or add a time(0) seed
18:47.19 starseeker since bn_randmt gives us a double between 0 and 1 and they want a 2 digit random number, is it something like (bn_randmt()*100) % 100; or does that bias us?
18:48.04 brlcad "yes" : )
18:48.22 starseeker heh
18:48.37 brlcad rand/random return 0 to some large number MAX_RANDOM and UINT32_MAX respectively iirc
18:48.44 starseeker yep
18:48.47 brlcad so what are they doing?
18:48.50 Notify 03BRL-CAD:ejno * 67378 brlcad/trunk/doc/docbook/articles/en/gcv.xml: fix
18:48.58 starseeker taking that large number and % 100
18:49.22 brlcad huh, interesting
18:49.33 brlcad set to an int?
18:49.42 starseeker a_user
18:49.45 starseeker checks...
18:49.51 brlcad o.O
18:50.07 starseeker yeah, int
18:50.43 brlcad what a terribly named ap member
18:50.57 starseeker must agree...
18:51.16 brlcad okay, so wanting a normal distribution 0 to 99 inclusive
18:51.22 starseeker nods
18:51.58 brlcad so then yes, just multiplying by 100 will bias
18:52.18 starseeker thought so, but not sure what plan b is
18:53.42 starseeker had the vague impression there were generally separate function calls that returned different types specifially to avoid the problems most of the naive conversion methods cause...
18:53.43 brlcad i think lrint() will fix it here, lrint(bn_randmt() * 100.0) % 100
18:54.30 starseeker and to make sure I understand correctly, the %100 in this case will clamp 100 back to 1?
18:54.59 brlcad 100 % 100 == 0
18:55.04 starseeker er, duh
18:55.06 starseeker right
18:55.09 *** join/#brlcad teepee_ (~teepee@unaffiliated/teepee)
18:55.40 brlcad is randmt inclusive or exclusive 0 to 1
18:55.48 brlcad presume inclusive?
18:55.55 starseeker [0, 1]-interval according to randmt.h
18:56.13 starseeker tries to recall his set theory notations...
18:56.17 brlcad okay, so if they nomenclatured intentionally, that's a closed set, inclusive
18:57.11 brlcad hm, I think that means this is wrong then, will bias too many zeros
18:57.43 starseeker * 99 instead of 100?
18:58.28 starseeker then we don't need to % 100 and up the zero count...
19:00.06 brlcad yeah, true lrint(bn_randmt() * 99.0)
19:01.53 brlcad writes a little test to confirm
19:01.56 Notify 03BRL-CAD:starseeker * 67379 (brlcad/trunk/include/config_win.h.in brlcad/trunk/src/burst/grid.c): Rather than the multiple generator calls and platform specifics, use bn_randmt to get our random number. (Sean)
19:08.01 brlcad oop, no good
19:08.19 brlcad first and last become half as likely
19:10.33 brlcad can see here: https://gist.github.com/brlcad/6cb2b01ba166800a39ac
19:12.02 brlcad duh, still needs to be * 100
19:12.30 brlcad but then mapped down
19:12.40 brlcad tries something lese
19:13.56 brlcad yeah, what I was originally going to write
19:14.07 brlcad lrint(bn_randmt() * 100.0) % 100 does it
19:14.49 brlcad was thinking the modulo was unimportant, but it's not -- it distributes the ends
19:14.58 *** join/#brlcad kkrcodes (~kkr@14.139.160.31)
19:15.25 Notify 03BRL-CAD:ejno * 67380 (brlcad/trunk/doc/docbook/articles/en/CMakeLists.txt brlcad/trunk/doc/docbook/articles/en/gcv.xml): add images
19:16.36 *** join/#brlcad ickby (~stefan@x5d846076.dyn.telefonica.de)
19:17.09 brlcad gist updated, https://gist.github.com/brlcad/6cb2b01ba166800a39ac
19:31.01 *** join/#brlcad boj (~boj@2001:250:3c02:763:942d:4073:9650:fa34)
19:34.39 Notify 03BRL-CAD:ejno * 67381 brlcad/trunk/doc/docbook/articles/en/gcv.xml: fix
19:35.33 *** join/#brlcad nilram (~nilram@2001:250:3c02:763:bcf1:ea29:474:7acf)
19:37.53 *** join/#brlcad kkrcodes (~kkr@14.139.160.31)
19:38.29 Notify 03BRL-CAD:brlcad * 67382 brlcad/trunk/src/burst/grid.c: need to bin results all the way up to 100 and modulo 100 in order to get an unbiased apping into [0,100).
19:40.42 *** join/#brlcad gaganjyot (~gaganjyot@122.173.79.18)
19:40.51 starseeker brlcad: cool
19:42.26 starseeker brlcad: I'm going to ask around, but I'm hopeful we may be able to deprecate the termlib interface to burst as long as we keep the batch processing capability around
19:52.45 Stragus Random floating point conversion to integers is also slightly biased, just differently from a modulo on the whole integer range
19:53.24 Stragus The non-biased way is looping if a random integer lands in the last "partial set", at the end of the range
20:10.45 *** join/#brlcad teepee_ (~teepee@unaffiliated/teepee)
20:14.10 *** join/#brlcad jasvir_ (~androirc@172.56.41.172)
20:24.14 *** join/#brlcad jasvir (~jass@96-41-47-93.dhcp.mtpk.ca.charter.com)
20:26.21 Notify 03BRL-CAD:ejno * 67383 brlcad/trunk/src/conv/3dm/3dm-g.cpp: generate real UUIDs; fix reporting of corrected model issues
20:27.14 brlcad starseeker: k, sounds good - you know we could also retain the interactive interface by just turning it into a simple prompting interface
20:27.19 brlcad printf+gets style
20:27.42 brlcad then it's effectively minimally impacting, no worries to even announce
20:27.48 brlcad other than news
20:29.13 brlcad Stragus: lrint() should be handling bias to ints because it does an even/odd splitting at the half
20:30.08 brlcad not the fastest, but should be uniform throughout
20:32.18 Notify 03BRL-CAD:starseeker * 67384 brlcad/trunk/src/libged/concat.c: Update nref after doing a db_concat
20:33.02 Notify 03BRL-CAD:starseeker * 67385 (brlcad/trunk/src/libged/kill.c brlcad/trunk/src/libged/killrefs.c brlcad/trunk/src/libged/killtree.c): For insurance, do nref updates after kills.
20:38.17 Notify 03BRL-CAD:brlcad * 67386 (brlcad/trunk/TODO brlcad/trunk/src/libged/TODO): bob anderson would like a means to generate pipes automatically given an input bot. this is my initial thoughts on an approach we could take. other thoughts at http://brlcad.org/wiki/Convert_BoT_to_Pipe
20:39.30 maths22 brlcad: What's the status on the backups?
20:39.39 maths22 Did they finally actually work?
20:40.12 Notify 03BRL-CAD:brlcad * 67387 brlcad/trunk/TODO: marching cubes is in facetize, -M option
20:43.07 brlcad maths22: yes, they're working and chugging along
20:43.12 Notify 03BRL-CAD:brlcad * 67388 brlcad/trunk/NEWS: looks like erik added the -m option to facetize that enables marching cubes a long while back. didn't trace origin, but look like it's been announced regardless.
20:43.23 brlcad took a long time to get through this gcimoin user that someone set up ;)
20:43.31 brlcad lots of files
20:53.16 Notify 03BRL-CAD:brlcad * 67389 brlcad/trunk/TODO: cliff broke up the libdm<->libged cyclic dependency. bb code should generalize to librt. and ged needs formal temp objects instead of hacks.
20:56.33 Notify 03BRL-CAD:brlcad * 67390 (brlcad/trunk/TODO brlcad/trunk/src/libged/TODO): edit command pretty much does what was proposed, but still needs synopsis review and extensive testing
21:02.46 Notify 03BRL-CAD:brlcad * 67391 (brlcad/trunk/TODO brlcad/trunk/src/libged/TODO): tables has a security no-no, tree needs to take a full path, and entering solid edit mode is obsoleted with archer's modeless editing. cliff also decoupled screengrab's libfb/libdm linkage.
21:11.47 maths22 brlcad: It looks like gcimoin set up Jenkins for GCI 2012
21:18.38 jasvir starseeker: can you please tell me that what is the purpose of src/qged/cadview.* file? All it is having right now is initialization of canvas and de-initializing it. canvas is also initialized in src/qged/main_window*
21:19.56 Notify 03BRL-CAD:brlcad * 67392 (brlcad/trunk/TODO brlcad/trunk/src/libged/TODO): analyze could use per-face/per-surface info
21:20.41 starseeker jasvir: I think cadview is a stub - it was going to become the viewing widget for geometry, but I never got there
21:25.59 starseeker brlcad: I was doing some pondering about what possible analyze command options might look like - should those go in the libged TODO? (or maybe you should review it first lest someone take it seriously prematurely...)
21:26.25 *** join/#brlcad merzo (~merzo@AGrenoble-653-1-574-115.w90-42.abo.wanadoo.fr)
21:27.01 *** join/#brlcad nmz787 (~nmz787@unaffiliated/nmz787)
22:00.18 Notify 03BRL-CAD:brlcad * 67393 brlcad/trunk/NEWS: cliff added a help option to gdiff
22:10.59 *** join/#brlcad merzo (~merzo@AGrenoble-653-1-574-115.w90-42.abo.wanadoo.fr)
22:15.16 jasvir starseeker: there is a canvas in src/qged/main_window.h. As you said that src/qged/cadview* is not is use currently. So if I want to use src/qged/cadview for viewing the drawing, do I have to use mainwindow's canvas?
22:20.11 *** join/#brlcad kintel (~kintel@unaffiliated/kintel)
22:28.12 *** join/#brlcad tandoorichick (b64b2d01@gateway/web/freenode/ip.182.75.45.1)
22:42.55 *** join/#brlcad Gabriel (d5e95509@gateway/web/freenode/ip.213.233.85.9)
22:56.45 Gabriel Hi, I have shared a draft of my proposal for "Add exec option to search" project. Could you, please, have a look at it?
23:04.34 *** join/#brlcad jasvir__ (~jass@75-142-109-136.static.mtpk.ca.charter.com)
23:35.16 *** join/#brlcad Gabriel_ (bc1aa408@gateway/web/freenode/ip.188.26.164.8)
23:39.32 *** join/#brlcad teepee_ (~teepee@unaffiliated/teepee)
23:48.34 *** join/#brlcad kkrcodes (~kkr@14.139.160.31)
23:49.09 *** join/#brlcad jasvir (~androirc@172.56.41.172)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.