00:00.17 |
Notify |
03BRL-CAD:ejno * 62370
brlcad/branches/bullet/src/libged/CMakeLists.txt: remove the
simulate/refactoring subdirectory |
00:18.45 |
Notify |
03BRL-CAD:ejno * 62371
brlcad/branches/bullet/src/libtclcad/tclcad_obj.c: fix assignment
outside of array bounds |
00:24.21 |
Notify |
03BRL-CAD:starseeker * 62372
(brlcad/trunk/src/other/poly2tri/poly2tri/common/shapes.cc
brlcad/trunk/src/other/poly2tri/poly2tri/common/shapes.h and 3
others): I suspect there is more to do here to properly propagate
return codes up the call stack, but get a start on removing code
from poly2tri that will exit on failure. As a library, poly2tri
shouldn't be deciding to quite - that's up to the parent
application. |
00:48.36 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
01:20.09 |
Notify |
03BRL-CAD:ejno * 62373
(brlcad/trunk/src/libtclcad/tclcad_eval.c
brlcad/trunk/src/libtclcad/tclcad_obj.c
brlcad/trunk/src/libtclcad/tclcad_private.h): make
tclcad_eval_var() non-variadic; vls has a nicer syntax but it isn't
type-safe |
01:35.39 |
Notify |
03BRL-CAD:starseeker * 62374
(brlcad/trunk/src/other/poly2tri/poly2tri/common/shapes.cc
brlcad/trunk/src/other/poly2tri/poly2tri/common/shapes.h and 6
others): Start shifting towards using pointers... will most likely
need to handle null cases if we're not going to quite
mid-process. |
01:49.15 |
Notify |
03BRL-CAD:ejno * 62375
(brlcad/trunk/src/libtclcad/cmdhist_obj.c
brlcad/trunk/src/libtclcad/tclcad.c and 4 others): revert some of
r62358 (work on escaping tcl commands) |
02:55.05 |
brlcad |
starseeker: interesting change .. what's the
shift towards using pointers for? |
02:55.57 |
andrei__ |
brlcad: I'll send an email related to
geometric kernel and what I can do from now on these days, I've
been busy writing my thesis |
03:16.10 |
brlcad |
andrei__: thanks -- a brief summary of your
overall gsoc accomplish, particularly for this second half, would
be greatly appreciated |
03:18.18 |
andrei__ |
brlcad: that I can do, probably even today.
Where should I put it, tho? |
03:18.28 |
andrei__ |
is brlcad wiki ok? |
03:19.07 |
brlcad |
a summary on/near your log or on your project
page, yeah that works |
03:19.30 |
brlcad |
to persist that information |
03:19.38 |
brlcad |
but a couple paragraphs to the mailing list
would be good too for the immediate audiences |
03:41.08 |
mihaineacsu |
I'm working on binary attributes and something
doesn't add up here http://goo.gl/lQiGhV . This is from
db5_export_attributes and I get it that it's trying to follow the
format aname1 NULL value1 NULL but it seems the name's null padding
is placed a byte too far and it's written over anyways by the value
string. |
04:01.21 |
brlcad |
hi mihaineacsu |
04:01.30 |
mihaineacsu |
hi brlcad! |
04:02.15 |
brlcad |
the snippet you show looks right to
me |
04:03.26 |
brlcad |
len in the number of chars (without a nul
byte), so cp should go to len+1 for writing the nul byte |
04:03.40 |
mihaineacsu |
yeah, agreed |
04:03.48 |
brlcad |
the format is "key\0value\0"0 |
04:03.56 |
brlcad |
oops, "key\0value\0" |
04:04.22 |
brlcad |
(note NULL is not technically the same as a
nul byte or |
04:04.26 |
brlcad |
\0 |
04:06.13 |
mihaineacsu |
uhhm, but isn't the second peformed memcpy
writing over the '\0' ? |
04:09.19 |
mihaineacsu |
I was thinking the right way is cp += len; *cp
= '\0'; ++cp; and now write the value |
04:11.18 |
*** join/#brlcad Zhao_Anqing
(~clouddrif@183.157.160.21) |
04:16.41 |
mihaineacsu |
brlcad: correct me if I'm wrong |
04:31.05 |
*** join/#brlcad Zhao_Anqing
(~clouddrif@183.157.160.21) |
04:32.44 |
brlcad |
mihaineacsu: you might not be wrong, that's
not very old code and any issue would be fully masked with
zero-initialized data (which it is almost certainly
using) |
04:33.08 |
brlcad |
did you try running in a debugger or adding a
print statement to confirm/check? |
04:34.27 |
mihaineacsu |
I haven't, I'm rewritting binary attributes,
it was crashing after a series of import/exports so I'm guessing I
messed up the format somewhere |
04:34.30 |
brlcad |
also, though, would need to check our v5 spec
if that's the file i/O layer reading from the on-disk memory
buffer |
04:37.15 |
mihaineacsu |
that's the file indeed. I've lost count how
many times I've checked the spec file. I'm following Tom's proposal
notes |
04:41.34 |
mihaineacsu |
by "rewritting binary attributes", I mean I
reverted the changes I made and started over again; print
statements pointed it crashes after a series of import/exports
(after creating a material object with float density and listing it
with 'l') |
04:41.35 |
brlcad |
it does indeed look like it's going too far,
so just have to confirm in a debugger and check what the spec
says |
04:49.54 |
brlcad |
mihaineacsu: so looking back through that code
snippet's history, I see where it went wrong |
04:50.16 |
mihaineacsu |
forgot to run blame |
04:51.58 |
brlcad |
code was converted from bcopy to memset, and
in the process the +1 was distributed |
04:52.22 |
brlcad |
basicaly, it should be len = strlen() +
1; |
04:52.50 |
brlcad |
so it memsets the nul byte, increments past
the nul for the value |
04:53.13 |
*** join/#brlcad vladbogo
(~vlad@86.121.96.194) |
04:54.13 |
brlcad |
the code is actually just getting lucky ..
results in the same byte pattern one wants, but only because the cp
buf starts out as all zero's |
04:54.14 |
mihaineacsu |
yeah, I mean it couldn't have worked if it
hadn't operated on previously zero-initialized data |
04:54.24 |
mihaineacsu |
exactly |
04:54.55 |
brlcad |
so name is "key" and len is 3 and cp buf is
"key\0\\0\0\0\0\0... |
04:55.42 |
mihaineacsu |
right |
04:56.28 |
brlcad |
rather, [k][e][y][\0][\0] .. cp is updated to
point to that 5th slot, sets it to nul, and then immediately
overwrites the nul with value and another double-nul |
04:57.29 |
mihaineacsu |
yeah, I was nitpicking because I thought I'm
not following the format right |
04:57.32 |
brlcad |
so both the old and the new end up with
[k][e][y][\0][v][a][l][\0][\0][...] |
04:57.43 |
brlcad |
well, that's worth checking :) |
04:58.33 |
brlcad |
but just looking through the history itself,
there's no mention and that would be somewhat unusual |
04:58.41 |
brlcad |
good catch |
04:58.53 |
brlcad |
going to fix it? that's make a fine isolated
patch |
04:59.09 |
mihaineacsu |
yeah, it's part of the binary
attributes |
04:59.39 |
brlcad |
I mean not connected to any other changes, the
code is (presumably) wrong on trunk sources |
05:00.07 |
brlcad |
patches ideally change one and only one thing
when they have to be manually applied |
05:00.08 |
mihaineacsu |
aah, okay, I'll submit a separate patch for
it |
05:00.38 |
mihaineacsu |
what about features? |
05:00.48 |
brlcad |
patches are so you can get commit, which is
frankly more important than your entire project ;) |
05:00.53 |
Notify |
03BRL-CAD Wiki:Madcoder3753 * 0
/wiki/User:Madcoder3753: |
05:01.04 |
brlcad |
what about features? |
05:01.50 |
mihaineacsu |
well, I realize the patch for material objects
is a pain to go through because it's over a thousand
lines |
05:02.13 |
mihaineacsu |
should it be submitted differently? |
05:02.18 |
brlcad |
indeed |
05:03.32 |
brlcad |
so this is really a community devmanship
issue |
05:03.40 |
brlcad |
we don't want you submitting patches |
05:03.44 |
brlcad |
you don't want to submit patches |
05:03.55 |
brlcad |
they're tiresome and exhausting to
review |
05:04.28 |
brlcad |
and not an effective way to share code over a
long period of time (repeatedly to the level of granularity we like
to speak) |
05:04.45 |
brlcad |
we require patches to ensure adherence to our
dev principles |
05:05.13 |
brlcad |
so patches should be short, sweet, and simple
-- easy to review -- and most of all PERFECT |
05:06.30 |
brlcad |
new devs have to have a couple perfect patches
before they're granted commit, but then they do usually get that
right/responsibility if they're interested in contributing or
working on a project |
05:06.35 |
brlcad |
anyone can do that |
05:07.15 |
brlcad |
the trick is what is meant by "perfect" ..
that means absolutely no issues that would incur time on another
dev to clean up after your patch is applied |
05:08.09 |
brlcad |
which can be egregious issues like the patch
not even compiling and blatant logic errors, or more subtle issues
like bad names or (most common) not following our code conventions
and/or style |
05:09.09 |
brlcad |
so yeah, find something really simple and
isolated to change (more than a few lines, the patch does still
have to be a meaningful and substantive improvement to code), and
submit that as a patch |
05:10.02 |
brlcad |
your big material patch shouldn't be submitted
differently unless there's one or two simple things in it that can
be broken out, reviewed independently as some small but real
improvement, and is ... flawless |
05:10.59 |
brlcad |
ideally, you'd hold off on that one until you
got commit access, then you'd proceed to turn that beast into
dozens of commits, commenting as you go along with log
messages |
05:11.05 |
brlcad |
make sense? |
05:11.17 |
mihaineacsu |
it makes perfect sense |
05:11.56 |
brlcad |
apologies if that wasn't clear .. HACKING
mentions these points in a variety of ways, but often what it
really means is lost on the reader |
05:12.14 |
mihaineacsu |
I'm more familiar with git and for me at least
it's a bit easier to track pull requests there |
05:12.30 |
brlcad |
we like LOTS and lots of small
commits |
05:12.40 |
brlcad |
so yeah, we want you working just like you
would with git |
05:13.30 |
brlcad |
just it's not your git repo, it's someone
else's .. so there are measures in place to make sure you aren't
disruptive |
05:14.31 |
mihaineacsu |
I'll finish the binary attributes and review
the material objects again this weekends. Do you think you can look
over them next week? |
05:14.49 |
brlcad |
so instead of you doing your own thing and
sending pulls, you're actually empowered to just make the changes
(effectively pulling them yourself into our main master) |
05:14.55 |
brlcad |
yep |
05:16.09 |
brlcad |
it forces communication and lets us ensure
adherence to our code standards (which are undeniably much higher
than most projects) |
05:17.13 |
brlcad |
have you worked with any centralized / master
repo before that you didn't own but you could directly pull /
commit into? |
05:17.27 |
mihaineacsu |
yes |
05:17.41 |
brlcad |
anything I might recognize? :) |
05:17.42 |
mihaineacsu |
but they were all git repos |
05:18.17 |
mihaineacsu |
it's not a public repo unfortunately, it was
for work |
05:18.44 |
brlcad |
git doesn't really change anything in this
regard (I can set up a centralized git repo just fine) |
05:18.52 |
mihaineacsu |
otherwise, just small projects, some I even
shared with andrei |
05:19.36 |
brlcad |
it's whether someone else is integrating your
work into a main branch or whether you are tightly having to
coordinate your activity with others (on that main
master) |
05:21.27 |
brlcad |
anyways, .. so yeah, lets get you going
quickly -- if/when you have a perfect patch ready to go, send me
the link |
05:22.29 |
brlcad |
being careful about following style is usually
the hardest for new devs not familiar with the myriad of possible
coding styles there are out there and how to adjust their dev
environment |
05:22.40 |
mihaineacsu |
ok, I'll look over ones I already submitted
and make sure they're presentable. |
05:23.01 |
brlcad |
we still use mixed tabs+spaces, which is
unusual |
05:23.55 |
mihaineacsu |
right |
05:23.58 |
brlcad |
yeah, see if there is *anything* about your
patch that can be improved without increasing the scope of what the
patch changes (better != doing more) |
05:25.02 |
brlcad |
proper braces, tabs, function names, var
names, no compile warnings, applies cleanly to trunk checkout,
nothing in the patch that is a temporary "work in progress" that
actually makes the code worse before it makes it better,e
tc |
05:27.43 |
brlcad |
if you see anything, I can almost guarantee
you that I'll see it too ... the trick is making it an unambiguous
improvement that is downright trivially easy to review and accept
(should be absolutely no reason to not accept it) |
05:27.56 |
brlcad |
and once you get to that point, you work on
making every commit just like that ;) |
05:33.56 |
mihaineacsu |
yep |
05:46.16 |
Notify |
03BRL-CAD:zhaoanqing * 62376
(brlcad/branches/nmgreorg/include/raytrace.h
brlcad/branches/nmgreorg/src/libged/bev.c and 16 others): change
the name of NMG functions in librt from nmg_XXX to
rt_nmg_XXX. |
05:53.32 |
*** join/#brlcad mihaineacsu_
(~mihaineac@92.85.193.65) |
07:07.39 |
Notify |
03BRL-CAD:zhaoanqing * 62377
(brlcad/branches/nmgreorg/src/adrt/load_g.c
brlcad/branches/nmgreorg/src/conv/dxf/g-dxf.c and 20 others):
update the calling of rt functions after change their name. program
is avaliable on Linux. |
07:11.30 |
*** join/#brlcad chick_
(~chick@41.205.22.96) |
07:13.00 |
*** join/#brlcad ries
(~ries@D979EA84.cm-3-2d.dynamic.ziggo.nl) |
07:40.05 |
*** join/#brlcad FreezingCold
(~FreezingC@135.0.41.14) |
07:51.46 |
*** join/#brlcad chick_
(~chick@41.205.22.96) |
08:41.34 |
*** join/#brlcad teepee-
(bc5c2133@gateway/web/freenode/ip.188.92.33.51) |
08:46.02 |
*** join/#brlcad Izakey
(~Isaac@195.24.220.134) |
09:57.06 |
*** join/#brlcad chick_
(~chick@41.205.22.96) |
10:09.05 |
*** join/#brlcad teepee-
(bc5c2133@gateway/web/freenode/ip.188.92.33.51) |
10:20.34 |
*** join/#brlcad teepee-
(bc5c2133@gateway/web/freenode/ip.188.92.33.51) |
10:48.12 |
starseeker |
brlcad: eventually, i'd like to push that
algorithm down into libbn |
10:51.25 |
starseeker |
(i.e., into C) |
10:52.10 |
starseeker |
I also have vague notions that pointer NULL
testing will be useful handling bad states, but we'll see |
10:53.45 |
starseeker |
doubt I'll end up with a libbn conversion at
the end of this particular push, but you never know - and even if I
don't hopefully the next stage in that direction will be easier
after this |
11:47.48 |
*** join/#brlcad Izakey
(~Isaac@195.24.220.16) |
12:00.39 |
*** join/#brlcad clock
(~clock@77-58-143-135.dclient.hispeed.ch) |
12:39.11 |
Notify |
03BRL-CAD:iiizzzaaakkk * 62378
brlcad/trunk/src/librt/primitives/hrt/hrt.c: rt_hrt_plot() function
to draw the wire frame of the heart |
12:41.34 |
*** join/#brlcad clock
(~clock@77-58-143-135.dclient.hispeed.ch) |
12:41.58 |
*** join/#brlcad Zhao_Anqing
(~clouddrif@183.157.160.21) |
12:43.38 |
Izakey |
brlcad, ``Erik, starseeker You can take a look
at some images of the heart's wire frame (rendered using mged)
http://brlcad.org/~Izak/Heart_Wireframe_right.png,
http://brlcad.org/~Izak/Heart_Wireframe_front.png
and http://brlcad.org/~Izak/Heart_Wireframe_Top.png |
13:13.49 |
``Erik |
nice, apple sandbox uses tinyscheme
http://reverse.put.as/wp-content/uploads/2011/06/The-Apple-Sandbox-BHDC2011-Paper.pdf |
13:23.02 |
Notify |
03BRL-CAD:starseeker * 62379
brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep.cc: Avoid
crashing if null points come back - this gets the 'bad' step import
of the neo1973 with the old step-g from a couple weeks ago
drawing. |
13:26.09 |
*** join/#brlcad teepee-
(bc5c2133@gateway/web/freenode/ip.188.92.33.51) |
13:31.24 |
Notify |
03BRL-CAD:starseeker * 62380
brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep.cc: More null
checks. |
13:52.28 |
Notify |
03BRL-CAD:starseeker * 62381
(brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep.cc
brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep.h and 2
others): Used Node pointers for some functions. |
14:18.00 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
14:18.09 |
Notify |
03BRL-CAD:starseeker * 62382
(brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep.cc
brlcad/trunk/src/other/poly2tri/poly2tri/sweep/sweep.h): ws, more
null checking |
14:21.23 |
*** join/#brlcad clock
(~clock@77-58-143-135.dclient.hispeed.ch) |
14:42.57 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |
15:00.05 |
*** join/#brlcad Izakey
(~Isaac@195.24.220.16) |
15:12.53 |
``Erik |
http://www.miaumiau.cat/2014/08/gpu-marching-cubes-in-webgl/ |
15:48.00 |
*** join/#brlcad teepee-
(bc5c2133@gateway/web/freenode/ip.188.92.33.51) |
15:53.51 |
*** join/#brlcad ashank
(~ashank@115.250.31.229) |
16:07.58 |
Notify |
03BRL-CAD:starseeker * 62383
(brlcad/trunk/src/other/poly2tri/README.md
brlcad/trunk/src/other/poly2tri.dist): Scrub unnecessary files out
of poly2tri. |
16:08.39 |
*** join/#brlcad chick_
(~chick@41.205.22.96) |
16:20.49 |
Notify |
03BRL-CAD Wiki:Shishir1972 * 0
/wiki/User:Shishir1972: |
16:22.32 |
*** join/#brlcad Izakey
(~Isaac@195.24.220.134) |
16:28.18 |
*** join/#brlcad ashank
(~ashank@115.250.31.229) |
16:39.10 |
*** join/#brlcad Ch3ck_
(~localhost@195.24.220.134) |
16:46.44 |
*** join/#brlcad vladbogo
(~vlad@86.124.248.31) |
18:01.17 |
Notify |
03BRL-CAD:carlmoore * 62384
brlcad/trunk/doc/docbook/system/man1/en/g-nmg.xml: remove some
underscores & a comma; more serious -- remove fake -(
item |
18:04.12 |
mihaineacsu |
http://www.cs.cmu.edu/~om3d/ |
18:12.13 |
Notify |
03BRL-CAD:carlmoore * 62385
(brlcad/trunk/doc/docbook/system/man1/en/g-obj.xml
brlcad/trunk/doc/docbook/system/man1/en/g-raw.xml): do what has
become my routine touching-up |
18:13.53 |
Notify |
03BRL-CAD:bob1961 * 62386
(brlcad/trunk/src/libfb/if_ogl.c brlcad/trunk/src/libfb/if_wgl.c):
Updates to libfb's ogl_clear(), ogl_refresh(), wgl_clear() and
wgl_refresh() that relate to being controlled externally. |
18:39.14 |
Notify |
03BRL-CAD:ejno * 62387
brlcad/branches/bullet/src/libged/CMakeLists.txt: revert
r62359 |
19:04.13 |
Izakey |
brlcad ``Erik Seen the images of the heart's
wire frame ? |
19:12.34 |
*** join/#brlcad clock
(~clock@77-58-143-135.dclient.hispeed.ch) |
20:02.49 |
*** join/#brlcad clock
(~clock@77-58-143-135.dclient.hispeed.ch) |
20:12.26 |
*** join/#brlcad FreezingCold
(~FreezingC@CPE602ad06bea2a-CM602ad06bea27.cpe.net.cable.rogers.com) |
20:29.50 |
Notify |
03BRL-CAD:carlmoore * 62388
(brlcad/trunk/doc/docbook/system/man1/en/g-shell-rect.xml
brlcad/trunk/doc/docbook/system/man1/en/g-step.xml and 2 others):
touchup; problem in that I could not completely eliminate the
indentation in the g-tankill EXAMPLE |
20:37.52 |
Notify |
03BRL-CAD:carlmoore * 62389
brlcad/trunk/doc/docbook/system/man1/en/g-var.xml: for g-var,
reduce use of boldface; do the routine underscore fix as
well |
21:21.09 |
Notify |
03BRL-CAD:carlmoore * 62390
(brlcad/trunk/doc/docbook/system/man1/en/g-vrml.xml
brlcad/trunk/doc/docbook/system/man1/en/g-x3d.xml and 5 others):
touchup |
21:37.12 |
*** join/#brlcad FreezingCold
(~FreezingC@CPE602ad06bea2a-CM602ad06bea27.cpe.net.cable.rogers.com) |
21:44.25 |
Notify |
03BRL-CAD:carlmoore * 62391
brlcad/trunk/doc/docbook/system/man1/en/gif-fb.xml: I do NOT use
boldface for the command name in an EXAMPLE |
21:46.55 |
*** join/#brlcad chick_
(~chick@41.205.22.96) |
22:27.09 |
*** join/#brlcad clock
(~clock@77-58-143-135.dclient.hispeed.ch) |
23:03.10 |
*** join/#brlcad kintel
(~kintel@unaffiliated/kintel) |