Index

Show enters and exits. Hide enters and exits.

00:00:05evanbrixen: git from git
00:00:10Defilersame here
00:00:11evanwhy? something not working?
00:00:26brixenhttp://pastie.org/243686
00:01:09evanoh
00:01:15evanyour branch isn't setup for tracking.
00:01:32evanone sec
00:01:42evani'll fix git-update to complain about that
00:02:03evanI should write a better branch wrapper too
00:03:25wmoxam leaves the room.
00:03:35evanok, pull
00:03:45evangit-update will now fail nicely and give you warning
00:03:52NoKarma leaves the room.
00:07:24brixenevan: http://github.com/evanphx/gx/tree/master/git-update.rb#L53
00:07:26brixennot set setup
00:08:06evanyeah, my english sucks.
00:10:02mutle_ enters the room.
00:11:53headiusyou guys don't have openssl wired in yet, do ya?
00:13:40drbrainwe have one small part of it
00:13:48drbrainDefiler did it for some rails thing
00:13:51drbrainIIRC
00:14:18brixenyeah, a bit. lib/openssl
00:14:59brixenwe have as much wired in as there are rubyspecs for openssl
00:15:09headiushmm ok, maybe I'll poke around there
00:15:11brixeni.e. 2 specs
00:16:01qrush enters the room.
00:16:57headiuswoo
00:19:01yasuhito enters the room.
00:19:45sunblush enters the room.
00:20:06aotearoa leaves the room.
00:20:18mutle leaves the room.
00:23:36aotearoa enters the room.
00:26:43nari leaves the room.
00:27:01evanbrixen: get git-update working?
00:28:14brixenheh, I've got a branch (no branch) now, that I can't delete
00:28:23brixencus it's got no name
00:28:38evanah crap.
00:28:39evansorry
00:28:42evanlike I said
00:28:47evanit's a little rough around the edges still.
00:28:52evandid you have local changes?
00:28:57brixenno
00:29:01evanok, good :)
00:29:03evando
00:29:09evangit checkout <branch you were on>
00:29:41brixenyeah
00:29:49evaneverything ok now?
00:30:24brixenwhat are remote and merge supposed to be?
00:30:42evanremote = origin
00:30:49evanmerge = refs/heads/<upstream branch>
00:30:55evanupstream branch is either master or cpp
00:31:01evandepending on where you created the branch from
00:31:04evanunless this is a topic branch
00:31:05evanis it?
00:31:32evanif so, i haven't coded it up for that
00:31:34brixenit was created with git co -b <name>
00:31:34evani need to
00:31:42evanah
00:31:48evanso, probably a topic
00:31:49evanok
00:31:56evanlet me code that into git-update
00:32:15evanone nice thing is that, they don't require you to work on topic branchs
00:32:19brixenI've been working in a branch off of cpp and merging into cpp before push
00:32:26evanso i've been working directly on a local cpp branch
00:32:29brixenyeah, extra layer of protection :)
00:32:31evanthat merges directly with the upstream one
00:32:36evanok
00:32:40evanwell, this good.
00:32:47brixenI tried to git-update in cpp, that's how I got the (no branch)
00:32:48evanyou can help me code this up correctly
00:33:03evanthen your cpp branch wasn't setup for tracking
00:33:20brixenhmm, --track must not be the default then (as the man page says)
00:33:25evanEXACTLY
00:33:29evanthats a big fuck up on their part
00:33:31evanit's not the default
00:33:33evanbut it should be
00:33:45brixenthat's why I was confused
00:35:03evanoh
00:35:05evanthats stupid
00:35:19evan--track is only the default when the start point is a remote branch
00:35:33evanso, since you created a branch of a local branch, it wasn't
00:35:35evanthats dumb.
00:35:48evanok, lets wrap up this stupid behavior into a simplier, smarter behavior
00:36:00brixenwell, I created cpp like so: git branch cpp origin/cpp
00:36:07evanhm, that should have worked.
00:36:13evancheck your .git/config
00:36:14brixenjust did it with git branch --track cpp origin/cpp and it's working now
00:36:18evanok
00:36:29evani clearly need to make a gx tool for creating branchs
00:36:39evanbecause you can create broken branchs far too easily
00:36:45brixenyeah
00:36:57evanok, so item 2
00:37:07brixentruth is, using the topic branch is really painless for me. not the universal experience I know ;)
00:37:11evanso I create a topic branch, new-object, off of cpp
00:37:22yasuhito leaves the room.
00:37:28evanwhile on new-object, I do 'git update'
00:37:43evanshould new-object AND cpp be updated? or just new-object?
00:38:06brixenboth I think, like master is normally
00:38:11evanok
00:38:14brixenconceptually, cpp is like master to me
00:38:17brixenmaybe that's wrong
00:38:18evanright
00:38:19evanno
00:38:21evanthats correct
00:38:47evanso, then, if i'm on new-object
00:38:51evanand I do 'git publish'
00:38:58evanshould it just merge new-object with cpp?
00:39:12evanor should it merge AND then push them out remotely
00:39:13brixenI'd prefer it publishes to remote repo
00:39:21brixenyeah, the latter
00:39:35evanso
00:39:41evanand here's where the current git tasks are busted.
00:39:49evanif git-update updates cpp and new-object
00:39:59evanand there are conflicts while updating cpp
00:40:04evanyou have to resolve them twice
00:40:07brixenyeah
00:40:19evanso thats a reason to NOT do that
00:40:26evanbecause then you're only screwing with your topic
00:40:30evanand getting everything solid there
00:40:32evanbefore going back to cpp
00:41:07brixenmaybe it should try them on cpp and if you can't go forward, you could revert cpp and go back to the topic branch
00:41:15brixenand then manual intervention is necessary
00:42:24evanok
00:42:30evani'm trying to figure out whats the least surprising.
00:42:44evangiven our experience
00:47:10lopex leaves the room.
00:50:32pauldix leaves the room.
00:52:22nari enters the room.
00:52:44evanso, you're working on a specific topic, and you want to merge in the latest code to your topic to be sure it's still ok, right?
00:53:14tarcieris/cl
00:53:18tarcieri:(
00:55:34evanhuh?
00:57:08tarcierithat was me failing to clear my screen, mea culpa
00:57:23evanheh
01:01:00headiushmmm
01:01:01nicksieger leaves the room.
01:01:07headiusnet/ssh could be more confusing, but it would be hard
01:01:14evanhah
01:01:15evanso true
01:01:25drbrainheadius: even 2?
01:01:28nicksieger enters the room.
01:01:39headiuseven 2
01:03:21drbrain♡ vlad
01:03:26wyhaines leaves the room.
01:04:06brixenevan: yeah, basic flow would be: work on topic, fetch + merge, test/spec, push
01:04:26evanwell, wait.
01:04:27brixenevan: the only bad things happen really when someone commits after you do test/spec but before you can push
01:04:35evanwhere did you merge the topic branch in to master?
01:04:44brixenthat's all in "push"
01:04:51evanok
01:04:54evanso you mean "rake git:push"
01:04:55evank
01:04:59brixenbut since fetch + merge, do something, push isn't atomic
01:05:02brixenyou can get problems
01:05:27brixendo something == ensure sane (spec/test)
01:05:47evansure
01:05:57evanwell, here's my thinking
01:06:04evanbear with me
01:06:25evanif I create a topic branch to work on one feature
01:06:49evanfor my own sanity, wouldn't it be easier to code it up completely (ie no moving target)
01:07:05evanthen update master and finally merge in my topic
01:08:01headiusI don't understand why net/ssh uses all these extended hooks
01:08:02brixenI find it's not so simple in practice
01:08:04evanthat being said though, you should still be able to update the topic branch
01:08:10brixenyeah
01:08:34brixenI rarely have one topic branch
01:08:51evanthen you probably don't need them
01:08:52evan:)
01:09:02brixenjust a few scenarios: I'm working on a feature and somethings wrong with some spec, I go mess with that
01:09:12evanah, gotcha
01:09:13evanok.
01:09:15brixenor I'm doing some experiment, and doing something specific at the same time
01:09:57brixenmind you, I'm mostly perfectly happy with git porcelain, so I'm not your ideal test case ;)
01:10:06brixenmaybe check how zenspider works
01:10:15evanhe does a lot of yelling
01:10:19brixenyes
01:10:19evani'm not sure how to work that into the workflow.
01:10:25brixengit muffle ftw :D
01:10:27imajes leaves the room.
01:10:49brixenbut I think he's more linear start to finish
01:10:56brixenand seems to hit snags in pushing
01:10:57evanyeah
01:11:11evanwell, eventually, i'll have him use git-update (once the kinks are out)
01:11:25evansince it doesn't require you to work on a topic branch at all
01:11:31evanlike I always use to tell people to do
01:11:35brixenyeah, that's a big win for linear workflow
01:11:36evanyou can work directly on master
01:11:39evanwithout fucking anything up
01:11:44brixenyep
01:12:34jbarnette leaves the room.
01:13:36trythil enters the room.
01:17:39drbrainzenspider and I don't see the utility of no central repository
01:17:54drbrainwe make smaller changes
01:18:05evanalmost too small
01:18:05benburkert_ leaves the room.
01:18:06evanimho.
01:18:29GemBob leaves the room.
01:20:41wyhaines enters the room.
01:21:38shayarnett enters the room.
01:23:18wvdschel leaves the room.
01:23:33hemulen leaves the room.
01:32:58ezmobius leaves the room.
01:35:24lchin enters the room.
01:42:51binary42 enters the room.
01:44:10dfg59 leaves the room.
01:48:01benburkert enters the room.
01:56:12trythil leaves the room.
01:56:15shayarnett leaves the room.
02:01:58rue leaves the room.
02:03:07trythil enters the room.
02:04:21trythil leaves the room.
02:04:27jtoy enters the room.
02:06:20binary42 leaves the room.
02:14:33benburkert leaves the room.
02:17:30michalw leaves the room.
02:22:53nari leaves the room.
02:25:21VVSiz_ enters the room.
02:32:19VVSiz leaves the room.
02:32:40josb leaves the room.
02:37:52benburkert enters the room.
02:38:41benburkert leaves the room.
02:39:29mernen enters the room.
02:41:13c0sin leaves the room.
02:44:03nari enters the room.
02:50:20headius_ enters the room.
02:50:20headius leaves the room.
02:50:23headius enters the room.
02:52:05headius leaves the room.
02:54:21edwardam_ enters the room.
02:55:12edwardam leaves the room.
03:01:58benburkert enters the room.
03:02:51benburkert leaves the room.
03:04:17ijcd leaves the room.
03:08:35lstoll enters the room.
03:09:39sudoer enters the room.
03:11:44jtoy leaves the room.
03:11:56jtoy enters the room.
03:13:38yugui enters the room.
03:21:21mernen leaves the room.
03:25:25benburkert enters the room.
03:26:14benburkert leaves the room.
03:31:00sudoer leaves the room.
03:35:50ezmobius enters the room.
03:36:14boyscout1 commit in C++
03:36:15boyscout* Add some docs about architecture; 70607 - Evan Phoenix
03:36:29evanbrixen: see vm/doc/ARCH.txt
03:44:35headius_ enters the room.
03:44:35headius leaves the room.
03:49:31benburkert enters the room.
03:50:19benburkert leaves the room.
04:08:28Fullmoon enters the room.
04:09:04benburkert enters the room.
04:09:34ijcd_ enters the room.
04:18:25gnufied enters the room.
04:20:10binary42 enters the room.
04:34:18jackdempsey enters the room.
04:34:45botanicus enters the room.
04:46:20botanicus_ enters the room.
04:57:29botanicus leaves the room.
04:58:16botanicus_ leaves the room.
04:59:31josb enters the room.
05:16:39benburkert leaves the room.
05:19:18benburkert enters the room.
05:34:01aotearoa leaves the room.
05:38:17aotearoa enters the room.
05:44:41benburkert leaves the room.
05:46:56trythil enters the room.
05:49:00edwardam_ enters the room.
05:49:58edwardam leaves the room.
05:50:56benburkert enters the room.
05:54:45srbaker enters the room.
05:55:57wmoxam enters the room.
05:59:07lstoll leaves the room.
05:59:20lstoll enters the room.
06:03:02benburkert leaves the room.
06:07:37ijcd_ leaves the room.
06:09:48brixenevan: awesome, thanks!
06:09:57srbaker_ enters the room.
06:10:15srbaker leaves the room.
06:14:55wyhaines leaves the room.
06:15:05wyhaines_ enters the room.
06:15:05obvio171 leaves the room.
06:20:06dbussink enters the room.
06:27:55boyscout1 commit in C++
06:27:56boyscout* A few more docs; c3197 - Evan Phoenix
06:31:00jackdempsey leaves the room.
06:41:29wyhaines_ leaves the room.
06:45:39mass*yawn*
06:45:40masssleepy
06:48:16brixenjumping jacks
06:48:57Fullmoon leaves the room.
06:50:34josb leaves the room.
07:12:04gnufied_ enters the room.
07:12:27gnufied leaves the room.
07:19:57atmos enters the room.
07:24:18imajes enters the room.
07:24:39atmos leaves the room.
07:35:57twbray enters the room.
07:52:10jgre enters the room.
07:52:16headiusyeehaw
08:14:40gnufied_ leaves the room.
08:18:01inspired enters the room.
08:22:11enebo enters the room.
08:30:18trythil leaves the room.
08:31:18srbaker_ leaves the room.
08:32:52Maledictus enters the room.
08:49:11ezmobius leaves the room.
08:55:44yroc enters the room.
08:56:25edwardam leaves the room.
08:56:34edwardam enters the room.
09:00:13twbray leaves the room.
09:06:09wvdschel enters the room.
09:08:28octopod enters the room.
09:15:13michalw enters the room.
09:16:59rodimius_ enters the room.
09:18:08rue enters the room.
09:18:40rodimius leaves the room.
09:19:58Fullmoon enters the room.
09:28:51naeu enters the room.
09:32:23enebo leaves the room.
09:45:25michalw leaves the room.
09:45:56michalw enters the room.
09:48:21headius leaves the room.
09:53:36enebo enters the room.
09:53:45enebo leaves the room.
10:00:23edwardam leaves the room.
10:00:49dysinger leaves the room.
10:05:54rodimius__ enters the room.
10:06:42rodimius_ leaves the room.
10:21:07inspired leaves the room.
10:25:46jtoy leaves the room.
10:26:37chris2 enters the room.
10:32:07Fullmoon leaves the room.
10:34:46thehcdreamer enters the room.
10:34:59thehcdreamer leaves the room.
10:51:35yugui leaves the room.
10:53:21Fullmoon enters the room.
10:56:47pauldix enters the room.
10:59:16benny leaves the room.
11:06:30michalw leaves the room.
11:09:13nari leaves the room.
11:19:27michalw enters the room.
11:23:12bitsweat leaves the room.
11:23:43mutle enters the room.
11:30:37blacktower enters the room.
11:33:03antares enters the room.
11:34:58mutle__ enters the room.
11:35:05nari enters the room.
11:36:45inspired enters the room.
11:41:26mutle leaves the room.
11:42:48mutle_ leaves the room.
11:47:44Fullmoon leaves the room.
11:47:59pastie leaves the room.
11:48:24Fullmoon enters the room.
11:55:57BlackEdder enters the room.
11:56:06imajes_office leaves the room.
11:57:07botanicus enters the room.
11:58:53antares leaves the room.
11:59:24botanicus_ enters the room.
12:05:10imajes_ enters the room.
12:07:41BlackEdder enters the room.
12:09:19yroc leaves the room.
12:23:43botanicus leaves the room.
12:31:45Fullmoon leaves the room.
12:38:23imajes leaves the room.
12:41:56brainopia enters the room.
12:42:32brainopia leaves the room.
12:43:39botanicus_ leaves the room.
12:43:52botanicus enters the room.
12:52:56Fullmoon enters the room.
12:55:07lchin leaves the room.
13:01:25zimbatm enters the room.
13:02:00qrush leaves the room.
13:02:23qrush enters the room.
13:02:50qrush leaves the room.
13:06:41Fullmoon_ enters the room.
13:12:14lstoll leaves the room.
13:19:12benny enters the room.
13:22:36Fullmoon leaves the room.
13:24:59Fullmoon_ leaves the room.
13:30:30chris2 leaves the room.
13:33:32michalw leaves the room.
13:36:02lstoll enters the room.
13:36:53zimbatm enters the room.
13:38:52hemulen enters the room.
13:52:55trythil enters the room.
13:53:15wyhaines_ enters the room.
13:56:34pauldix_ enters the room.
13:56:39trythil leaves the room.
13:56:59pauldix leaves the room.
14:01:36pauldix_ leaves the room.
14:02:07pauldix enters the room.
14:03:58pauldix leaves the room.
14:06:33pauldix enters the room.
14:17:19botanicus leaves the room.
14:17:40botanicus enters the room.
14:17:51trythil enters the room.
14:22:13pauldix leaves the room.
14:22:45trythil leaves the room.
14:22:50AndrewO enters the room.
14:24:31pauldix enters the room.
14:25:41aotearoa leaves the room.
14:35:39imajes enters the room.
14:35:52wmoxam leaves the room.
14:41:05imajes leaves the room.
14:41:17imajes enters the room.
14:46:32botanicus_ enters the room.
14:47:11botanicus leaves the room.
14:51:06imajes_ leaves the room.
14:52:46BlackEdder leaves the room.
15:02:40wmoxam enters the room.
15:11:59pauldix leaves the room.
15:12:00pauldix_ enters the room.
15:12:48blacktower enters the room.
15:16:10moofbong enters the room.
15:19:06fbuilesv leaves the room.
15:22:25pauldix_ leaves the room.
15:23:05pauldix enters the room.
15:27:00evan leaves the room.
15:27:46rubuildius_amd64 leaves the room.
15:27:52jackdempsey enters the room.
15:28:06boyscout leaves the room.
15:28:10rubuildius_ey64 leaves the room.
15:28:36BlackEdder enters the room.
15:28:44rubuildius_ey64 enters the room.
15:28:48rubuildius_amd64 enters the room.
15:32:45rubuildius_amd64 leaves the room.
15:33:10rubuildius_ey64 leaves the room.
15:33:44rubuildius_ey64 enters the room.
15:33:47rubuildius_amd64 enters the room.
15:34:40pauldix_ enters the room.
15:37:55rubuildius_amd64 leaves the room.
15:38:10rubuildius_ey64 leaves the room.
15:38:43rubuildius_ey64 enters the room.
15:38:57rubuildius_amd64 enters the room.
15:42:50rubuildius_amd64 leaves the room.
15:43:11rubuildius_ey64 leaves the room.
15:43:43rubuildius_ey64 enters the room.
15:43:52rubuildius_amd64 enters the room.
15:44:51heycarsten enters the room.
15:47:55rubuildius_amd64 leaves the room.
15:48:10rubuildius_ey64 leaves the room.
15:48:42rubuildius_ey64 enters the room.
15:48:57rubuildius_amd64 enters the room.
15:50:44pauldix leaves the room.
15:52:55rubuildius_amd64 leaves the room.
15:53:10rubuildius_ey64 leaves the room.
15:53:42rubuildius_ey64 enters the room.
15:53:58rubuildius_amd64 enters the room.
15:55:41rubuildius_ey64 leaves the room.
15:56:14rubuildius_ey64 enters the room.
15:57:12twbray enters the room.
15:57:55rubuildius_amd64 leaves the room.
15:58:57rubuildius_amd64 enters the room.
16:00:41rubuildius_ey64 leaves the room.
16:01:15rubuildius_ey64 enters the room.
16:02:47maharg_ leaves the room.
16:02:50maharg enters the room.
16:02:50rubuildius_amd64 leaves the room.
16:03:52rubuildius_amd64 enters the room.
16:05:41rubuildius_ey64 leaves the room.
16:06:04jackdempsey leaves the room.
16:06:14rubuildius_ey64 enters the room.
16:06:24Yurik enters the room.
16:07:28maharg leaves the room.
16:07:56rubuildius_amd64 leaves the room.
16:08:58rubuildius_amd64 enters the room.
16:10:41rubuildius_ey64 leaves the room.
16:11:14rubuildius_ey64 enters the room.
16:12:56rubuildius_amd64 leaves the room.
16:13:58rubuildius_amd64 enters the room.
16:15:41rubuildius_ey64 leaves the room.
16:16:14rubuildius_ey64 enters the room.
16:17:55zimbatm-work2 enters the room.
16:17:55rubuildius_amd64 leaves the room.
16:19:00rubuildius_amd64 enters the room.
16:20:41rubuildius_ey64 leaves the room.
16:21:14rubuildius_ey64 enters the room.
16:22:56rubuildius_amd64 leaves the room.
16:23:58rubuildius_amd64 enters the room.
16:25:41rubuildius_ey64 leaves the room.
16:25:44zimbatm leaves the room.
16:26:14rubuildius_ey64 enters the room.
16:27:29maharg enters the room.
16:27:51rubuildius_amd64 leaves the room.
16:28:53rubuildius_amd64 enters the room.
16:30:42rubuildius_ey64 leaves the room.
16:31:15rubuildius_ey64 enters the room.
16:32:21atmos enters the room.
16:32:55rubuildius_amd64 leaves the room.
16:33:44hemulen leaves the room.
16:33:57rubuildius_amd64 enters the room.
16:35:33gnufied enters the room.
16:35:42rubuildius_ey64 leaves the room.
16:35:55lopex enters the room.
16:36:14rubuildius_ey64 enters the room.
16:37:10bburcham enters the room.
16:37:56rubuildius_amd64 leaves the room.
16:38:10benburkert enters the room.
16:38:58rubuildius_amd64 enters the room.
16:40:42rubuildius_ey64 leaves the room.
16:41:14rubuildius_ey64 enters the room.
16:42:55rubuildius_amd64 leaves the room.
16:43:57rubuildius_amd64 enters the room.
16:45:42rubuildius_ey64 leaves the room.
16:46:14rubuildius_ey64 enters the room.
16:47:56rubuildius_amd64 leaves the room.
16:48:58rubuildius_amd64 enters the room.
16:50:42rubuildius_ey64 leaves the room.
16:51:14rubuildius_ey64 enters the room.
16:52:55rubuildius_amd64 leaves the room.
16:53:11heycarsten leaves the room.
16:53:58rubuildius_amd64 enters the room.
16:54:31rubuildius_ey64 leaves the room.
16:55:18rubuildius_amd64 leaves the room.
16:55:52brixenmight as well quiet those guys until repo server is back
16:58:16dbussinkbrixen: ah, i tried to poke you yesterday :)
16:58:30dbussinki have a question about the float_eql and float_equal primitives
16:58:45dbussinkbasically comes down to what's the rationale behind them?
16:58:45brixenyeah, ri Float#== and you'll see why ;)
16:59:16dbussinkbut is it something that needs to be in the primitives?
16:59:22brixenyeah
16:59:27brixenneeds to be fast ;)
16:59:59dbussinkbut should the eql check then do the float check in ruby
17:00:00brixenwe're not going to do gymnastics with the numeric tower in ruby just to be in ruby
17:00:12brixenit's fine in the primitive
17:00:15dbussinkseems to me that == is a primitive
17:00:26brixenboth are
17:00:33dbussinkand eql? does arg.is_a?(Float) && self == arg
17:00:37dbussinkor something like that
17:00:42dbussinkwhat's the problem with that?
17:00:49brixenperformance
17:01:14dbussinkis eql? used that often too then compared to == ?
17:01:30dbussinkbecause the performance line is thin imho, then more things could be a primitive ;)
17:01:41dbussinka thin line
17:01:42brixennot with numerics
17:01:48brixenI rewrote all of those
17:01:58dbussinkyeah ok, but also tested real life usage?
17:02:05jgre leaves the room.
17:02:06brixenwe had a minimal set and a bunch of gymnastics in ruby that performed very poorly
17:02:17brixenthere's a set of float benches that I used
17:02:18dbussinkis eql? for example used in other kernel stuff?
17:02:43dbussinkbecause i could imagine that it needs to be fast in that case
17:03:15dbussinkbut i think the number of occurences of eql? in the wild is vastly smaller then that of ==
17:04:02wvdschel leaves the room.
17:04:21brixendbussink: one sec, on phone
17:04:48twbray leaves the room.
17:05:40edwardam enters the room.
17:05:57edwardam leaves the room.
17:07:05naeu leaves the room.
17:10:55hemulen enters the room.
17:13:13brixendbussink: so, point is, it's already implemented and it's faster
17:13:30dbussinkwell, i was wondering because of the cpp primitives
17:13:34brixenwhether it's "highly" used we don't know
17:13:42jgre enters the room.
17:13:49brixenI'd prefer the numeric primitives to be ported as is
17:13:57brixenunless there's a compelling reason not to
17:14:02brixenand I'm not hearing one ;)
17:14:23DefilerAt this point, it doesn't seem like primitives 'cost' us much
17:14:28dbussinkwell, the reason for me is consistency
17:14:29dbussink:P
17:14:32lopex leaves the room.
17:14:39DefilerThe system has a lot of code in it now, and as long as code is commented and sane, we should stick with it
17:14:40dbussinkand not premature optimization
17:14:42brixenI'm not sure I follow any consistency argument there
17:14:55brixenit's not premature, it's demonstrably OOM faster
17:15:07DefilerWell, we can try un-primitive-izing it after we switch to the new VM
17:15:09dbussinkimplementing file.stat as a primitive is too ;)
17:15:11brixenand we need to be as fast as possible with micro ops like numerics
17:15:14DefilerMaybe LLVM can help us remove some primitives
17:15:28DefilerOK only a crazy person would think that File#stat is a premature optimization
17:15:35brixenDefiler: indeed
17:15:36DefilerYou're not a crazy person, are you?
17:15:37evan enters the room.
17:15:42evanarg.
17:15:47evanserver is down again.
17:15:48brixenwb evan
17:15:50brixenyeah
17:15:51dbussinkof course i'm crazy :P
17:15:52evansomething must be wrong with it
17:16:02evanI'm headed down to the data center shortly
17:16:05evanto figure out whats up.
17:16:09brixenk
17:16:11dbussinkDefiler: well, file.stat isn't a primitive right now
17:16:27evanoh gah
17:16:32evanthe File#stat discussion again.
17:16:42brixennah, dbussink is just being ornery
17:16:48dbussinkand according to that same reasoning i think one Float#equal would suffice ;)
17:17:20DefilerThe problem with Float#equal is that there is no platform function to FFI up to that has the correct semantics
17:17:26brixenthe issue with doing #stat as a primitive is that you have to fill in all the fields from the structure but you usually just do File.exists?
17:17:41brixenand that can be done faster and lazily using FFI
17:17:51brixenit's a totally different situation than Float
17:18:00brixenso, don't confuse them just to make a silly point, dbussink
17:18:04brixenyou're confounding things
17:18:25dbussinkwell, isn't File.stat faster as a primitive then?
17:18:32dbussinkeven if the struct needs to be filled?
17:18:36brixennot necessarily
17:18:49brixenwe can do the plain call almost 2x faster in FFI
17:18:56brixenthe overhead is creating the memorypointer
17:19:09dbussink2x faster then primitives?
17:19:17brixenand that needs to be optimized across the board (i.e. creating classes)
17:19:22brixenyes
17:19:30brixenthan the primitive and filling in all the fields
17:19:47brixenyou can't decompose the primitive like you can using FFI, without creating a bunch of primitives
17:19:49dbussinkhmm, i thought the ffi was a few order of magnitudes slower
17:19:57brixenit's a different situation, so quit comparing them
17:20:42dbussinkwell, if File.stat is currently the fastest way possible, i get it
17:21:12brixennothing is currently fast as possible
17:21:17brixenthis is a red herring
17:21:20dbussinkof course
17:22:34evanbtw
17:22:47evanFile.exists? should probably use access(2)
17:22:50evanrather than stat
17:23:12brixenyeah, that's a good idea
17:23:51brixenhaha, man 2 access: Access() is a potential security hole and should never be used.
17:24:03evanha
17:24:04evanreally?
17:24:07evanbugger.
17:24:08brixenbut you have to scroll to the bottom to see that
17:24:10brixenheh
17:24:18evanoh yeah
17:24:20brixenit conforms to POSIX.1
17:24:21evanunder CAVEAT
17:24:22evan:D
17:24:28brixenhilarious
17:24:43dbussinkbrixen: well, i hope you kinda get my reasoning behind questioning this :P
17:25:04brixendbussink: I understand your question, the rest of your reasoning was ad hoc :P
17:25:14gnufied leaves the room.
17:25:21brixendbussink: I expect more from a bright, rational european
17:25:24dbussinkwell, i always want to see numbers when optimizing :P
17:25:33brixenyep, there's benches
17:25:42gnufied enters the room.
17:25:44dbussinkyeah, but micro benches don't say to much
17:25:44brixenwe were 3x as fast as mri on float ops
17:25:53dbussinkusing that i can make everything faster ;)
17:26:03brixenthat sort of bench does say a lot, actually
17:26:13brixenit's not the same as a while loop bench :D
17:26:14dbussinkbut i think there should be balance there with usage
17:26:40dbussinkwell, if you heavily optimize a few times used functionality it's probably not worth it
17:26:46brixenI'm curious to see how the overloaded functions will work in the numerics
17:26:56dbussinkthey are dog slow i think
17:27:03brixenthe cpp ones?
17:27:06dbussinkat least if stuff like like rational ones
17:27:19dbussinkthe float / fixnum / bignum ones are probably fast
17:27:27dbussinkbecause they can cast in the primitives themselves
17:27:38brixenyeah, that's what I mean
17:27:43dbussinki've defined then all for all permutations there
17:27:53brixenin shotgun, they're a single function that handles the types internally
17:27:56evanok
17:28:00evani'm off to get the server back up
17:28:02evanbut
17:28:05evanto avoid this
17:28:12evanlets just switch to github
17:28:12evanit's easy.
17:28:14evanjust run.
17:28:16evangit config remote.origin.url git@github.com:evanphx/rubinius.git
17:28:21evanin your checkouts
17:28:23evanand you're done.
17:28:35evan(thats for committers)
17:28:39brixensweet
17:28:45bburcham leaves the room.
17:28:54dbussinkbrixen: you mean performance of stuff like rational? or about only float / fixnum / bignum operations?
17:29:14brixendbussink: just the ones we've coded as primitives using overloaded functions
17:29:27dbussinkbrixen: well, i also optimized some bignum cases
17:29:36dbussinklike fixnum + bignum and vice versa
17:29:42brixenexcellent
17:29:43dbussinkthey should be a lot faster
17:30:15Defilerevan: How do commits straight to github get replicated back to git.rubini.us?
17:30:17brixenthat's the only place we were slower than mri, fixnum -> bignum transitions
17:30:24dbussinkbecause they don't allocate an unneccesary bignum anymore
17:30:24evanDefiler: they don't.
17:30:28evangit.rubini.us is gone.
17:30:48DefilerFor good?
17:30:58evanwell, i have to go check on that server
17:31:03evanit's crashed twice in the last 2 days
17:31:09evanso I might have to do surgery
17:31:12dbussinkbrixen: and i've thoroughly tested them with all negative and positive cases
17:31:14evanso it could be a little while until it's back up
17:31:21evanso.. yeah
17:31:22evanfor good.
17:31:33DefilerOK.. when/if it comes back, just out of curiosity, how will you sync them?
17:31:39evanI won't.
17:32:16dbussinkbrixen: and stuff like fixnum + bignum just redirects to bignum + fixnum
17:32:25dbussinkbrixen: to have a single place for those implementations
17:32:44dbussinkbrixen: check for example Bignum::add(STATE, FIXNUM b)
17:32:49DefilerOK. I guess we need a ML post then, and some website edits
17:32:55evanyep.
17:33:03evanI didn't want to do it like this
17:33:08DefilerMight want to edit the topic to mention that that is the committer URL
17:33:16evanbut I don't see much of a choise.
17:33:19DefilerHaving boxes die has always been my most common reason to finally make some change :)
17:34:35inspired_ enters the room.
17:35:10edwardam enters the room.
17:38:20evanDefiler: there ya go.
17:38:29evanDefiler: please reply to that with any follow up info.
17:39:50jbarnette enters the room.
17:39:59evanok, i'm headed down to assist our ailing comrade
17:40:29Defilerevan: Thanks.
17:40:43twbray enters the room.
17:41:28evancould you guys update the docs?
17:41:44evanalso, the docs should probably all reference on url
17:41:49evanthat contains the information
17:41:54evanrather than having it in multiple places
17:43:46inspired leaves the room.
17:45:10DefilerI just updated the rake tasks
17:46:02brixendbussink: the new primitives structure is also loads different than the old, we could easily redo stat like the Dir stuff I just did
17:46:19brixendbussink: and still get the information lazily
17:47:23dbussinkbrixen: well, maybe File.exist? should do a stat call, but do nothing with the struct
17:47:30dbussinkto be as fast as possible
17:48:58dfg59 enters the room.
17:48:58brixenyeah, it could
17:49:18headius enters the room.
17:50:09dgtizedevan: switching to the new server -- it says I don't have the rights to pull?
17:50:33DefilerThe public key lists were not totally in sync
17:50:45DefilerSo just bug evan with your pubkey and it should get fixed
17:51:11dbussinkbrixen: well, the issue with float is that i was under the impression that doing things like that was frowned upon
17:51:19dbussinkbut if that isn't it's indeed a mood point
17:51:24dgtizedif it's github, and you have a github account, can't he just add me somehow without evening passing over the key/
17:51:36dgtizedevening = evan
17:51:49Defilerdgtized: Oh, huh. I think so, yeah
17:51:50dgtizedeven or something, man I'm tired
17:52:59brixendgtized: yeah, should be able to, but evan's going to the colo, so you might email instead
17:53:19dgtizedi'll wait till he gets back
17:53:24dysinger enters the room.
17:54:09dgtizedcpp branch is still broken for me though on another note -- strlcpy and strlcat aren't getting linked in in the right order or something
17:54:33brixendbussink: the problem with numerics is that we were doing like 4 ruby method dispatches to add a float and fixnum, which is just insane
17:54:43antares enters the room.
17:54:56brixendbussink: all those numeric ops *must* twiddle the bits in the "primitive" layer anyway
17:55:24brixentraversing back and forth to ruby was silly
17:55:47thehcdreamer enters the room.
17:56:09sambo82 enters the room.
17:57:07dbussinkbrixen: that's definitely true, and i'm all for minimizing and containing that
17:57:11thehcdreamer leaves the room.
17:57:33dbussinkhates debating online :P
17:58:55brixendbussink: any chance your company would send you to rubyconf? :)
17:59:13dbussinkdunno, perhaps :P
17:59:22brixenheh, start lobbying now
17:59:23dbussinki'm way more interested in it than railsconf
17:59:38dbussinknot going to berlin, don't feel like learning a lot there anymore
17:59:54dbussinkand in portland i went to most of the non rails talks
18:05:24dbussinkbrixen: the problem is not the company paying, it's basically my own decision
18:05:46dbussinkbut that makes it a lot harder actually, because i have to be convinced that it's worth it for me to go
18:07:12brixenDefiler: is there an atom feed for the repo on github?
18:07:31brixendbussink: rubyconf is worth it :)
18:07:42octopod leaves the room.
18:08:33gnufied leaves the room.
18:11:19robin_dewd leaves the room.
18:15:48tarcieriERROR: Permission to evanphx/rubinius denied to tarcieri.
18:15:51tarcieri*boggle*
18:16:26bburcham enters the room.
18:17:06josb enters the room.
18:26:13gnufied enters the room.
18:27:14ijcd enters the room.
18:28:50bburcham leaves the room.
18:29:33flori leaves the room.
18:32:02flori enters the room.
18:35:40rubuildius_ey64 enters the room.
18:36:26c0sin enters the room.
18:39:05headiusditto
18:40:09binary42 leaves the room.
18:41:10pauldix_ leaves the room.
18:41:49yroc enters the room.
18:43:38rubuildius_ey64 leaves the room.
18:45:53bitsweat enters the room.
18:49:15brainopia enters the room.
18:51:04Arjen_ enters the room.
18:51:24ezmobius enters the room.
18:56:40brixendjwhitt: I took the bot down, git.rb needs to be adjusted to get the right info from the new rss feed
18:56:46brixendjwhitt: I'll fix it up after lunch
19:00:04tarcieribrixen: any idea about the permission errors?
19:00:57zimbatm enters the room.
19:02:07brixentarcieri: evan just needs to add you as a collab
19:02:19tarcieriok
19:02:21brixenhe's at the colo, so you'll have to ping him when he gets back
19:02:24benburkert leaves the room.
19:02:43benburkert enters the room.
19:05:32brixenI'm guessing the cause is different ssh key on github than the one evan had for git.rubini.us
19:05:50brixenanyway, lunch with a friend, bbl...
19:08:31zimbatm-work2 leaves the room.
19:12:01atmos leaves the room.
19:21:23dysinger leaves the room.
19:27:31botanicus_ leaves the room.
19:34:19twbray leaves the room.
19:45:20chris2 enters the room.
19:47:40atmos enters the room.
19:56:40chris2 leaves the room.
19:56:56ezmobius leaves the room.
20:02:52evani've added everyone I recognized from the current channel
20:03:42drbrainwhat's going on now?
20:04:20nexcastellanWorks for me, thanks.
20:04:32evandrbrain: see the topic.
20:05:19drbrainstabs google groups in the throat
20:05:24drbraindon't put ... in my URL!
20:07:42evansoon they'll put <- in the url so they can stab you back!
20:10:08hemulen leaves the room.
20:10:46drbrainok, wtf? it also never sent me your email
20:14:04jbarnette leaves the room.
20:15:54evanhah
20:15:55evanhttp://www.cnn.com/video/#/video/us/2008/07/29/vo.quake.judge.judy.cnn
20:16:15dbussinkgah, the ruby_engine story continues
20:16:44tarcieriheh, what now?
20:16:51tarcierievan: can you hook me up with commit access on github?
20:16:57VVSizevan: could you please add me to rubinius github repo? my github login is: vvs
20:16:59evantarcieri: done
20:17:02evanVVSiz: ah, ok.
20:17:03tarcierisweet
20:17:07dbussinktarcieri: read the stuff from this afternoon
20:17:08VVSizthanks! :)
20:17:31evanVVSiz: done
20:17:38VVSizheh, you're fast! :)
20:20:06dgtizedevan: could you add me as well, github login is dgtized
20:20:50evandgtized: done
20:21:00dgtizedawesome, thanks
20:24:29dgtizedevan: still no idea on how to fix the strlcpy, strlcat compiler error?
20:24:39evandgtized: i'll crack it today
20:26:16sambo82 leaves the room.
20:32:29hemulen enters the room.
20:42:08atmos leaves the room.
20:50:32headius leaves the room.
20:52:56brainopia enters the room.
20:53:53brainopia leaves the room.
20:58:51dgtizedevan: k, thanks
21:01:17binary42 enters the room.
21:03:07CIA-30 enters the room.
21:03:17evanooh.
21:04:19TheProkrammerhttp://github.com/casualjim/sails/tree/master
21:04:28imajes_ enters the room.
21:07:07jbarnette enters the room.
21:07:44CIA-30Evan Phoenix cpp * r638a504 / README : Nuke old architecture section
21:07:49evanoh yay!
21:07:50evanit works!
21:08:32binary42 leaves the room.
21:11:20rueGoodie
21:16:35lopex enters the room.
21:17:54CIA-30Evan Phoenix cpp * r2d2d381 / AUTHORS :
21:17:54CIA-30Update AUTHORS
21:17:54CIA-30Change to use my engineyard.com address
21:18:09evanhrm.
21:19:47CIA-30* More AUTHORS updates.; 90ec4a9 - Evan Phoenix
21:19:52evanbingo.
21:20:52dbussinkevan: you added a > too much to brixen's address ;)
21:21:22evanoops
21:21:30Defileruh oh now we need unit tests for the authors file
21:21:32drbrainCIA-30: you are too verbose
21:21:49evandrbrain: it outputs the same as boyscout now.
21:22:12DefilerSo it omits the committer name when the next commit is by the same author?
21:22:17drbrainthe 13:17 output spans three lines
21:22:21Defiler; 90ec4a9 - Evan Phoenix
21:22:21Defiler[16:19] <evan> bingo.
21:22:25Defilererr
21:22:26evandrbrain: I know.
21:22:28Defilerthat copied oddly
21:22:29drbrainor, oh
21:22:30evandrbrain: I changed that
21:22:40evanthats why the 13:19 line is short
21:22:41DefilerOK, so that is all one 'push' result we just saw?
21:22:46evanyep
21:26:09benburkert leaves the room.
21:26:23yroc leaves the room.
21:29:35CIA-30* Fix a type in AUTHORS Removed a >; 3ae4602 - Evan Phoenix
21:29:56evanhrm, i guess thats fine.
21:29:58DefilerClassic typo in commit message for a typo fix
21:30:03Defiler*highfive*
21:30:05evanhah
21:30:08evan:)
21:30:08dbussinkhehe
21:30:10loop:-)
21:30:33evanok, I think i'm happy with CIA for now
21:30:51evanif it spews a giant message, i'll work on it more.
21:32:47octopod enters the room.
21:37:09naeu enters the room.
21:40:30atmos enters the room.
21:41:01sambo82 enters the room.
21:41:09zimbatm-work2 enters the room.
21:42:54drbrainsweet!
21:43:07drbrainI pulled vm/Rakefile into the top level properly
21:43:49DefilerBadass
21:44:34drbrainwell, almost
21:44:39drbrainthere are a few test failures
21:44:42naeu leaves the room.
21:47:58drbrainhttp://rafb.net/p/fgROMx44.html
21:49:16zimbatm leaves the room.
21:49:38drbrainfor that first one I've got a vm/test/fixture.rbc_
21:52:50drbrain... and I'm in the right directory
21:52:59drbrainwait, it passed this time?
21:53:33ruedrbrain: Double check for first-time run failure?
21:54:35dysinger enters the room.
21:54:51benburkert enters the room.
21:56:09drbrainmaybe I forgot to save
21:57:38benburkert_ enters the room.
21:58:02fbuilesv enters the room.
21:58:10fbuilesvevan: ping
21:58:18evansup?
21:58:28fbuilesvevan: can I get bit again? febuiles on GH.
21:58:39evanyep
21:58:43fbuilesvthanks :)
21:59:05drbrainOH HELL YEAH!
21:59:15drbrainI now have verbose working for cxxtest
22:00:02twbray enters the room.
22:00:13evanyay!
22:00:32evanfbuilesv: done!
22:01:13drbrainok, I'm running through TestInstructions and get to test_push_my_field
22:01:18drbrainat which time it aborts
22:01:22drbrain(exits non-zero)
22:01:46evanit crashed then.
22:01:56fbuilesvevan: ty.
22:02:08drbrainwell, yes
22:02:19drbrainalso, this #line is pointing to the wrong file
22:02:28ezmobius enters the room.
22:02:46evandrbrain: yes, because we mix the output from instructions.rb into other things
22:02:46drbrain#line 642 "/Users/drbrain/Work/git/git.rubini.us/cpp/vm/instructions_gen.rb"
22:02:51evangdb gets confused on the line numbering.
22:02:55evanoh, I thought I fixed that.
22:02:56drbrainvm/instructions_gen.rb doesn't have that many lines
22:02:58evandid you updat?
22:03:01evanyeah
22:03:02evanthats a bug.
22:03:04hemulen leaves the room.
22:03:15evanyeah, I fixed that already
22:03:15drbraindid you fix it since yesterday?
22:03:22evanno, yesterday
22:03:29drbrainok
22:03:35drbrainshould I check in what I've got
22:03:38evanbut you might have to force instructions.rb to run
22:03:42evantouch it
22:03:54evanand that stuff should get regenerated with the right paths
22:04:13nicksieger leaves the room.
22:04:35drbrain642 of instructions.rb looks more sane
22:04:42drbrainexcept that's almost right
22:04:48drbrainvm/instructions.rb is correct
22:04:56evanoh
22:05:02bricolage enters the room.
22:05:03evanyou've moved stuff
22:05:06evanthats why it's wrong then.
22:05:09nicksieger enters the room.
22:05:13drbrainno
22:05:17ijcd_ enters the room.
22:05:26drbrainor, kinda
22:05:28evantest/runner was always run from vm/
22:05:32evanso the path was correct
22:05:35evanas just instructions.rb
22:05:39evanit should be an absolute path
22:05:40binary42 enters the room.
22:05:42evanthats a bug
22:05:45drbrainvm/Rakefile is now rakelib/vm.rake
22:05:50drbrainso I adjusted all the paths
22:06:05evani take it you need me to assign you some more tasks? :)
22:06:23drbrainso your fix probably is using a path I haven't changed (because I didn't have it before)
22:06:59drbrainno, I got super bored of doing primitives
22:07:08drbrainso I decided to do something else that needed doing
22:07:21evanok...
22:07:30evanI didn't think we needed to redo the Rakefile system again
22:07:40evanbut just so long as it works better.
22:07:51evanand you don't remove stuff like the last iteration
22:08:23drbrainit's super lame to have the toplevel Rakefile saying "cd vm; rake clean", "cd vm; rake test", etc
22:08:38evanI know you are but what am I?
22:08:38evan:D
22:08:52drbrainwell, your Rakefile was pretty terrible
22:09:22drbrainwe need to teach you about how to build these things :)
22:10:27evanouch.
22:10:45DefilerWell, we all have our strengths :)
22:10:52DefilerPlay nice boys
22:13:08evan leaves the room.
22:13:43evan enters the room.
22:13:59benburkert leaves the room.
22:13:59binary42 leaves the room.
22:20:26fbuilesv leaves the room.
22:20:46ijcd leaves the room.
22:23:58drbrainwho is Christopher Thompson again?
22:24:08drbraindoing the Task => Rubinius::Task move
22:24:26drbrainI wonder if he's running into bootstrapping stables issues
22:25:39qrush enters the room.
22:25:45evandrbrain: oh, probably.
22:25:47evangood call.
22:26:19octopod leaves the room.
22:26:23drbrainsince he'd need Rubinius::Task and Task until he gets the new stables pointing to the right thing
22:26:44nexcastellanHi!
22:26:46nexcastellanI'm Chris.
22:26:47drbrainI will respond
22:26:56nexcastellanAh!
22:27:04nexcastellanSo I need Task and Rubinius::Task.
22:27:07nexcastellanHhhhmmm.
22:27:07drbrainok, good
22:27:11drbrainI think so
22:27:24nexcastellanYes, bootstrapping is fun.
22:27:34drbrainsince the stables expect the old one, and you're moving things around
22:27:39drbrainor, .rbc files do
22:28:03drbraincan you try adding Task = Rubinius::Task at the bottom of task.rb?
22:28:17rueThen regenerate the stables, should work
22:28:28nexcastellanYes, I certainly can. I blew away my repository, but it's not much work to bring it back.
22:29:02drbrainI have felt your pain :)
22:29:33nexcastellanI've built linux from scratch, but there things were all documented nicely. I'm not blaming Rubinius, of course; we are still very much a work in progress.
22:29:45nexcastellanI just sometimes hit walls and find it hard to get past them.
22:29:59drbrainand bootstrapping is something that's hard to document
22:30:11evanyeah
22:30:21evanthats why i've reintroduced MRI bootstrapping in the new branch
22:30:25drbrainI think there's a brief explanation of what to do when adding or changing a primitive
22:30:26evanto make this easier
22:30:38nexcastellanBootstrapping is so very cool from a technical point of view. :)
22:30:45rueThere should be, possibly in the -DEV
22:30:48DefilerThere isn't anything cooler
22:30:51drbrainbut what things you'll run into always seems to be slightly different than last time
22:30:52DefilerAt least in my opinion
22:31:29nexcastellanLearning about compilers was one of those ah-ha moments for me. :) When gcc could first compile itself, for example. :)
22:31:41evanbut that took a while
22:31:46nexcastellanAnd I think you learn a lot installing Linux from scratch (more so with LFS than with Gentoo).
22:31:53evanthey had to do almost a full 1.0 of gcc
22:31:58evanbefore it could compile itself.
22:32:24nexcastellanAnd even after, they kept the gcc code pretty old-school C to help with the bootstrapping, iirc.
22:32:53ruenexcastellan: You clearly just forgot to set the magic_knowledge flag :)
22:33:29evannexcastellan: yeah.
22:33:35nexcastellanHahaha, if only. I tell you, most of my past five years or so has been in C++, I feel like a programming n00b going back to C and helping hack around in Rubinius. Humbling experience. :)
22:34:07rueNow the cpp is handy!
22:34:08AndrewO leaves the room.
22:34:32nexcastellanWhat I miss most going back to C is the lack of the standard template containers.
22:34:35rueI was thumbing through "Modern C++ Design" again. Man, that book started so many evil things though
22:35:31nexcastellanI never picked it up, always meant to. It only covered C++ up to about 1993 iirc, and so much changed closer to the 98 (?) standardisation.
22:36:05DefilerI just got "C Programming - A Modern Approach 2nd Edition" by K.N. King just in time for us to switch to C++
22:36:09Defilerwhee
22:36:55ruenexcastellan: Naw, it came out in 2000 or 2001, I think.. cutting edge at that time
22:37:12nexcastellanOh! Right, I was thinking of the other book.
22:37:15rueI remember the several instances of "your compiler probably will not support this, but.." :)
22:37:27nexcastellanYes, Modern C++ Design. The book that was, what, three years ahead of the books that explained the prerequisite info?
22:37:34nexcastellanTemplate metaprogramming, all kinds of fun.