| 00:01.20 | *** join/#brlcad IriX64 (n=IriX64@bas2-sudbury98-1177593682.dsl.bell.ca) | |
| 00:02.26 | IriX64 | apologizes to ``Erik for telling him an untruth, was my own code ``Erik, i stopped playing with the dll ages ago, inadvertent tied it to my system :) |
| 00:11.27 | *** join/#brlcad Ralith (n=ralith@216.162.199.202) | |
| 03:08.43 | *** join/#brlcad louipc (n=louipc@archlinux/trusteduser/louipc) | |
| 05:45.02 | *** join/#brlcad louipc (n=louipc@archlinux/trusteduser/louipc) | |
| 06:01.47 | *** join/#brlcad IriX64 (n=IriX64@bas2-sudbury98-1177593682.dsl.bell.ca) | |
| 09:31.34 | *** join/#brlcad geocalc (n=geocalc@lns-bzn-38-82-253-85-99.adsl.proxad.net) | |
| 09:34.06 | *** join/#brlcad clock_ (n=clock@84-72-91-240.dclient.hispeed.ch) | |
| 11:42.32 | claymore | Morning all |
| 12:19.42 | *** join/#brlcad Ralith (n=ralith@216.162.199.202) | |
| 12:42.22 | CIA-6 | BRL-CAD: 03davidloman * r33310 10/iBME/ (branches/ tags/ trunk/ trunk/docs/ trunk/include/ trunk/src/): Initial setup of project directories. |
| 13:44.02 | brlcad | mornin' |
| 13:44.58 | CIA-6 | BRL-CAD: 03davidloman * r33311 10/iBME/trunk/ (16 files in 2 dirs): |
| 13:44.58 | CIA-6 | BRL-CAD: Moving iBME to its own module. rt^3 is developing in a bit too many directions |
| 13:44.58 | CIA-6 | BRL-CAD: and has become more of a 'misc' module. My hope is to streamline organization |
| 13:44.58 | CIA-6 | BRL-CAD: with iBME and pull over applicable aspects of rt^3 as iBME development |
| 13:44.58 | CIA-6 | BRL-CAD: progresses. |
| 13:45.01 | claymore | howd7! |
| 13:45.07 | claymore | howd7 even! |
| 13:45.20 | claymore | fingers are cold and slow :/ |
| 13:49.15 | CIA-6 | BRL-CAD: 03davidloman * r33312 10/iBME/trunk/ (87 files in 9 dirs): |
| 13:49.16 | brlcad | claymore: i'm a bit concerned by that direction, to be honest |
| 13:49.46 | brlcad | it's effectively a fork |
| 13:50.57 | claymore | I have been thinking about the organization for a long while now, and, honestly, there are several distinctly different efforts in rt^3. |
| 13:50.59 | brlcad | it's also pretty natural for things to seem cluttered and messy when it's not code you wrote (whether it *actually* is or isn't) |
| 13:52.04 | claymore | And that the way that the iBME/GS/GE is porgressing, it was going to rapidly take over the rt^3 module... and i definetly don't want to step on peoples toes. |
| 13:52.37 | claymore | So the path I see is to seperate, evaluate and re integrate. |
| 13:52.47 | brlcad | it's akin to you saying, I don't want to play in that playground over there (where everyone else already is playing), come play in this new one I'm making over here |
| 13:53.30 | brlcad | I mean it's a *really* classic developer trait to do that .. but it's rarely *rarely* ever productive for long-term maintenance |
| 13:54.09 | claymore | brlcad: That may be your interpretation ;), but in reality is me stepping back, evaluating and coming back in a few minutes ;) |
| 13:54.38 | brlcad | like I said before, the 'rt^3' module is no different in direction than what you're calling the iBME module |
| 13:54.51 | brlcad | the projects, goals, and implementation pieces are even the same |
| 13:57.48 | claymore | To a point, sure. But like I said, I don't want to presume to start re-arranging other people's code when they might not have the same goals. |
| 13:58.00 | brlcad | we should have the same goals |
| 13:58.11 | brlcad | if we don't, then that's a much bigger problem that has to be addressed |
| 13:58.26 | brlcad | and not something that can be done later |
| 13:58.58 | brlcad | we should have the *exact* same goals frankly, and no work to date has led me to see anyone doing anything not within the same goals |
| 14:00.11 | claymore | :) if you say so then |
| 14:00.29 | brlcad | you shouldn't just start re-arranging other code regardless -- you should talk to those that worked on it, that's part of the collaboration and (more importantly) part of the long term maintainability |
| 14:01.51 | brlcad | it's also not "people's" code -- there can be stewards for portions of the code, but there aren't personal boudaries in the code |
| 14:02.09 | brlcad | there should be nothing that prevents anyone else from working on and improving *any* other code |
| 14:02.19 | brlcad | no matter who wrote it, how new or old that code has been there |
| 14:03.42 | claymore | when would be a good day to bounce some build system questions off ya? |
| 14:04.06 | brlcad | any day |
| 14:04.18 | brlcad | shoot |
| 14:07.15 | CIA-6 | BRL-CAD: 03davidloman * r33313 10/rt^3/trunk/src/iBME/: Moving GS and GE components in adhere to rt^3 guidelines. |
| 14:07.45 | claymore | non specific, more general questions, actually. :/ |
| 14:09.15 | CIA-6 | BRL-CAD: 03davidloman * r33314 10/rt^3/trunk/docs/: Moving GS and GE components in adhere to rt^3 guidelines. |
| 14:09.57 | claymore | the network connection here keeps f-ing up my commits... have to do them peicemeal :/ |
| 14:10.05 | brlcad | for what it's worth, here's a really good article from Joel that summarizes that trait aspect I was referring to |
| 14:10.15 | CIA-6 | BRL-CAD: 03davidloman * r33315 10/rt^3/trunk/src/ (5 files in 5 dirs): Moving GS and GE components in adhere to rt^3 guidelines. |
| 14:10.16 | brlcad | they should be piecemeal to begin with :) |
| 14:10.37 | brlcad | moved this from here to there (because of blah reason) |
| 14:10.54 | brlcad | http://www.joelonsoftware.com/articles/fog0000000069.html |
| 14:11.23 | claymore | exactly. Problem is moving 4 or 5 dirs is just a bit too much. Connection drops. grrr... |
| 14:15.11 | brlcad | hm, I haven't seen that on the mac |
| 14:17.15 | claymore | I would blame the ide I am using, but the internet and ftp are all flaky too. probably Windows :/ |
| 14:21.04 | brlcad | probably |
| 14:22.16 | brlcad | another good article from Joel (though not as poignant as the first), http://www.joelonsoftware.com/articles/fog0000000348.html |
| 14:23.08 | brlcad | they breach into the higher level forkage issues (ala M3) pretty exemplary |
| 14:27.47 | claymore | good articles. |
| 14:28.04 | brlcad | joel is awesome |
| 14:28.30 | brlcad | i've not yet met the guy, but he has some outstanding articles and a couple really good books |
| 14:28.57 | brlcad | one little pocket book that I think every manager that hires a software developer (or computer geek in general) should absolutely read |
| 14:29.03 | brlcad | as in required reading |
| 14:30.24 | brlcad | "Smart & Gets Things Done", it's a great little guide to computer geeks, quick read |
| 14:35.00 | claymore | bookmarked that, thanks :) |
| 14:35.36 | brlcad | I have it if you want to borrow it sometime |
| 14:35.58 | brlcad | can be read in less than an hour |
| 14:37.41 | claymore | ha, now you sound like my wife. She downed the LotR trilogy in less than a day. lol. I don't read fast at all. |
| 14:37.45 | claymore | ADD maybe. |
| 14:39.50 | brlcad | heh |
| 14:40.45 | claymore | So, since you offered, how does the BRLCAD build system work ? :) |
| 14:41.39 | brlcad | we use what's called the GNU Build System aka the GNU Autotools aka .. Autoconf + Automake + Libtool |
| 14:42.54 | brlcad | I should prefice that the autotools are going to seem like hell BUT you should keep in mind that there is a reason that it is organized and implemented the way it is |
| 14:43.42 | brlcad | whether those reasons are good or bad today or even relavant any more are certainly debatable, but it's one of those high-hurdle devmanship projects that take a long time to become good at |
| 14:44.18 | brlcad | that said, it's by far the most commonly used build system too, by quite a huge margin |
| 14:44.54 | archivist | a black art build system :) |
| 14:45.05 | brlcad | there are a few others coming up in the ranks (cmake being a big notable one), but it's still top-dog and one that almost "does it all" and is usually pretty easy to find someone knowledgeable in |
| 14:46.10 | brlcad | so the build system starts with autogen.sh -- that is a script that I wrote that overcomes common configuration problems and "prepares the build system" |
| 14:46.52 | brlcad | it's effectively NO DIFFERENT than running a tool called "autoreconf" that sets the stage |
| 14:47.20 | brlcad | but as it's one step higher, it can actually detect, fix, accommodate, etc, other configuration issues |
| 14:48.30 | brlcad | so other starting point files -- there are configure *templates* (i.e. configure.ac or configure.in depending on the project, .ac in our case) and automake Makefile templates (the Makefile.am files) |
| 14:49.09 | brlcad | when you run autogen.sh/autoreconf, it turns the configure.ac into a configure shell script and the Makefile.am files into Makefile.in files |
| 14:50.14 | brlcad | when you run the configure script, it turns the Makefile.in files into a traditional unix-style "Makefile", and when you run "make", it traverses through the hierarchy accordingly |
| 14:52.21 | brlcad | if everything is set up right, the user that downloads a source tarball from us doesn't need the GNU autotools to be installed -- they merely need a shell interpreter to run the configure script and 'make' (and a compiler) |
| 14:53.31 | brlcad | those are bare minimal requirements that give a consistent and portable build environment |
| 14:53.55 | claymore | cool. thanks for that. No i just need to read up on make lol. |
| 14:54.39 | brlcad | actually, not much |
| 14:54.53 | brlcad | because you shouldn't really be writing much/any make logic |
| 14:55.27 | brlcad | you write automake directives, which basically amount to setting variables |
| 14:55.46 | claymore | Well, I am looking at the contents of the individual subdir makefile.am files. Just need to know how to define my own binaries and includes. |
| 14:56.04 | brlcad | it's usually a lot easier to (start to) grasp the gnu autotools by looking at exisitng projects than it will be by reading up on it |
| 14:56.16 | claymore | remember, I am a long time windows turd learning this for the first time :) |
| 14:56.17 | brlcad | if only because there are so many options, things you can and cannot do |
| 14:56.30 | claymore | kk, sound advice. |
| 14:57.09 | brlcad | actually, the minimal bits that are in rt^3 now for the previous code are a decent minimal starting point |
| 14:57.33 | brlcad | it'll take you through ./autogen.sh && ./configure && make should work |
| 14:58.02 | brlcad | so you can see some minimal stubbing in the top-level configure.ac file, and how the Makefile.am files are organized to build libraries and binaries |
| 14:58.14 | brlcad | and it only builds a couple, so it should be pretty straitforward |
| 14:59.07 | brlcad | the 'brlcad' module gets into a lot more advanced/complicated/special cases and logic/infrastructure needed to support the much bigger complexity there |
| 14:59.23 | brlcad | rt3's is nearly minimal |
| 14:59.49 | claymore | Excellent, thanks! |
| 15:01.11 | brlcad | so that's the 'easy' one to get up and running (someone autotool-enabled should be able to wrap everything you've done to date in less than an hour) if what you have compiles |
| 15:01.21 | claymore | Other question: in header files, is it a compiler specific standard to use a #if !defined(__MYHEADER_H__) for a file called myheader.h ? |
| 15:01.47 | brlcad | that said, you could also use cmake since it's not the main module -- but there the knowledge base is much smaller, we're just getting started with that |
| 15:02.15 | brlcad | mafm started his gui work for gsoc using cmake |
| 15:02.59 | brlcad | that's not compiler-specific, but yeah -- pretty standard to have headers protect themselves from multiple inclusion/declarations |
| 15:03.17 | brlcad | which was something I was going to change in what you have already, actually |
| 15:03.29 | brlcad | uuids in preprocessor directives is a bit nutty |
| 15:03.57 | brlcad | I mean it's clear why, but fugly as all hell |
| 15:04.12 | brlcad | the usual is something like: |
| 15:04.29 | claymore | right, I understand the multiple inclusion protection, its just the '__MYHEADER_H__' thing.. didn't know if that was just good practice or some sorta standard. |
| 15:04.52 | brlcad | #ifndef __MYHEADER_H__ |
| 15:04.55 | claymore | the UUID's are EnterpriseArchitect vomit. in process of cleaning it up right now. |
| 15:04.56 | brlcad | #define __MYDEAHDER_H__ |
| 15:05.03 | brlcad | ...contents |
| 15:05.04 | brlcad | #endif |
| 15:05.37 | brlcad | just good practice |
| 15:06.04 | brlcad | and if you want to get *really* pedantic about it, they probably shouldn't have a double-leading underscore |
| 15:07.04 | brlcad | even though that's what all of the brlcad module headers do (and what many/most projects use) |
| 15:07.30 | brlcad | "BC_MYHEADER_H" would be the non-offensive compromise |
| 15:07.39 | brlcad | or some variation thereof |
| 15:07.48 | claymore | Curious... whats the big deal with double underscore vs not? |
| 15:08.38 | brlcad | technically speaking, double-underscore preprocessor directives are reserved for the compiler to use for internal purposes |
| 15:09.05 | brlcad | the chance that the compiler would ever use something that conflicts, though, is absurdly small |
| 15:10.37 | brlcad | at least given the _H__ |
| 15:11.02 | claymore | hrm, okay cool. |
| 15:11.05 | brlcad | you can see the built-in preprocessor defines for linux with: touch file.h && gcc -dM -E file.h |
| 15:24.16 | claymore | thats a pretty neat trick :) |
| 15:28.08 | claymore | are the lines at the end of each file (aka //Local Variables: ) for emacs and other editors? |
| 15:39.38 | *** join/#brlcad elite01 (n=omg@unaffiliated/elite01) | |
| 15:43.37 | CIA-6 | BRL-CAD: 03davidloman * r33316 10/rt^3/trunk/src/ (6 files in 3 dirs): |
| 15:43.37 | CIA-6 | BRL-CAD: Changed header preprocessor directives so that they are NOT UUIDs anymore. |
| 15:43.37 | CIA-6 | BRL-CAD: Moved Header files to include/ directories. Renamed all file extensions from |
| 15:43.37 | CIA-6 | BRL-CAD: .cpp to .cxx per rt^3 standards. Added //Local Variables: blocks at the end of |
| 15:43.37 | CIA-6 | BRL-CAD: each file per rt^3 standards. |
| 15:43.53 | brlcad | yes |
| 15:44.30 | brlcad | they have a specific format that is recognized by some editors that help enforce/encourage consistent indentaiton and other whitespace rules |
| 15:46.15 | claymore | kewl, thanks again! |
| 15:47.12 | claymore | grumbles about the cruddy network io :/ |
| 15:47.22 | CIA-6 | BRL-CAD: 03davidloman * r33317 10/rt^3/trunk/src/GeometryService/Jobs/ (24 files): |
| 15:47.57 | CIA-6 | BRL-CAD: 03davidloman * r33318 10/rt^3/trunk/src/GeometryService/ (36 files in 2 dirs): |
| 15:47.57 | CIA-6 | BRL-CAD: Changed header preprocessor directives so that they are NOT UUIDs anymore. |
| 15:47.57 | CIA-6 | BRL-CAD: Moved Header files to include/ directories. Renamed all file extensions from |
| 15:47.57 | CIA-6 | BRL-CAD: .cpp to .cxx per rt^3 standards. Added //Local Variables: blocks at the end of |
| 15:47.57 | CIA-6 | BRL-CAD: each file per rt^3 standards. |
| 15:48.29 | CIA-6 | BRL-CAD: 03davidloman * r33319 10/rt^3/trunk/src/GeometryEngine/ (45 files): |
| 15:48.30 | CIA-6 | BRL-CAD: Changed header preprocessor directives so that they are NOT UUIDs anymore. |
| 15:48.30 | CIA-6 | BRL-CAD: Moved Header files to include/ directories. Renamed all file extensions from |
| 15:48.30 | CIA-6 | BRL-CAD: .cpp to .cxx per rt^3 standards. Added //Local Variables: blocks at the end of |
| 15:48.30 | CIA-6 | BRL-CAD: each file per rt^3 standards. |
| 15:49.51 | CIA-6 | BRL-CAD: 03davidloman * r33320 10/rt^3/trunk/include/ (4 files in 2 dirs): |
| 15:49.51 | CIA-6 | BRL-CAD: Changed header preprocessor directives so that they are NOT UUIDs anymore. |
| 15:49.51 | CIA-6 | BRL-CAD: Moved Header files to include/ directories. Renamed all file extensions from |
| 15:49.51 | CIA-6 | BRL-CAD: .cpp to .cxx per rt^3 standards. Added //Local Variables: blocks at the end of |
| 15:49.52 | CIA-6 | BRL-CAD: each file per rt^3 standards. |
| 15:49.52 | brlcad | if you want to change anything about the 'standards' spelled out, speak up -- that is more so that everything is consistent than it is as a "thou shalt" |
| 15:50.11 | brlcad | and so we're not always discussing bikeshed issues that don't matter much ;) |
| 15:50.26 | brlcad | but there are a few things that are easy |
| 15:51.12 | CIA-6 | BRL-CAD: 03davidloman * r33321 10/rt^3/trunk/include/GeometryService/ (5 files in 2 dirs): |
| 15:51.12 | CIA-6 | BRL-CAD: Changed header preprocessor directives so that they are NOT UUIDs anymore. |
| 15:51.12 | CIA-6 | BRL-CAD: Moved Header files to include/ directories. Renamed all file extensions from |
| 15:51.12 | CIA-6 | BRL-CAD: .cpp to .cxx per rt^3 standards. Added //Local Variables: blocks at the end of |
| 15:51.13 | CIA-6 | BRL-CAD: each file per rt^3 standards. |
| 15:51.32 | claymore | Oh I will. I just need to understand al the 'current standards' and what they imply first :) |
| 15:52.09 | CIA-6 | BRL-CAD: 03davidloman * r33322 10/rt^3/trunk/include/GeometryService/Jobs/ (9 files): |
| 15:52.09 | CIA-6 | BRL-CAD: Changed header preprocessor directives so that they are NOT UUIDs anymore. |
| 15:52.09 | CIA-6 | BRL-CAD: Moved Header files to include/ directories. Renamed all file extensions from |
| 15:52.09 | CIA-6 | BRL-CAD: .cpp to .cxx per rt^3 standards. Added //Local Variables: blocks at the end of |
| 15:52.09 | CIA-6 | BRL-CAD: each file per rt^3 standards. |
| 15:52.45 | claymore | apologizes for the commit spam... can't seem to commit any more than 8-10 files at one time without the connection dropping. |
| 15:52.59 | brlcad | there is no such thing! |
| 15:53.11 | brlcad | you can't commit too frequently :) |
| 15:53.15 | CIA-6 | BRL-CAD: 03davidloman * r33323 10/rt^3/trunk/include/GeometryService/ (9 files): |
| 15:53.15 | CIA-6 | BRL-CAD: Changed header preprocessor directives so that they are NOT UUIDs anymore. |
| 15:53.15 | CIA-6 | BRL-CAD: Moved Header files to include/ directories. Renamed all file extensions from |
| 15:53.15 | CIA-6 | BRL-CAD: .cpp to .cxx per rt^3 standards. Added //Local Variables: blocks at the end of |
| 15:53.15 | CIA-6 | BRL-CAD: each file per rt^3 standards. |
| 15:53.16 | brlcad | you really cannot |
| 15:53.35 | claymore | has very evil thoughts.... |
| 15:53.38 | brlcad | I would have said there were at least four commits in there regardless :) |
| 15:53.58 | brlcad | seriously, it can/should usually be as often as you hit "Save" |
| 15:54.12 | CIA-6 | BRL-CAD: 03davidloman * r33324 10/rt^3/trunk/include/GeometryEngine/ (16 files): |
| 15:54.12 | CIA-6 | BRL-CAD: Changed header preprocessor directives so that they are NOT UUIDs anymore. |
| 15:54.12 | CIA-6 | BRL-CAD: Moved Header files to include/ directories. Renamed all file extensions from |
| 15:54.12 | CIA-6 | BRL-CAD: .cpp to .cxx per rt^3 standards. Added //Local Variables: blocks at the end of |
| 15:54.12 | CIA-6 | BRL-CAD: each file per rt^3 standards. |
| 15:54.28 | brlcad | the messages become much more meaningful the smaller the commit size |
| 15:54.38 | brlcad | and useful 10 years later |
| 15:54.43 | claymore | I am working on it. I just have to curb my pseudo-OCD towards 'commiting' vs 'saving' ;) |
| 16:41.26 | CIA-6 | BRL-CAD: 03davidloman * r33325 10/rt^3/trunk/ (33 files in 3 dirs): refactored a few classes to use 'DbObject' instead of 'Resource' |
| 17:14.17 | *** join/#brlcad Elrohir (n=kvirc@p5B14D2D4.dip.t-dialin.net) | |
| 18:12.43 | CIA-6 | BRL-CAD: 03davidloman * r33326 10/rt^3/trunk/src/GeometryEngine/ (8 files): Cleaned up references in both cxx and h files after classname refactor. Individual classfiles in src/GeometryEngine now compile. |
| 18:17.27 | CIA-6 | BRL-CAD: 03davidloman * r33327 10/rt^3/trunk/include/ (14 files in 2 dirs): Cleaned up references in both cxx and h files after classname refactor. Individual headerfiles in include/GeometryEngine now compile. Added 'iBMECommon.h' file to typedef UUID and URL classes until they are implemented. |
| 19:11.41 | CIA-6 | BRL-CAD: 03davidloman * r33328 10/rt^3/trunk/ (27 files in 6 dirs): Cleaned up references in both cxx and h files after classname refactor. Individual files in include/GeometryService and src/GeometryService now compile. |
| 20:57.39 | *** join/#brlcad louipc (n=louipc@archlinux/trusteduser/louipc) | |
| 22:24.48 | *** join/#brlcad prasad_ (n=psilva@static-96-255-52-7.washdc.fios.verizon.net) | |
| 22:24.57 | *** part/#brlcad prasad_ (n=psilva@static-96-255-52-7.washdc.fios.verizon.net) | |
| 23:24.30 | *** join/#brlcad Ralith_ (n=ralith@216.162.199.202) | |
| 23:32.59 | *** join/#brlcad Ralith_ (n=ralith@216.162.199.202) | |