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) |