irclog2html for #picogui on 20030331

00:00.03*** join/#picogui gonkulator (~brandon@h-66-167-168-33.DNVTCO56.covad.net)
00:32.40*** join/#picogui kidder (~s@24.65.171.188)
01:11.57*** join/#picogui zak (~noname@aden2-35-dhcp.resnet.Colorado.EDU)
03:18.11*** join/#picogui Soopaman (~soopaman@h24-66-55-163.wp.shawcable.net)
04:02.20njs~seen scanline
04:02.24scanline <micah@aden2-42-dhcp.resnet.Colorado.EDU> was last seen on IRC in channel #picogui, 2d 13h 36m 57s ago, saying: 'ttyl lalo :)'.
04:03.06gonkulatorPicoBot: seen scanline
04:03.06PicoBotscanline was last seen on #tacobeam 4 hours, 42 minutes and 33 seconds ago, saying: bbl [Sun Mar 30 10:33:14 2003]
04:03.22njsah, good point.
05:11.17*** join/#picogui Xentac (~jchu@amga45cyy30x9.bc.hsia.telus.net)
05:11.28XentacAden?
07:39.01*** join/#picogui scanline (micah@aden2-42-dhcp.resnet.Colorado.EDU)
07:44.46*** join/#picogui scanline (micah@aden2-42-dhcp.resnet.Colorado.EDU)
08:51.54*** join/#picogui Talez (~talez@talez.arach.net.au)
09:17.57njsscanline: I did some fiddling with C++-without-libstdc++ tonight.  The summary is, it's possible with a bit of work, and the resulting C++ overhead may be quite low.  The grisly details (notes for myself) are at http://fresco.org/~njs/c++-without-stdc++ .
09:43.19*** join/#picogui scanline (micah@aden2-42-dhcp.resnet.Colorado.EDU) [NETSPLIT VICTIM]
09:43.19*** join/#picogui Soopaman (~soopaman@h24-66-55-163.wp.shawcable.net) [NETSPLIT VICTIM]
09:43.19*** join/#picogui file (file@mctn1-7186.nb.aliant.net) [NETSPLIT VICTIM]
09:43.37*** join/#picogui Dire (~Admin@100.8.33.65.cfl.rr.com) [NETSPLIT VICTIM]
09:44.11*** join/#picogui Talez (~talez@talez.arach.net.au) [NETSPLIT VICTIM]
09:44.11*** join/#picogui darth_mall (~silme@12-211-244-177.client.attbi.com) [NETSPLIT VICTIM]
09:44.11*** join/#picogui lurgyman (~lurgyman@aden2-123-dhcp.resnet.Colorado.EDU) [NETSPLIT VICTIM]
09:44.11*** join/#picogui captain_proton (~jupiter@aden2-23-dhcp.resnet.Colorado.EDU) [NETSPLIT VICTIM]
09:44.11*** join/#picogui prot-home-sleep (~jupiter@aden2-23-dhcp.resnet.Colorado.EDU) [NETSPLIT VICTIM]
09:44.12*** join/#picogui PicoBot (~PicoBot@ivan.client.mscd.edu)
09:44.12*** join/#picogui jojo (jojo@infidyne.com) [NETSPLIT VICTIM]
12:37.41*** join/#picogui Dentoid (Dentoid@TP5022-08.itn.liu.se)
12:37.45Dentoidscanline, are you there?
12:38.28Dentoidcaptain_proton, or you?
12:38.29Dentoid:)
13:23.50lalothere is a new release of SCons
14:13.18*** join/#picogui gonkulator (~brandon@h-66-167-168-33.DNVTCO56.covad.net)
14:13.49*** join/#picogui gonkey{iBook} (~brandon@h-66-167-168-33.DNVTCO56.covad.net)
15:13.44*** join/#picogui prpplague (~JoeBob1@12.148.134.9)
15:24.56*** join/#picogui bigthor (~bigthor@80.Red-80-32-133.pooles.rima-tde.net)
15:25.07bigthorhi
15:42.05*** join/#picogui zak (~noname@aden2-35-dhcp.resnet.Colorado.EDU)
15:45.37*** join/#picogui Dentoid (dento_3000@h242n1fls35o814.telia.com)
16:08.59Xentachey kergoth
16:09.09kergothhey
16:09.35Xentacdo you ever plan on using the openzaurus-announce list anymore? ;)
16:09.44kergothI always forget it exists
16:09.45kergoth:)
16:09.49Xentachehehe
16:10.10Xentacjust curious, cause I was tired of all the crap on the -users list... so I decided to unsubscribe
16:12.04kergothyeah, its all end user blabber for the most part
16:12.11Xentacexactly
16:12.25XentacI find myself smacking my forehead all too often
16:12.37Xentacand keeping up with the traffic on that list is annoying
16:13.05Xentacbut that means I also miss all the tips about problems that other people have already run in to
16:13.05kergothyou try out 3.2 yet? the user response on it is better than the response on any release to date
16:13.23Xentacnot yet... I was waiting for any major problems
16:13.45XentacI'll probably switch over sometime after this week
16:13.54Xentacthis is the last week of classes... and I have 4 things due on friday
16:14.56kergothfrom what i can tell, there arent any (major problems that is)
16:15.09kergothcouple minor ones, most of which are already fixed in cvs and/or bk
16:15.34Xentacnot saying I don't trust you or anything... but I'm still a little wary... I remember last time I tried to do an upgrade right away
16:15.53Xentacit was the dreaded, "ok, no one update from the feeds for a while", time
16:16.30kergothahh yeah
16:16.35kergothunstable can be.. unstable
16:16.45Xentacyup
16:17.10Xentacbut apart from school taking up my time right now, I'm so going to upgrade to 3.2
16:17.37Xentacit'll probably be a clean new install... which means that I have to seperate everything the way I liked it again
16:17.59kergothflashing is recommended. i cant guarantee the sanity of the ipkg upgrade path due to ipkg brokenness
16:18.08Xentacyeah, that's what I read
16:18.17XentacI don't mind that... my zaurus needs cleaning up anyway ;o)
16:18.32kergothheheh
16:22.12Xentackergoth: I know you probably hear this a lot, but thanks a lot for your work on OZ... I know you're probably stressed out about it quite a bit, but I for one, appreciate it
16:23.26*** join/#picogui merlin262 (~andrew@utdgw5-2.utdallas.edu)
17:07.57*** join/#picogui gonk{work} (~Pineapple@ivan.client.mscd.edu)
17:16.21*** join/#picogui gonkulator (~brandon@Metro0276.client.mscd.edu)
17:21.28*** join/#picogui Tomun (~alan@whalefood.demon.co.uk)
17:36.46*** part/#picogui Tomun (~alan@whalefood.demon.co.uk)
18:00.08*** join/#picogui Oktal (~mat@pc1-rdng3-5-cust199.winn.cable.ntl.com)
18:45.43*** join/#picogui DevGirl (maisa@200.203.12.232)
18:52.24*** join/#picogui DevGirl (maisa@200.203.12.232)
19:10.20*** join/#picogui gonkulator (~brandon@Metro0276.client.mscd.edu)
19:12.12gonkulatorzak: hi
19:24.28gonkulatorhi zak
19:25.09gonkulatorhi DevGirl
19:27.00zakhi gonkulator
19:27.10gonkulatorhi zak
19:27.40zakhi gonk{work}
19:30.21gonkulatorthere, now all of scanline's tabs are blue :)
19:31.04zaknow if only he'd wake up
19:31.43gonkulatoryeah
19:31.52gonkulatorthen he will be really frustrated with me...
19:32.14zaklol
19:32.32gonkulatoroh well
19:32.36gonkulatorI'll lie low for a while
19:33.04gonkulatorhowdy prpplague
19:46.49prpplaguegonkulator: howdy
19:57.48*** join/#picogui file (file@mctn1-6782.nb.aliant.net)
20:45.24*** join/#picogui Oktal (~mat@pc1-rdng3-5-cust199.winn.cable.ntl.com)
21:26.29lalohi scanline
21:26.38scanlinehi lalo
21:27.07lalothe idea of using C++ as "C with Exceptions" is interesting
21:27.22lalohow much would that hinder people wanting to use other languages?
21:27.48scanlinewell, we'd have to make all functions that we'd want to be usable from other languages declared as 'extern "C"'
21:28.17laloand not use exceptions? that would make the point quite moot
21:28.18scanlineI'm not sure what happens if for example an exception is thrown in an extern "C" function though
21:28.41captain_protonprobably bad things
21:29.05scanlineThe main thing that was keeping me from considering C++ is the size, but most of that comes from libstdc++... and njs experimented with compiling C++ without that
21:30.40scanlineC++ inlines could also be handy as a replacement for macros
21:30.58laloinlines are cool.
21:31.06scanlineespecially for things like the reconfigurable vector math... we'd usually want that to be inlined, but to save space it could be disabled
21:31.34captain_protoninlined vector stuff can't compete with template expressions though
21:31.37lalovector math?
21:32.23scanlinelalo: pg2 should formalize all the coordinate and rectangle math into something based on vectors, so it's easy to switch from 2D to 3D and from int to float at compile time
21:34.15lalobut that won't be done by libOm... and the point is that individual Om "methods" can be written in either C or C++
21:34.30laloso the methods that do this can go C++
21:34.44scanlineerr, nods
21:35.12lalodunno, C++ sounds... redundant :-P
21:35.25laloif we could use exceptions, that would be cool
21:35.35scanlineyeah, mainly depends on exceptions
21:35.37lalobut it looks like we can't
21:36.03laloOTOH
21:36.36scanlinehmm
21:36.41scanlineinteresting
21:36.42laloyou could claim Om is a "protocol" (or a set of conventions) and easily write a libOm++
21:36.46lalowhat happens?
21:37.03scanlineI compiled the C++ function with g++ and the C main() with gcc
21:37.17scanlinethen I tried using gcc to link them, but it couldn't find a few symbols
21:37.29scanline__cxa_allocate_exception, __cxa_throw, and __gxx_personality_v0
21:37.45kergothgcc3?
21:37.51scanlineso I try with C++, and I get "Aborted", which is what should happen in the case of an unhandled exception
21:37.51laloI suppose you have to link them with g++
21:38.03scanlinekergoth: 3.2.2
21:38.09kergothscanline: -lsupc++
21:38.17scanlineah
21:38.23kergothunless you're using stdc++ stuff, in which case -lstdc++
21:38.24scanlineright, njs mentioned that in his little document
21:38.27kergoth:)
21:38.30lalothere is probably a way to catch exceptions with C, but it's probably compiler-dependent
21:38.46scanlinehmm
21:38.52scanlinelalo: yeah
21:38.54scanlinelalo: or...
21:39.23scanlinelalo: how about libOm is in C++, and can either catch C++ exceptions or exceptions triggered through some C-friendly way?
21:39.54scanlinestill redundancy...
21:39.55lalothat would miss the point of making it easier to write.
21:40.00scanlineyeah
21:40.15lalothis time I go with RMS... let's use C, we already know it
21:40.39scanlineC is good.. but it's good to explore other options
21:40.54scanlinesuppose we should think about how to actually handle exceptions in C
21:41.01laloyes
21:41.05laloit's an open issue
21:41.11scanlineit would be nice to have something cleaner than what pg1 uses, and that would provide stack backtraces
21:41.32scanlinethe error tracing that can be optionally built into errorcheck; sorta-kinda does a backtrace
21:41.44laloI thought I would study what Python uses, but what Python uses doesn't trace into C
21:41.45scanlinebut not in a way that's really usable
21:42.27scanlineAFAIK python sets the exception in a global variable, then returns NULL or some other error code that the caller has to check for
21:42.41scanlineI'd really like to either avoid or automate anything the caller has to do
21:43.46scanlineand then there's the whole issue of how to clean up properly when an exception is thrown...
21:43.53laloI think I scratched on a good model - if the function returns anything, it's an exception, and real return values are in out arguments
21:43.59scanlinethe errorcheck; stuff didn't handle that, so you'd have to write something custom to clean up
21:44.14lalobecause from using python I discovered sometimes a function wants to return more than one value
21:44.29lalobut of course exeptions shouldn't be strings
21:44.48scanlineI think exceptions should be Om objects
21:44.54scanlinethey'll need network transparency
21:45.22laloyes, that's what sounds right
21:46.48scanlineso you could have a convention of returning NULL for success, and some sort of exception object otherwise- and the caller would be responsible for cleaning up in the case of an exception, and tagging the exception with a signature for that function so we can backtrace                                                                        
21:47.13scanlineeasiest way to automate that would probably be a macro you wrap function calls in
21:47.51laloperhaps more than one macro
21:48.16lalofor the common case where you don't want to catch any exceptions, use a macro that does something like
21:48.43laloe = call_func(); if (e) {e.tag(); return e}
21:49.04lalo(pardon my programmatic license in pretending e has methods)
21:49.19scanlinenp :
21:49.20scanline:)
21:49.54scanlineso then you'd also want one that doesn't return from the calling function, just tags the exception and returns it from the macro
21:50.05laloyes
21:50.25scanlineyou could use that to do all cleanup manually, or to catch the exception
21:50.59scanlineit would work... but pretty messy compared to C++'s exceptions and destructors
21:51.27laloif exceptions are nicely self_contained, cleanup could be pretty much reduced to freeing the exception object
21:52.33scanlineI'm mainly concerned about, for example, exceptions thrown in a function after that function allocates memory but before it puts that memory somewhere it can be referenced
21:53.05lalohmm
21:53.24laloyes
21:53.39lalomy experience in C is not big enough to see a way out of this
21:54.21scanlineC++ can clean up statically allocated objects automatically, and you can use try{}finally to clean up the rest
21:54.31scanlineit's still something you have to worry about whether in C or C++
21:56.03laloactually
21:56.59lalothe only place this is a problem is in a macro that possibly automatically-returns in case of error
21:57.18laloIMHO the "C Way" would be to dictate you can't use this macro if you have data that must be freed
21:57.51laloin the function that *raises* the exception, np, you can free before raising
21:57.57laloyou probably already have an if anyway
21:58.05scanlineso this would be pretty much how pg1 handles exceptions, but the exceptions would be full objects rather than just ints, and they could be tagged to provide backtraces
21:58.45lalowell
21:59.06lalobefore I dragged you in, I was already planning to draw inspiration for Om from pg1 ;-)
21:59.23scanlinehehe
21:59.28laloit's a quite clean pseudo-object-model without the bloat of glib's
21:59.38scanlineit's annoying to have to use a macro for every call, but I don't think there's any way around that in C
21:59.56scanlineyou mean the object model thingy pg1 uses for widgets?
22:00.03laloyes
22:00.14scanlinepg1 has completely separate object models for widgets, video drivers, and input drivers :-/
22:01.09scanlineeep, I need to get to class
22:01.09scanlinebbl
22:02.13lalocya
22:39.15kergothmondays suck!!!@!#%#^!
22:39.38gonkulatorkergoth: whats going wrong for you?
22:40.07kergothmachines failing for no apparent reason
22:40.10kergothflashed my c700 with a 5500 rom
22:40.26kergothc700 fails to start opie, instead hangs the unit
22:40.29kergothspilled coffee on my desk
22:40.33kergothheadache
22:40.48gonkulatordamn
22:41.34kergothare you winning?
22:41.59gonkulatornot yet...
22:42.22gonkulatorsoon I hope
22:57.06scanlinelalo: here's another option -> http://www.halfbakery.com/idea/C_20exception_20handling_20macros
22:58.11scanlinehttp://users.footprints.net/~kaz/kazlib.html
22:58.41captain_protonscanline: you need to come retrieve these brownies
22:58.46scanlineahh
22:58.51scanlineright now?
22:59.00captain_protonyes
22:59.02captain_protonright now
22:59.07scanlinemmkay
23:00.37lalowhat is halfbakery.com?
23:00.59scanlinesomething that came up when googleing?
23:02.29scanlinelooks like they use setjmp/longjmp and a stack
23:03.04laloO.O
23:03.13scanlinehttp://users.footprints.net/~kaz/kazlib_doc/node186.html
23:03.58scanlineKazlib also has a cute-looking dictionary component
23:06.12laloeep
23:06.27lalosomething allocated too much memory and locked my machine
23:06.40scanlinekillall -9 mozilla-bin
23:06.41scanline:)
23:06.46lalohehehe
23:08.49lalospecially if we hope to have backtraces
23:21.11scanlinelalo: just posted a sumamry of this exception stuff to pgui-devel
23:21.24scanlineslow mailing list server...
23:22.45laloit's sf ;-)
23:23.54scanlineah, there it is
23:45.48*** join/#picogui njs` (~njs@vindaloo.ICSI.Berkeley.EDU)

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net! Modified by Tim Riker to work with blootbot logs, split per channel, etc.