IRC log for #brlcad on 20080614

00:15.25 ``Erik so, uh
00:15.28 ``Erik this one time, at band camp
00:43.14 *** join/#brlcad Twingy (n=justin@74.92.144.217)
01:35.42 ``Erik ponders the notion of each eye having a blue/red favor
01:37.15 ``Erik dr who... regular is a very red/yellow visual, lighening is a very blue one... my brain sees that as a horizontal shift
02:21.34 *** join/#brlcad pacman87 (n=Timothy@71.170.63.120)
02:49.07 *** join/#brlcad thing0 (n=ric@124-169-214-111.dyn.iinet.net.au)
07:47.34 *** join/#brlcad clock_ (n=clock@217-162-111-59.dclient.hispeed.ch)
08:57.22 *** join/#brlcad Elperion (n=Bary@p5B14F5DB.dip.t-dialin.net)
10:01.48 *** join/#brlcad docelic (n=docelic@77.237.104.91)
11:54.46 brlcad heh, nice: http://science.slashdot.org/comments.pl?sid=583059&cid=23780095
12:10.59 ``Erik sounds about right
12:18.48 *** join/#brlcad dtidrow (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net)
12:36.52 *** join/#brlcad thing0 (n=ric@124-169-214-111.dyn.iinet.net.au)
13:24.49 ``Erik I find it annoying that svn uses hard coded 'shortcuts' instead of a parse trie
13:39.39 *** join/#brlcad mafm (n=mafm@elnet-111.lip.pt)
13:40.16 ``Erik blargh, apple has a special way of handling bss segments
13:40.28 ``Erik "special", like, hockey helmet and water wings, yo
13:42.23 mafm hi cuties :P
13:43.12 brlcad heh
13:43.12 ``Erik eeks *flee*
13:43.50 ``Erik y'know, I'm watching history channel here
13:44.14 ``Erik about the amistace and surrender of the empire of germany in ww1
13:44.20 ``Erik canada really fucked a lot of people over
13:45.11 ``Erik german delegation was trying to move quickly under a deadline with a white flag up, and kept getting pinned down by canadian fire (german fire once, but mostly canadian)
13:45.40 ``Erik shakes fist at canada, yet again
13:45.49 ``Erik :D
13:45.54 brlcad blames canada too
13:46.10 ``Erik "history international" channel
13:46.13 ``Erik if interested
13:46.34 brlcad thinks dr who and bsg might win
13:46.44 ``Erik watched 'em last night :D
13:46.46 ``Erik no tivo
13:46.55 brlcad tsk tsk :)
13:47.05 ``Erik dr who was good.. bsg has... changed
13:47.08 ``Erik lost their way, yo
13:47.22 brlcad hook up some mythtv yo
13:47.29 ``Erik been thinking about it
13:47.40 ``Erik I
13:48.05 ``Erik I'd like the ability to save 2-3 channels in 'decent' quality (dont' need perfect) to an NFS share
13:48.44 ``Erik lack the hw right now, but if I had it, I'd throw my codin' time on that like a mofo
13:49.11 ``Erik flipping who the bitch is in the tv equation would be nice :)
13:50.46 ``Erik both fbsd and linux offer a bss glop ability... ".local heap\n.comm heap,30000,32" style
13:51.00 ``Erik the apple approach seems to be ... uh, sbrk style
13:51.09 ``Erik who the FUCK uses sbrk style memory management these days???
13:51.36 brlcad heh
13:51.50 brlcad about 1 in 10 apparently
13:51.51 ``Erik leal -30012(%ebp), %eax
13:51.53 ``Erik uh? :D
13:52.18 ``Erik is dorking with his compiler, trying to make the asm output as generic as possible...
13:53.31 ``Erik outside of the opcode set, it seems that there is the "classic sensibility" (called "unix" style by all the sites), linux violates... many of those (function call convention), and mac violates teh very few that linux adhered to
13:53.37 ``Erik (says the bsd zealot)
13:55.29 ``Erik hrm, this seems cheap to me... modern video, sepia toned.. obviously not original footage... why sepia it?
13:57.17 brlcad artistic license?
13:58.42 ``Erik perhaps, but it's history cahnnel, they're showing re-enactments in full color, modern quality... and then there's this scene that is modern video... sepia toend
13:59.00 ``Erik my typing is guud
13:59.16 ``Erik I IS GEORGE DUBYA TYPINATOR!
14:32.15 *** join/#brlcad homovulgaris (n=homovulg@202.63.233.61)
14:36.51 mafm hi homovulgaris
14:52.49 ``Erik "Americans live to work. Spanish work to live." painfully true O.o
14:53.05 ``Erik (history channel commercial)
14:54.18 mafm Spanish or Spaniards?
14:56.21 mafm that's about to change anyway
14:57.28 mafm European Commision passed a law, or something to that effect, so that workers will be able to "freely agree" with the employer how much time to work up to 65 hours/week
14:58.03 mafm that's 13 hours/day if you work 5 days, 11 if you work 6 days, 9 if you work all days of the week
14:58.11 *** join/#brlcad elite01 (n=elite01@dslb-088-071-046-072.pools.arcor-ip.net)
15:00.12 ``Erik I'm quoting a commercial
15:00.40 ``Erik I thought 34 a week was 'normal' for most of europe
15:00.47 ``Erik opposed to the 40+ of us
15:01.16 mafm in general it's 40 for the most lucky ones -- e.g. people in supermarkets and bars usually work more
15:01.26 ``Erik hum
15:01.47 ``Erik when I was doing 'part time' work, it was hard to get up to 40 (more than 40 means overtime pay, extra expense)
15:02.15 ``Erik when I was doing "professional" work, it was hard to get under 60
15:02.18 mafm 37.5 or 35 is only for some special cases like government workers, or some law that tried to pass france 10 years ago or something (but now France was pushing that EU thing)
15:02.25 ``Erik now I'm doing gov't work... it's 40, damnit.
15:02.41 mafm and government workers usually work 20 hours a day, nevermind what their contract say :D
15:02.51 ``Erik heh
15:03.05 ``Erik brlcad does 20 hour days, but he'll do two of them and enjoy the rest of his week relaxing :D
15:03.24 ``Erik and by relaxing, i mean coding brlcad and bzflag, but what HE cares about, not his paycheck signer
15:03.33 mafm lol
15:03.45 mafm this reminds me of a co-worker who is a voluntary fireman
15:03.55 ``Erik I do a little "above and beyond", but I find it hard anymore :/
15:04.32 mafm but the professional firemen are forced (not by choice of relaxing, like brlcad) to spend some nights as "volunteers"
15:04.43 ``Erik yeah, but that's a signup thing
15:04.52 ``Erik I have friends who do that here
15:05.07 ``Erik and, heh, lost a gf to one of those, cuz 'firemen are sexy'...
15:05.34 ``Erik even with that, I still respect volunteer firefighters, emt, etc
15:06.28 ``Erik hrm, I threw on this "man made marvels in asia" hoping to see historic awesomeness, it's about an upcoming high speed rail in south korea
15:07.34 mafm lol... women love them because of the phallic image of the "pipe" (whatever the proper name) :D
15:07.50 ``Erik hose
15:07.57 ``Erik probably
15:07.59 ``Erik heh
15:08.22 ``Erik "I fucked him because he loaned me his cellphone"... I seem to have made some mistakes :D I sure hope punker ain't one O.o
15:09.16 ``Erik how's the ogre thingie coming?
15:09.39 ``Erik I've been ignoring it, it's c++ and in another dir, so.. *shrug* not my big thing, but ... any visual results?
15:09.39 mafm :D
15:10.02 mafm not bad I think
15:10.14 ``Erik is rbgui off the table?
15:10.16 mafm http://wainu.ii.uned.es/~mafm/brlcad/brlcad_rbgui_20080612-1.png
15:10.23 mafm last screenie
15:11.08 mafm I'm trying to implement the supporting bits now, like logging
15:11.10 ``Erik hrmmm, fairly reasonable toolkit, visually
15:11.41 ``Erik logging like printing to a file trivial style, or "just use syslog" style?
15:12.52 mafm well, I'm implementing it in a class where they'll call a single function to do the final printing, so it can be changed easily
15:13.14 mafm a.t.m. brlcad recommended to focus only in the abstraction
15:13.26 ``Erik *nod*
15:13.31 mafm then maybe use libbu for that
15:14.09 ``Erik now I'm gonna raise up the opposing concern, I've seen good projects turned to crap when a 'tard gets in the mix and worships abstraction and 'refactoring' to absurdum
15:15.42 mafm well, this is only something like: Logger.logERROR(message);
15:15.43 ``Erik if you think it'd be more time to abstract than it'd be to "just do it" and "just do it again" when ya realize you did it wrong, that might be the point to "just do it"... but brlcad is the lead here *shrug* allz I can say is my experiences
15:16.07 ``Erik <-- is talking... um, abstracted, instead of just doing it ;)
15:16.22 mafm which calls Logger.log("ERROR", "message"); or something to that effect, which will format the line and print it with cerr at the moment
15:16.33 ``Erik that looks like a good abstraction
15:17.15 mafm I just meant abstraction in the sense that it won't call "cerr" directly in the rest of the classes, and so it'll have a central point to change the file destination, message format and so on
15:17.24 ``Erik yes
15:17.42 mafm and so use libbu, syslog or whatever is easy to implemtn
15:17.52 mafm :)
15:18.36 ``Erik I've seen collosal failures, i'm scared that someone might see their way into that turf... I mean, java programs where an interface is defined... and then a class is defined to "implement" that, but it's a completely abstract class (no content).. and then antoher class extends THAT, but has no guts... and then ANOTHER class extends that, and zomfg, the first content, 4 abstractions down!
15:19.03 ``Erik so I have a paranoia against anything pointing in that direction :)
15:19.34 ``Erik I'll sit in the corner and say 'why not just do it?', feel free to ignore me ;)
15:20.14 mafm in general I also hate complex hierarchies and relations
15:20.18 ``Erik personally tends to implement, then "refactor" and abstract when it becomes obvious that it should be abstracted, probably a bad approach
15:20.50 ``Erik and when I do hit that point, I do it... I like C macros for that in BRL-CAD...
15:21.08 ``Erik src/libbu/image.c is what happens when I go there :D
15:21.24 ``Erik so I'm sure others appreciate when I don't get that hair (hare?) up my arse
15:23.01 mafm :D
15:23.34 mafm I'm no big fan of magnificent previous designs either
15:23.59 mafm in this case it's easy for me because I used similar classes several times
15:24.19 mafm Logging is something that you have to do everywhere :D
15:25.41 mafm and it's pretty standard stuff: different classes of messages with increasing priority, filter by priority, and just call methods to log the messages
15:25.41 ``Erik *nod*
15:26.21 ``Erik syslog "solved" that long ago in my mind, but tends to require superuser knowledge/privelege
15:28.51 mafm does it? I think that in debian, processes running as non-root users can also use it
15:30.04 mafm anyway, Windows systems don't have the same thing and I think that there are small nuisances with the Unices too
15:30.09 ``Erik yeah, non-root can trasmit, but setting things up requires rootage
15:30.34 ``Erik transmitting log messages to a remote machine is damn sexy
15:30.55 ``Erik log4j is a feeble attempt to imitate
15:31.12 ``Erik imho :D
15:31.48 ``Erik hears an owl O.o at 11:30 am, on a hot summer day
15:33.08 mafm setting things up? file destinations and so on?
15:33.12 ``Erik yeah, the config files
15:34.24 mafm in this case, it would be the user who could set the log level, reading from a config file or something to that effect
15:34.47 mafm then the destination could go anyware
15:35.07 mafm so if syslog lets you, it'll get logged there
15:36.41 mafm hmm, with the preprocessor, you can in example ##DEBUG to get the string "DEBUG", right?
15:39.16 ``Erik uhmmm, i'd have to look that up
15:39.19 ``Erik sounds about right
15:39.37 ``Erik is it a#b for concatenation and ##a for 'string, not symbol'?
15:39.50 ``Erik or the other way around? i always have to look that up
15:40.36 ``Erik I have a gut feeling that a##b is concat and #a is 'as string'
15:40.44 mafm hmm
15:41.46 mafm I think that I'll just do it by hand, they're few and it's more flexible this way :D
15:42.03 ``Erik sadly, my answer it to look up http://sourceforge.net/tracker/index.php?func=detail&aid=933411&group_id=28255&atid=392815
15:42.04 ``Erik :(
15:43.04 ``Erik a#b, ##a.
15:43.18 ``Erik awz wrong
15:43.20 ``Erik I admit it
15:43.31 mafm :D
15:43.34 mafm thank you
15:44.06 mafm but in the end I think that setting it by hand it's a bit better in this case
15:44.11 ``Erik C "macros" are horrible to start with, look at lithp and thcheme for the real deal
15:44.12 ``Erik ok
15:45.10 ``Erik wait, what? a video game based on, uh, what, larry the cable guy, as a military unit? O.O
15:49.10 mafm it was not a macro per se... it's only to translate the log levels to string, when composing the message
15:51.03 *** join/#brlcad andre|away__ (n=chatzill@189.71.10.209)
15:52.21 ``Erik moin, andre
15:53.06 mafm hi andre|away
15:53.23 mafm hmm, is using va_list and the like fair game?
15:58.19 ``Erik we have several apps that do
15:58.41 ``Erik grep it up, yo
16:18.28 mafm do you think that it's ok to put a char buffer[] as file-global variable? it doesn't look very elegant to me
16:20.54 ``Erik um, "it depends"
16:21.15 ``Erik are you questioning an exiting piece of software, or contemplating your next move?
16:21.25 mafm next
16:21.28 mafm let me explain
16:22.13 mafm basically, instead of making folks to format their messages, and having to write "Logger.log(Logger::FATAL, msgString);"
16:22.27 mafm preformatting the string with sstream, or vprintf or the like
16:22.56 mafm I think that it's more convenient to do: Logger.logFATAL("regular printf %s", "syntax");
16:22.58 ``Erik hrm, c++ allows, um, a default in a, uh, what do they call it, uh, member?
16:23.10 ``Erik that can be overridden?
16:23.26 mafm yes
16:23.44 ``Erik new Logger(fmt="%s is busted, yo"); or something?
16:24.15 ``Erik so instead of a global, have a default in your logger object?
16:24.22 mafm the thing is that, I do the vprintf parsing in those functions, and then I hand the fixed message string to log(), to do the rest of the process (adding timestamp, print to stderr/syslog/whatever)
16:24.25 ``Erik is that going to be a singleton "pattern"?
16:24.51 mafm same concept, but I eliminated the singleton for verbosity :D
16:25.19 ``Erik "eliminated the singleton for verbosity"... I don't understand
16:25.27 mafm hmm, I don't know if it's better to be elegant or succint in something used like this
16:25.30 ``Erik you have multiple logger instances writing to the same file?
16:25.55 mafm singleton would be: Logger::instance().log(Logger::DEBUG, "message");
16:26.11 mafm this one is only one instance, because methods are static
16:26.16 ``Erik well, a singleton CAn be l = new Logger();
16:26.45 ``Erik and the constructor figures out to reference a static existing thingie and just return it, or create new shizzlenitz, iirc
16:27.13 ``Erik hasn't done c++ in quite a while, and views the notion of a "design pattern" as a failure in the language
16:28.25 mafm hmm, well.. that's another possibility, but it's more or less the same, and you have to create the object before using it :D
16:29.13 mafm so in the way that I'm creating it, it's just the most similar way to a printf -- which is good when you have to type it a lot of times, I think
16:29.48 mafm hmm, it's already working, maybe I should post it so you can see it, istead of explaining it
16:33.05 ``Erik the typical singleton pattern has an object created once, and a method that says "does it exist? yes? pass it, otherwise, create and pass"
16:33.21 ``Erik so the second consumer gets a reference to the original instance
16:37.37 ``Erik has always wanted a pilot license
16:40.14 mafm I'm about to post it
16:40.20 mafm post/commit :)
16:42.01 CIA-22 BRL-CAD: 03mafm * r31397 10/rt^3/trunk/src/g3d/ (5 files): Adding @author keywork for Doxygen documentation, so anybody can easily find out who is to blame.
16:42.46 *** join/#brlcad Elperion (n=Bary@p5B14F5DB.dip.t-dialin.net)
16:42.59 ``Erik hm, in zomfg brlcad/, we've moved all authors out of files and into /AUTHORS, depending on the commit record for blame
16:44.42 CIA-22 BRL-CAD: 03mafm * r31398 10/rt^3/trunk/src/g3d/ (Logger.cxx Logger.h): Adding Logging facilities
16:45.48 mafm there it is
16:47.02 mafm http://brlcad.svn.sourceforge.net/viewvc/brlcad/rt^3/trunk/src/g3d/Logger.cxx?view=markup&pathrev=31398
16:47.08 mafm http://brlcad.svn.sourceforge.net/viewvc/brlcad/rt^3/trunk/src/g3d/Logger.h?view=markup&pathrev=31398
16:50.22 mafm so what do you think, ``Erik?
16:52.35 ``Erik hrm
16:52.39 ``Erik strftime is expensive
16:53.24 ``Erik static char in log() is not reentrant, so you could get "odd results" in parallel ops
16:53.50 mafm example msg: 20080614_17:52:50 :: INFO :: Application starting
16:53.51 ``Erik I d'no how efficient String += is
16:54.02 ``Erik snprintf might be cheaper/easier
16:55.10 mafm is there an alternative to strftime?
16:55.25 ``Erik no
16:55.40 ``Erik either don't mkae it static (so it uses pre-threat memory), or wrap it in a semaphore or something
16:56.02 ``Erik per-thread, even
16:56.03 ``Erik heh
16:56.44 mafm yeah, non-static is fine
16:56.55 mafm allocating in stack is cheap, anyway
16:58.12 mafm hmm... maybe I should take advantage of strftime to format the full log message
17:00.22 mafm no way, only time-related markup allowed
17:11.17 mafm ``Erik: but you think that it's better in this way, or with the Singleton?
17:47.59 *** join/#brlcad andre|away__ (n=chatzill@189.71.10.209)
17:49.23 *** join/#brlcad andre|away__ (n=chatzill@189.71.10.209)
17:50.58 *** join/#brlcad andre|away__ (n=chatzill@189.71.10.209)
18:17.38 *** join/#brlcad dtidrow_ (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net)
18:43.14 brlcad mafm: either static or singleton should be fine (for this, for now)
18:43.40 brlcad the point yesterday was actually to keep it intentionally/exceptionally "thin" for the time being since the requirements are utterly minimal
18:44.22 mafm well, did you see the code? good enough?
18:44.27 brlcad so you don't spend even a couple hours working on logging when there are some unified longer-term plans in that area ;)
18:44.34 brlcad yeah, it looks good enough
18:44.47 brlcad there are a few problem areas, but they can be tackled later
18:44.54 brlcad the class should be moved to the utility library
18:45.06 mafm I already fixed the non-reentrant area
18:45.11 mafm uh
18:45.21 brlcad anything generic like that should be in Utility
18:45.45 mafm well, I'm putting everything in the same place at the moment, I still didn't grasp the whole rt^3 masterplan :)
18:46.16 brlcad that much was evident, hence why I mention it :)
18:46.46 brlcad from your perspective, it's just a matter of putting the generic functionality into a different dir
18:46.52 mafm where should I put the data, btw?
18:47.05 brlcad like resource files?
18:47.10 mafm yep
18:47.14 mafm misc/g3d/data?
18:47.42 brlcad make a new top-level dir, data/g3d
18:48.18 mafm oki
18:48.20 brlcad misc is a kitchen sink for script utilities and helper tools
18:48.22 mafm hmm
18:48.27 brlcad snippets
18:49.12 mafm I think that I'm accumulating things in my dir, but that's to keep the makefile simple... maybe it's time to prepare it to build before going farther
18:52.08 brlcad yeah, getting to more easily buildable state would be a good thing
18:53.29 brlcad the longer that languishes, the more of a pain it'll be .. same as with organizaing into bundles of functionality into the lib dirs
18:54.48 brlcad it's not so much as to follow any semblance of a masterplan for what's already there as the intent is to keep things organized from the start into reusable classes to prevent application logic from leaking into what should otherwise be generalized functionality
18:55.25 brlcad mafm: how have you been building so far? a custom makefile?
18:55.42 mafm yep
18:55.50 mafm there are 3 classes... :D
18:56.52 brlcad and you pre-compiled/installed the three dependencies independently?
18:57.07 brlcad so you're just using -logre -lrbgui etc?
18:57.29 brlcad plus a few other include/linker flags
18:59.16 mafm more or less, yes (but with pkg-config)
18:59.44 brlcad ok, cool
19:00.45 mafm I think that cmake has direct support for it
19:02.25 brlcad pacman87: you should add a NEWS entry for your ehy bug fix
19:03.03 brlcad mafm: have you ever used cmake before?
19:03.33 brlcad since this is starting from scratch for the most part, cmake could very well be used
19:04.15 mafm only for very basic things, but yes... it could be an experiment
19:04.24 mafm Aqsis used it, in example
19:05.22 brlcad I know of tons of projects that use it, it'd be perfectly viable for this if you want to set it up
19:06.16 brlcad the only reason we don't use it (yet) for the main brl-cad code is because we have a rather large and complex build system, it'd take months to fully replace the functionality we have at very minimal benefit
19:06.36 brlcad for something new though, a lot more sense
19:06.54 mafm fine :)
19:06.55 brlcad i'm fine with autotools too, that easily the more well known approach
19:07.21 brlcad so whatever suits you, but it should be early on if you do want to do that, not later
19:07.54 brlcad and it should parallel the options configure provides
19:11.34 mafm I'll try to look into it either tomorrow or monday
19:11.48 mafm before going on with other ideas
19:11.59 brlcad okay, then I won't spend half the weekend working on dependency integration :)
19:34.26 CIA-22 BRL-CAD: 03mafm * r31399 10/rt^3/trunk/src/g3d/ (Logger.cxx Logger.h):
19:34.26 CIA-22 BRL-CAD: Adding GCC __attribute__ when available, to check for ill-formed string formats,
19:34.26 CIA-22 BRL-CAD: missing arguments and the like -- avoids one class of segfaults, and in general
19:34.26 CIA-22 BRL-CAD: helps a lot. Also improved a bit the way to generate the final string.
19:36.09 CIA-22 BRL-CAD: 03mafm * r31400 10/rt^3/trunk/src/g3d/ (Application.cxx GuiConsole.cxx): Make use of the new logging facilities in a couple of places, mainly for testing it.
19:37.28 CIA-22 BRL-CAD: 03mafm * r31401 10/rt^3/trunk/src/data/ (. g3d/): Adding new directory for data files of applications, in particular g3d
19:41.43 mafm well folks, see you tomorrow or on monday -- maybe tomorrow I'll get a rest :)
19:41.47 mafm see you
19:41.55 brlcad see ya!
21:15.25 *** join/#brlcad clock_ (n=clock@77-56-90-104.dclient.hispeed.ch)
22:49.17 ``Erik also; an automake approach requires no special crud for a packager or end user (who compiles) to think about, cmake DOES
23:31.56 *** join/#brlcad punkrockgirl (n=Pandora@c-69-243-244-154.hsd1.mo.comcast.net)

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