Index

Show enters and exits. Hide enters and exits.

00:01:11qwert666 leaves the room.
00:17:23aotearoa enters the room.
00:18:05jartz leaves the room.
00:18:31antaresdjwhitt: you are talking about be_empty commit?
00:21:38djwhittantares: yeah, the be_empty matcher
00:22:37ezmobius_ enters the room.
00:24:38antaresdjwhitt: then it probably has something to do with how #empty? method works
00:26:19rueProfile it.
00:28:25FoobarWidget leaves the room.
00:31:10antaresrue: what do you use for rubinius profiling btw?
00:31:13brixenI don't see #be_empty used in the specs
00:31:45fbuilesvbrixen: it's only used in its own specs so far, I wrote it to use it in a REXML spec I'm currently working on
00:32:57fbuilesvI'm guessing ruby-prof won't work here, any idea of what to use?
00:33:08fbuilesvmmm, same question as antares
00:33:11riffraff leaves the room.
00:33:27imajes enters the room.
00:34:32brixenit's not the be_empty matcher, that changes absolutely nothing in kernel or in shotgun
00:34:54brixenI just did distclean build on cb46429, right before the be_empty matcher commits
00:35:11brixen809 sec to run bin/mspec ci
00:35:37brixen82 sec after the specs were compiled
00:39:48antaresbrixen: what the time run used to be, you mean that it does not happen before that commit?
00:42:46jicksta leaves the room.
00:49:13mae_ leaves the room.
00:50:25mae enters the room.
00:52:44antaresinteresting: HEAD has 3 spec failures if I have different hosts specified for 127.0.0.1 in /etc/hosts
00:56:03djwhittantares: yeah, that's kind of a known issue I think
00:57:14antaresdjwhitt: I can't see a ticket for it, should I submit one?
00:58:11djwhitthmm... not sure, perhaps someone more qualified can chime in?
00:59:30fbuilesvwhat's the use of assigning different hostnames to a loopback IP?
01:00:11djwhittbrixen: I get 138/53 on cb46429
01:02:09antaresdjwhitt: I see MRI returns the same (last host associated with the address), so it is a spec issues
01:02:33antaresdjwhitt: I will submit a ticket for it
01:02:52djwhittantares: k
01:12:56antaresdjwhitt: I am new to FFI. I understand it uses system call to getaddrinfo, what else should I observe?
01:13:05mark___ enters the room.
01:14:11djwhittantares: actually, so am I :) (new to FFI that is)
01:14:22djwhittantares: what particular part of the code are you referring to?
01:15:28antaresdjwhitt: the failing expectation is this: spec/ruby/1.8/library/socket/tcpsocket/new_spec.rb:38
01:16:09antaresdjwhitt: so both Rubinius and MRI show the same behaviour but there something has to be done to spec
01:18:30djwhittantares: I'm not sure there's a lot you can do about that spec
01:19:03djwhittantares: you need to check that the address is resolving properly somehow
01:19:15antaresdjwhitt: true, but this is interesting challenge :)
01:19:55antaresdjwhitt: first I want to understand why first of hosts other than localhost is returned
01:20:30djwhittantares: in your case you have multiple entries for 127.0.0.1 in /etc/hosts ?
01:20:43antaresdjwhitt: right
01:21:34antaresdjwhitt: have a look: http://tinyurl.com/ywhcop
01:21:35djwhittwhat do you get when you run the following on the command line: 'host 127.0.0.1'
01:21:57fbuilesvI've got some specs but they're spread out around 8 diff local commits (git-format-patches returns 8 patches), what would be the best way to merge this?
01:22:06antares1.0.0.127.in-addr.arpa domain name pointer localhost.
01:22:52antaresfbuilesv: either squashing or push them as is? what's your concern about 8 local commits?
01:23:53antaresfbuilesv: you have them on a separate branch?
01:23:59fbuilesvantares: yes
01:24:14antaresfbuilesv: man git-merge, see --squash option
01:24:20fbuilesvantares: ty
01:24:29antaresit just applies diff to index so you can do a single commit
01:24:51fbuilesvthat's exactly what I was looking for so I dont have to annoy someone with 8 different patches
01:25:40djwhittfbuilesv: won't git-format-patch handle multiple commits?
01:25:58fbuilesvdjwhitt: yes, it'll generate the 8 patches
01:26:08jero5 leaves the room.
01:26:11djwhittfbuilesv: ah, ok, never tried it
01:26:13fbuilesvthat's what I was trying to avoid since some of those are just 3-4 liners
01:27:25jtoy enters the room.
01:30:00antaresdjwhitt: git format patch can be used for this purpose but then you have to switch to master keeping those files in place with extra options so it is a bit of rocket science for such a task
01:35:53seydar enters the room.
01:36:43seydartest
01:37:01djwhitttest test
01:37:10seydarok weechat kiiiiinda works
01:37:45seydargood enough
01:45:22seydar leaves the room.
01:45:29mark___ leaves the room.
01:46:49dc_ leaves the room.
01:49:42fbuilesvWhile writing the spec I found some bugs in REXML so the spec fails on 3 parts with MRI too. I've submitted patches to fix it to Ruby's bug tracker. Should I wait until they're applied to upload the spec to LH?
01:57:55cremesfbuilesv: i recommend sending in your patches here without waiting for mri to get patched; we go for correctness when mri has bugs
01:58:21fbuilesvcremes_: I'll upload to LH then, ty.
01:59:13brixenfbuilesv: you can wrap the specs in ruby_bug do ... end and leave a comment with the ruby bug tracker #
01:59:54fbuilesvbrixen: Didn't know of the existance of that, will do before uploading then.
02:00:12cremesfbuilesv: me neither! live & learn...
02:00:14brixenfbuilesv: see e.g. spec/ruby/1.8/core/numeric/divmod_spec.rb
02:00:27brixengrep the specs for ruby_bug, there's a few examples
02:00:36brixenyes, I still need to completely doc the guards
02:00:59brixenrue started to doc them on http://rubinius.lighthouseapp.com/projects/5089/specs-guards
02:09:04octopod leaves the room.
02:10:35VVSiz_ enters the room.
02:17:59agile enters the room.
02:19:15_ezmob_ enters the room.
02:20:53ezmobius leaves the room.
02:22:44MenTaLguY enters the room.
02:26:35womble enters the room.
02:28:53VVSiz leaves the room.
02:29:51fbuilesvwhat's the current way to exclude the failing specs from CI? ./bin/ci -c cries about deprecation and ./bin/mspec ci doesn't recognize the -c option
02:31:01womblefbuilesv: "./bin/mspec tags -g fails" is what I do. Not sure if that's how it's supposed to be done, but it works for me.
02:31:22fbuilesvwomble: Ok, someone might want to update http://rubinius.lighthouseapp.com/projects/5089/howto-write-a-spec then
02:31:51womblefbuilesv: You're someone. <grin>
02:31:55TheVoice enters the room.
02:32:14fbuilesvwomble: maybe I'm failing but...can I edit those pages as a regular user?
02:33:16brixenone sec, I'll update it
02:33:40brixenthis page has the correct method under mspec tag, btw: http://rubinius.lighthouseapp.com/projects/5089/specs-runners
02:34:42fbuilesvbrixen: I'm sorry I missed that, was looking in the CI section.
02:35:08brixennp
02:35:23brixenpage updated, holler if anything else is messed up
02:36:04brixenfbuilesv: what's your email on LH?
02:36:11fbuilesvfederico.builes@gmail.com
02:37:09brixenk, just sent an invite
02:38:07fbuilesvbrixen: tyvm
02:39:19brixenyw, I think that will enable you to edit pages. if not, you'll need to ask evan about what perms you need
02:40:10wmoxam enters the room.
02:41:34fbuilesvbrixen: How do you usually edit the pages? I don't find a mention to that anywhere, although I think I can mark tickets as open/resolved/closed/etc.
02:41:58womblefbuilesv: You can mark tickets closed? I can't seem to do that.
02:42:03wombleEven my own.
02:42:48fbuilesvwomble: Open, resolved, invalid on hold, not exactly close :)
02:43:00fbuilesvnot sure if you can do that before the invite tho
02:43:28wombleIt's strange -- I've got a commit bit, but I can't close my own tickets. <gin>
02:43:37brixenfbuilesv: well, I have another menu "delete page", "edit page", ... below the menu "Overview", "Tickets" ... when I'm on a page
02:43:51brixenwomble: what's your email on LH?
02:43:54fbuilesvbrixen: I get that for tickets but not for pages
02:44:08womblebrixen: mpalmer@hezmatt.org I think
02:44:15brixenfbuilesv: heh, ok, I'm stumped. you could ask evan if you need special perms for that
02:44:26fbuilesvbrixen: It's ok, you've been too helpful :)
02:44:27brixenwomble: I'll send ya an invite to the project, one sec
02:45:10brixenwomble: sent, I think that will enable you to close tickets
02:45:15womblebrixen: Cheers.
02:45:20brixenheh, hopefully :)
02:55:39tlockney leaves the room.
03:13:28AndrewO leaves the room.
03:14:26antaresbrixen: may I have rights to edit LH pages, too? I want to maintain a literature list for shotgun development
03:15:53brixenantares: I can't give you perms, sorry. check with evan
03:16:06antaresbrixen: alright
03:16:32brixenantares: I can invite you to the project, which I believe gives you perms to edit/close tickets
03:16:45antaresbrixen: evan already did that, thanks
03:17:08brixenyeah, just saw you in the list
03:18:14wmoxam leaves the room.
03:18:27wmoxam enters the room.
03:20:43kevwil enters the room.
03:25:49mae leaves the room.
03:27:57mae enters the room.
03:30:49tlockney enters the room.
03:36:33loincloth_ leaves the room.
03:39:08fbuilesvantares: next time post to the blog before answering here so you get 1 more visit :P
03:39:42antaresfbuilesv: happy that you came across novemberain ;)
03:40:00fbuilesv:)
03:49:21srbaker leaves the room.
03:49:24srbaker_ enters the room.
03:52:40kevwil leaves the room.
04:03:32dmpk2kantares: did your page with references for shotgun-related material go up?
04:04:59antaresdmpk2k: it is unfinished but there's a ticket assigned to me at LH. I will be published next week if I get rights to edit pages. Anyway I'll add a text file to doc directory in source tree
04:05:20antaresdmpk2k: essentially 3 books are all you need
04:06:42dmpk2kThe Smalltalk blue book is a given. What are the other two?
04:14:24benburkert enters the room.
04:21:40benburkert leaves the room.
04:23:01benburkert enters the room.
04:24:56jero5 enters the room.
04:32:16benburkert leaves the room.
04:34:55imajes leaves the room.
04:38:50benburkert enters the room.
04:57:31antaresdmpk2k: virtual machines (I do not remember author, not shipped for me yet) and garbage collection book (again, I need to look up author later)
04:58:28dmpk2kThere's only one GC book, so I know which you refer to.
04:58:49dmpk2kThe VM one I have no idea about. Let me know when the page goes up?
04:58:49MenTaLguY leaves the room.
05:07:48rueMoops
05:08:16rueHas anyone been able to trace the first breaking?
05:15:43antares leaves the room.
05:16:02mass enters the room.
05:20:45wmoxam leaves the room.
05:21:19tlockney leaves the room.
05:22:00rueOK, coming up with a <50-character description of what FFI is is trickier than one would think :D
05:26:41fbuilesvInterface for invoking code from another language is 49 chars long :P
05:29:33srbaker leaves the room.
05:40:03fbuilesv leaves the room.
05:40:46fbuilesv enters the room.
05:41:30antares enters the room.
05:44:28jptix__ leaves the room.
05:48:34antaresdmpk2k: here is the VM book: http://tinyurl.com/3y5onn
05:50:03headiushumbug
05:57:09rueNipperdoo even
05:57:13hassox enters the room.
06:04:26peter_12 enters the room.
06:05:25peter_12so I've been wondering with genuine curiosity how the rubinius VM will be better than any of the other VM's out there that have big bucks behind them (e.g. Java VM)
06:08:30rueI believe we have plans for a MUCH cuter logo
06:09:10peter_12rue: cool
06:09:26rueApart from that, "better" is highly subjective. Theoretically being able to specialise the VM to Ruby execution would yield better performance
06:09:43peter_12I can imagine that is true
06:10:11rueOn the other hand, the JVM has been in development for what, 15 years now? They have a bit of a headstart :)
06:10:23peter_12and zillions of Sun's dollars
06:10:58rueThe other component is that we would eventually have a VM written in (a subset of) Ruby instead of C or whatever
06:11:18dmpk2kantares: thanks. :)
06:11:25peter_12ribinius uses a JIT?
06:11:43ruepeter_12: Which has obvious benefits, not the least of which is the lowered threshold to contribute
06:12:32ruepeter_12: Not at the moment. FFI stubs are essentially JITted and the code is direct threaded but no "real" JIT
06:13:22antarespeter_12: Rubinius development is concentrated around building a complete Ruby implementation and Ruby specification at the same time. Not so much work now is dedicated to performance.
06:13:42peter_12a Ruby spec like ANSI or ISO?
06:13:47antarespeter_12: I mean, at the moment
06:14:10antarespeter_12: a complete set of specs (BDD unit tests) for every bit of the language
06:14:33massI want zillions of dollars :(
06:14:46dmpk2kDid evan get the op fusion working?
06:14:52peter_12mass: ask Sun for some
06:14:57peter_12I'm sure they have some to spare
06:16:24antarespeter_12: JRuby developers are working on the same spec, by the way. So it is more than ANSI because formal specs are always violated. W3C standards are hardly standards at all in todays world :)
06:16:58peter_12antares: the JRuby folks are using the very same BDD specs code?
06:17:28womblepeter_12: As I understand it, yes.
06:17:31antarespeter_12: yes, and had plans to support Rubinius bytecode some time ago
06:17:41peter_12very cool
06:17:52peter_12what does Rubinius bytecode look like?
06:18:03womblepeter_12: Lots of 1s and 0s. <grin>
06:18:04antarespeter_12: many many integers :)
06:18:50massI'd call it intcode
06:19:00womblepeter_12: Take a look at http://www.rubini.us/rbx_documentation/vm-documentation/
06:19:06antarespeter_12: http://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_chapter26.html#TheCompiler26
06:20:03antaresit is on Smalltalk, but Rubinius borrows heavily from it. Smalltalk VM is extremely fast, btw. JVM was built upon research on Smalltalk VMs
06:23:49KirinDave enters the room.
06:24:48antaresok now, heading to bed. So far ;)
06:25:49rue*wave
06:26:16antares leaves the room.
06:27:35ruepeter_12: The bytecode is pretty simple, the VM is stack-based. So there are ops for pushing to the stack, popping off the stack, etc.
06:27:38anony enters the room.
06:27:59peter_12the op code docs are neat
06:28:32headiushmmm
06:28:43headiusI may be too tired to work on compilers tonight
06:28:54benburkert leaves the room.
06:28:54agile leaves the room.
06:28:54binary42 leaves the room.
06:28:54anonuser leaves the room.
06:28:54ndemonner leaves the room.
06:28:54evan leaves the room.
06:28:54xif leaves the room.
06:28:54pastie leaves the room.
06:28:54brixen leaves the room.
06:28:54loop leaves the room.
06:28:54scoopr leaves the room.
06:28:54drbrain leaves the room.
06:28:54matthewd leaves the room.
06:28:54maharg leaves the room.
06:29:08peter_12thanks for the info guys
06:29:11peter_12night
06:29:16headiusmaybe I should write a duby interpreter first
06:29:18rueLaters
06:31:25maharg enters the room.
06:31:31brixen enters the room.
06:31:50scoopr enters the room.
06:33:46jtoy leaves the room.
06:35:36ndemonner enters the room.
06:37:00binary42 enters the room.
06:37:18benburkert enters the room.
06:41:22matthewd_ enters the room.
06:41:22loop_ enters the room.
06:41:22agile enters the room.
06:41:22anonuser enters the room.
06:41:22evan enters the room.
06:41:22xif enters the room.
06:41:22pastie enters the room.
06:41:22loop enters the room.
06:41:22drbrain enters the room.
06:41:22matthewd enters the room.
06:41:45jartz enters the room.
06:41:47loop leaves the room.
06:42:04agile leaves the room.
06:42:45agile enters the room.
06:45:23matthewd leaves the room.
06:45:39drbrain leaves the room.
06:47:13anonuser leaves the room.
06:59:44Fishy5 leaves the room.
07:12:51ezmobius leaves the room.
07:12:52ezmobius_ leaves the room.
07:13:29rueAre mocks working correctly now?
07:18:40brixenrue: afaik
07:18:45brixenseeing odd things?
07:21:21rueNo, I did not want to commit :)
07:24:27mae leaves the room.
07:44:19_mutle leaves the room.
07:52:07joachimm enters the room.
08:00:27w1rele55 enters the room.
08:15:49jinjing enters the room.
08:16:27KirinDav_ enters the room.
08:22:44GMFlash leaves the room.
08:22:49GMFlash enters the room.
08:30:58jartz leaves the room.
08:38:13mutle enters the room.
08:38:21KirinDav_ leaves the room.
08:38:38Skip enters the room.
08:56:01brainopia enters the room.
08:56:24KirinDave leaves the room.
08:57:27jartz enters the room.
09:08:05qwert666 enters the room.
09:32:58jero5 leaves the room.
09:33:16hassox leaves the room.
09:36:24benburkert leaves the room.
09:43:22jartz leaves the room.
09:46:16lchin enters the room.
09:49:43aotearoa leaves the room.
09:52:44octopod enters the room.
10:16:56lstoll enters the room.
10:26:49lstoll leaves the room.
10:33:07foysavas enters the room.
10:43:04chris2 enters the room.
10:49:23GMFlash leaves the room.
10:51:50rby enters the room.
11:07:43womble leaves the room.
11:15:10nemerle leaves the room.
11:22:13ctennis leaves the room.
11:32:47webmat enters the room.
11:36:27jartz enters the room.
11:40:11mentz enters the room.
11:44:13wdperson enters the room.
11:53:54nemerle enters the room.
11:54:02jinjing leaves the room.
11:56:06skaar enters the room.
12:01:56jinjing enters the room.
12:02:09xif leaves the room.
12:09:23mentz leaves the room.
12:15:50foysavas leaves the room.
12:46:49jtoy enters the room.
12:50:22wdperson leaves the room.
12:52:48wdperson enters the room.
12:56:44xif enters the room.
12:59:20antares enters the room.
13:00:53lchin leaves the room.
13:05:37rby leaves the room.
13:05:54cremes enters the room.
13:19:10binary42 leaves the room.
13:38:32AndrewO enters the room.
13:45:45jartz leaves the room.
14:05:08d2dchat enters the room.
14:05:20brainopia leaves the room.
14:08:06jinjing leaves the room.
14:09:22chris2 leaves the room.
14:13:13tlockney enters the room.
14:21:10jinjing enters the room.
14:22:33therealadam enters the room.
14:23:34wmoxam enters the room.
14:28:50enebo enters the room.
14:40:39agile leaves the room.
14:58:40webmat leaves the room.
15:01:12jtoy leaves the room.
15:02:11KirinDav_ enters the room.
15:13:38rby enters the room.
15:17:25jartz enters the room.
15:31:21jptix enters the room.
15:39:00srbaker enters the room.
15:44:09antares leaves the room.
15:49:26KirinDave leaves the room.
15:49:32dewd enters the room.
15:54:20sholden enters the room.
15:55:49agile enters the room.
15:59:46evanmorning.
16:00:53brixenmorning
16:02:14rueWho?
16:03:30therealadamFirst.
16:05:45rueThere were three or four
16:07:17jptix_ enters the room.
16:07:17jptix leaves the room.
16:08:33jptix enters the room.
16:11:04loincloth_ enters the room.
16:15:33headius leaves the room.
16:19:24loincloth_ leaves the room.
16:19:37loincloth_ enters the room.
16:24:19nicksieger enters the room.
16:24:28Fullmoon enters the room.
16:24:39moofbong enters the room.
16:25:41jptix_ leaves the room.
16:27:21chris2 enters the room.
16:28:02rueI thought you were supposed to be in Schwartzwald somewhere? :P
16:28:55antares enters the room.
16:35:38jartz leaves the room.
16:44:13headius enters the room.
16:49:16dgtized leaves the room.
16:54:21imajes enters the room.
16:57:06KirinDave enters the room.
17:00:59mutle leaves the room.
17:02:10dodecaphonic enters the room.
17:05:07evanrue: who?
17:06:10Fullmoon leaves the room.
17:21:59headius leaves the room.
17:29:49srbaker leaves the room.
17:29:51srbaker_ enters the room.
17:31:46chris2rue: tomorrow
17:31:55GMFlash enters the room.
17:38:26ruechris2: Ah! /me cannot read
17:43:17tlockney leaves the room.
17:50:33fbuilesv leaves the room.
17:53:46fbuilesv enters the room.
17:57:03antares leaves the room.
17:57:25srbaker_ leaves the room.
18:01:04srbaker enters the room.
18:03:15fbuilesvhas someone tried to reproduce #430 (TCPSocket spec error by antares)?
18:03:44djwhittfbuilesv: are you trying to reproduce it?
18:03:54fbuilesvdjwhitt: yes but I can't seem to do it
18:03:56DefilerYeah, I have reproduced that
18:04:08djwhittjust replace localhost with something else in your /etc/hosts
18:04:10thehcdreamer enters the room.
18:04:12fbuilesvDefiler: did you do anything special besides adding to entries to hosts?
18:04:24DefilerNope. Just make sure it is on two lines
18:04:36fbuilesvI left localhost with some other ones as the pastie said, gonna replace it then
18:04:41Defilerrather than: 127.0.0.1 localhost,foo.example.com,other
18:04:51Defileror just spaces, I can never remember
18:04:58djwhittit's spaces
18:06:09fbuilesvI had 127... localhost <linebreak>127... some_other_stuff and it still worked
18:06:18fbuilesvwithout localhost it breaks indeed
18:06:41DefilerWhat OS?
18:06:51fbuilesvDefiler: Linux
18:07:14DefilerI suspect it was reported on OS X. Maybe the Linux syscall behaves differently, or caches for a while?
18:07:22djwhittfbuilesv: it would probably break even with localhost in there as long as you made sure it wasn't the first entry in the list
18:07:30fbuilesvdjwhitt: it was the first one
18:07:34DefilerI know that changes I make in the hosts file immediately fail the spec in question on OS X
18:07:46fbuilesvI just copy pasted his example
18:08:02djwhittfbuilesv: interesting
18:08:38djwhittDefiler: I'm pretty sure antares is on Linux
18:09:08djwhittcould just be different lib versions or something that's making the difference
18:10:40headius enters the room.
18:17:57benburkert enters the room.
18:20:16jbwiv_ enters the room.
18:26:03fbuilesvSo, the main problem is that it's verifying against localhost instead of the actual hostname, and the actual hostname is the first element that points to 127.0.0.1 in hosts, right?
18:29:07xif leaves the room.
18:36:22jptix_ enters the room.
18:43:16jbwiv_ leaves the room.
18:43:27xif enters the room.
18:44:05jayWHY enters the room.
18:49:05fbuilesvreplacing the instances of localhost by Socket.gethostname seems to solve the problem, any objections to doing that?
18:50:22djwhitthow is gethostname tested?
18:50:36djwhittI guess I could just look for myself...
18:50:37djwhittlooks
18:50:38fbuilesvdjwhitt: it's not
18:50:45fbuilesvdjwhitt: I couldn't find it at least
18:50:47zf leaves the room.
18:50:49djwhittreally?
18:50:51fbuilesvand it doesn't appear on the docs either
18:51:00djwhittah, then I'd probably not use that
18:51:13djwhittyou could try calling out to the shell
18:51:25djwhittbut I'm not sure what you could use that would be crossplatform enough
18:51:27zf enters the room.
18:51:41djwhittactually... now that I think about it I'm not sure what you could use at all
18:51:41fbuilesvhostname would work in unix, no idea of what works in windows though
18:52:11djwhittah true, hostname would work
18:52:22djwhitthang on I'll see what's available on windows
18:52:36djwhitthostname appears to work there as well
18:53:31djwhittI'd use that, unless anyone objects
18:55:23brixenhmm, if I'm understanding correctly, I'd prefer we spec Socket.gethostname and use that, rather than shelling out
18:55:23fbuilesvis the output in Windows just the hostname?
18:55:42fbuilesvbrixen: I'm trying to find out why there's no mention to the function in RDoc, I'd like to use that too
18:55:47djwhittfbuilesv: yep, but do what brixen says instead
18:55:56brixenI don't know why ri doesn't know about Socket.gethostname
18:56:06brixenI see it in the pickaxe book
18:56:35headiusg'day!
18:56:38fbuilesvok then, I'll use that instead
18:56:57brixenfbuilesv: ok sounds good
18:57:01brixenheadius: howdy
18:57:02djwhittbrixen: why would you use that instaed? just prefer to keep shell calls to a minimum?
18:57:10brixendjwhitt: yeah
18:57:17brixenless x-platform stuff to worry about
18:57:24brixenand it seems to be part of Socket interface
18:57:24headiushow's it going
18:57:43djwhittbrixen: ok, make sense
18:57:48djwhitt*makes
18:58:06brixenheadius: pretty good, but the number of things that MRI does that are mostly coincidental to its implementation can be maddening
18:58:21headiusit certainly can be
18:58:29brixenheadius: I'm 5 experiments into trying to decompose some string ops and optimize them a bit
18:58:31fbuilesvnow, to spec gethostname, any idea besides shelling?
18:58:37skaar leaves the room.
18:58:38headiusoh?
18:58:48headiuswhich ops, and optimize how?
18:59:04brixenfbuilesv: there you probably have to shell
18:59:19fbuilesvbrixen: yeah, will do
18:59:22brixenfbuilesv: but that will be easier to make x-platform as needed
18:59:31brixenheadius: well, #count and friends and #tr and friends
19:00:14fbuilesvbrixen: in Unix hostname works, and according to djwhite that works in Windows too, I'll use the same example for those and leave a comment in case someone wants to try in another system?
19:00:16headiusthere's a string ops benchmark in our suite you might be able to use
19:00:17brixenheadius: for example: "abc".tr "abaca", "12345" => "524"
19:00:39brixenfbuilesv: sounds good, we can use platform guards if needed
19:01:05headiusyeah, I know tr...is it used by something you're trying to speed up?
19:01:18brixenheadius: I take a look at your benches
19:01:19fbuilesvdjwhitt: in Windows it only returns the hostname too, right?
19:01:41brixenheadius: I modified the bm_string that wycats wrote to remove some bias
19:01:51headiusbm_string in your repo?
19:01:56headiusnot sure I've tried that one
19:02:05brixenyeah, rubinius/bm_string
19:02:25brixenthere's a bunch of problems with it though
19:02:35brixenI'll be checking in bm_string1.rb in bit
19:02:48headiuswow, really short runs
19:03:07brixenyeah, and stuff like "HELLO".downcase just won't give you accurate info on real strings
19:03:20brixenand there's a bunch of mutating methods that don't dup
19:03:25mae enters the room.
19:03:35brixenbut it's a start
19:03:59headiusyeah, they're way too short to be useful for us at least, almost everything under 0.01s
19:04:14brixenI've fixed up most of that and the string size it uses is a randomly generated 100-char string of upper, lower, digits, and punct
19:04:18headiusstarts to be too sensitive to noise at that level
19:04:31brixenyeah
19:04:42headiusrandomly generated won't give consistent results from run to run though
19:04:47headiusyou should algorithmically generate it
19:04:54brixenit's a consistent string, randomly generated once
19:04:57headiusok
19:05:05brixenI'm all for a better algorithm
19:05:15brixendo you know of emperical data on distributions?
19:05:25brixenfor strings in "real-life" apps?
19:05:28brixenthat's what I want
19:06:11brixenheadius: http://pastie.org/169844
19:06:54brixenfor benches like #casecmp, I dup and reverse one and compare those
19:07:53ezmobius enters the room.
19:08:15brixenthe problem I'm seeing is that it's really hard to decompose these to a different algorithm where bits can be selectively optimized
19:08:31headiusnope, don't know of any such data
19:08:47brixenall C or all ruby is easy enough, but the perf in ruby without a couple critical time primitives won't cut it yet
19:08:51headiusjust use data for english prose
19:08:52jartz enters the room.
19:09:30brixenwell, prose would be one distribution profile, but not sure that's the same as vernacular, which you might see in e.g. twitter
19:09:59headiusgotta start somewhere :)
19:10:01brainopia enters the room.
19:10:15brixenheh, yeah. I'll do random for now
19:14:53headiuswhat's the latest status btw?
19:14:57headiusthings been a little quiet
19:17:16cremeswe're waiting for duby to be released before we unleash all of our commits ;0
19:17:32DefilerI've had a cold. =(
19:18:01srbaker leaves the room.
19:18:02fbuilesvI've updated the socket's ticket with a patch, please take a look.
19:18:09fbuilesvit'd be awesome if someone could test it on windows
19:18:51djwhittfbuilesv: I don't think Rubinius runs on Windows yet
19:19:01fbuilesvdjwhitt: great then
19:19:52DefilerThe specs should, though
19:19:56Defiler(at least spec/ruby)
19:21:15djwhittoh, good point
19:21:40srbaker enters the room.
19:22:32headiusDefiler: I thought a cold meant an opportunity to lie in bed and work more
19:22:44headiuscremes: I was thinking of writing a rubinius back-end for the new duby codebase initially, since it would be simpler than JVM bytecode (no static typing to worry about)
19:22:48fbuilesvI also uploaded some of the first specs for REXML yesterday so if someone's interested please check them out.
19:23:08cremesheadius: but...?
19:23:20headiusobviously it would just throw away most of the inference logic, but it would be a simple way to test general execution
19:23:59headiusbut nothing...I was just thinking about doing it
19:24:27headiusI've got it so it can construct a new fully-typed AST from simple pieces of code
19:24:36headiuspastie
19:24:48djwhittif only we had a machine that would convert headius's thought's directly into code
19:24:55djwhitterr... *thoughts
19:26:13headiustruly
19:26:31djwhittheadius: you should get some people at sun to work on that ;)
19:26:32headiusit would go on a killing rampage and mean the fall of humankind
19:27:04djwhittoh, maybe no then...
19:27:09pastiehttp://pastie.org/169854 by headius.
19:27:50headiusso that's inferring return type correctly for fib, also taking into account it's an instance method on the Fib class
19:28:11headiusall types are represented as symbolic names now, not java-specifics
19:28:33cremesi'll have to download that soon and take a look at how you're doing it
19:28:34headiusso it should be possible to map it back into ruby (e.g. rubinius bytecode) or C or JVM or whatever
19:28:52cremessounds like garnet come alive!
19:29:11headiusprovided there's a dictionary of common types between platforms, much code written in duby could target any backend
19:29:25jayWHY leaves the room.
19:29:45headiusno compiler yet though
19:29:56headiusthis is all new work, not using the compiler for the first prototype
19:31:20evanheadius: have you come up with a remote type binding procedure?
19:31:40evanie, how to declare something thats external, so that the TI process can pick up info from the declaration
19:32:21Defilerevan: Is it possible/likely that syscalls made by our FFI layer would not show up in strace?
19:32:28evanno
19:32:40DefilerHrm.
19:32:57evanwhat are you expecting to see?
19:33:09DefilerI don't see our 'setsockopt' calls in the trace output, even though those lines of code execute without error
19:33:19evanit might not be a syscall
19:33:34Defilershows up in the trace output from MRI, at least
19:33:43evanhm.
19:33:57evanwell, there is really no way FFI can interfere with that
19:34:01DefilerBut it is clearly happening, because 'getsockopt' returns the expected options after setsockopt
19:34:03evanunless setsockopt isn't being called at all
19:35:20DefilerOK, so there's nothing obvious I am missing, it seems. That helps
19:35:37Defilerwas hoping not to hear "lol nub no syscall entry points in ffi"
19:35:56dgtized enters the room.
19:36:25evansyscalls are all hidden inside C functions
19:41:06jartz leaves the room.
19:45:32TheVoice enters the room.
19:49:07headiusback now, sorry
19:49:23headiusevan: all types are just declared as symbolic entities
19:49:36headiusand registered into a list of known types in the typer
19:49:43mark__ enters the room.
19:49:53headiusexternal types would match the same abstract type interface but be backed by platform-specific code
19:50:26headiusso it wouldn't be difficult at this stage to write a Duby AST walker that dumps out C code based on :fixnum => int, etc
19:50:40evani mean the syntax for declaring an external function
19:50:52headiusno
19:51:10headiusthis doesn't define or require that for JVM...for C I suppose it might, but that's more the job of the C typer impl
19:51:16evanis the code that coverts from the jruby AST to the duby AST hardwired?
19:51:37antares enters the room.
19:51:38headiusit is currently, decorations on our AST
19:51:50headiusbut I was thinking of trying to do a PT-based transform based on ruby_parser today
19:52:01headiusthe ASTs aren't that different at this level
19:52:02antaresfbuilesv: around?
19:52:11fbuilesvantares: yes
19:52:17evanyeah, i was going to say, if you translate from PT format to duby AST, it would work under rubinius right now
19:52:29headiusright
19:52:37headiusthat's the only platform-specific part of the new duby codebase right now
19:52:47headiusthe inference logic doesn't do anything jruby or jvm-specific
19:52:59headiusjust juggles symbolic type references around
19:53:17headiusoh, and type references currently don't support polymorphism...so it has to be an exact match between two branches or it fails
19:53:27headiusthat can be improved in the future
19:53:37evanright
19:53:42evanthats actually good likely
19:53:46headiussupporting that would just mean a PolymorphicTypeReference that understands hierarchies
19:53:54evanOCaml (seen as the most advanced TI) does the same thing
19:53:55headiusit's already making the appropriate calls
19:54:01headiusis_parent?, narrow, combine
19:54:14headiusthey all just confirm equality right now
19:54:18evanoh, i see
19:54:26evanyou mean in an OO way
19:54:29antares leaves the room.
19:54:34headiusyeah
19:54:35antares enters the room.
19:54:38evanletting the typer know :String is a subclass of :Object
19:54:40headiusagain, not important for all backends so I haven't done it
19:54:41headiusright
19:54:48evanso if you see something with :String, you can use :Object methods
19:54:49headiusand then allowing String to be returned where Object is
19:54:51headiusyes
19:54:58evangotcha
19:55:02evanthat makes sense
19:55:07antaresfbuilesv: ping
19:55:09headiusor allowing LPDWORD to be returned where int is, hypothetically
19:55:13fbuilesvantares: pong
19:55:20headiusequivalence and hierarchy
19:55:26evanprobably what you want to do is let the typer handle resolve_base(type_one, type_two)
19:55:35evanit can just blow up if the types aren't related
19:55:36antaresfbuilesv: did you run REXML specs on single files or rake spec / rake spec:ci only?
19:55:40evanotherwise, have it return the base type
19:55:47evanand mark the notes as having that type
19:55:59evans/notes/nodes/
19:56:08fbuilesvantares: I ran them individually while writting each one and then ./bin/mspec ci, giving you problems?
19:56:41antaresfbuilesv: weird but I have failures on single spec run. Let me double check, it might be my fault
19:56:52headiusevan: that's basically what's it's doing now, but just failing if they're not equivalent
19:56:57fbuilesvantares: some of them do fail, that's why I tagged them as failing
19:56:58imajes__ enters the room.
19:57:10fbuilesvantares: I documented then with the bug/patch # on Ruby's tracker
19:57:25antaresfbuilesv: ah, I see
19:57:41fbuilesvs/then/them/
19:58:06fbuilesvantares: take a look at the failing ones if you want, I wrote patches for the ones I thought were bugs and I sent the test cases to ruby-core, waiting on an answer
19:58:16evanheadius: as, so a typer could already override it to provide class-based information
19:58:18imajes_ leaves the room.
19:58:24headiusyes
19:58:29evannice
19:58:46fbuilesvantares: Also, I sent a patch for your socket's problem, check it out and see if it fixes your problems
19:58:54headiusthe existing typer could do it too, you just need to register appropriate typereference impls with it
19:58:57antaresfbuilesv: gotcha. I want to update example titles a bit though
19:59:05fbuilesvantares: Please go ahead
19:59:14headiusright now it starts out only knowing :string, :fixnum, :float, and :boolean
19:59:23antaresfbuilesv: I am applying patches from LH at the moment. You did not push them, did you?
19:59:26headiusclass Foo registers :foo as a new TypeDefinition
19:59:34fbuilesvantares: No, I don't have commit bit yet
19:59:42jartz enters the room.
19:59:44antaresfbuilesv: ok
19:59:46headiusa reference to an external type, like through a Java import, would probably register an ExternalTypeReference that knows about that platform
20:00:00headiusbut the symbolic names are what you use in the code
20:00:06headiusa => :fixnum
20:02:08thehcdreamer leaves the room.
20:02:09dgtized leaves the room.
20:02:48jptix_ leaves the room.
20:02:55headiusmaybe I'll try to create a C code generator quick based on fib, sort of a proof of concept
20:03:12evansure
20:03:22evanif the names are symbolic, that keeps everything nice and portable
20:05:46headiusyes
20:11:06rueMaybe even an escalator
20:12:07dgtized enters the room.
20:13:32mark__ leaves the room.
20:14:10jayWHY enters the room.
20:20:01srbaker leaves the room.
20:20:58srbaker enters the room.
20:22:44imajes leaves the room.
20:23:24imajes enters the room.
20:23:27antaresrue: when using before with block inside shared's block, is mspec behaviour the same as RSpec?
20:24:26antaresrue: rspec calls "shared" before-s at the time it_should_behave_like is executed in evenloping examples group
20:26:42nicksieger leaves the room.
20:27:34nicksieger enters the room.
20:32:25womble enters the room.
20:32:42antaresfbuilesv: socket spec patch introduces different behaviour but spec still fails for me when I have several hosts for 127.0.0.1 in /etc/hosts
20:33:40w1rele55 leaves the room.
20:33:44fbuilesvantares: Fails with the same errors? Patch's supposed to get rid of hard coded localhosts to replace them with the first 127.0.0.1 alias
20:34:36antaresfbuilesv: it returns something weird on my Mac: stormblast-2.local (stormblast is real host name)
20:35:15fbuilesvantares: what does "hostname" return in a Terminal
20:35:22antares.local naming policy is standard to Apple zeroconf networking by the way, it may make difference I am on OS X
20:35:36antaresthe same thing
20:35:44antares(stormblast-2.local)
20:35:45djwhittantares: so, you only see that on OS X?
20:35:55djwhittantares: I thought you were on linux
20:36:01antaresdjwhitt: I have my linux pc down at the moment and cannot try
20:36:07fbuilesvantares: wait, Mac appends -local to the original hosts?
20:36:10w1rele55 enters the room.
20:36:16antarescan someone on linux and windows apply that patch?
20:36:53fbuilesvantares: let me rephrase that question: In hosts you have stormblast but when running "hostname" you get stormblast-local as the hostname?
20:37:29antaresfbuilesv: look
20:37:30antares~/dev/opensource/rbx patches$ hostname
20:37:31antaresstormblast-2.local
20:38:06antareswhen I open up sys preferences, I see stormblast as my "computer name" (effectively host name for non-technical people)
20:38:11fbuilesvantares: you're using the same entry you uploaded to pastie?
20:38:13fbuilesvin hosts
20:38:40antaresfbuilesv: yes, everything is the same
20:39:00fbuilesvantares: where does the -2 comes from then?
20:41:32antaresfbuilesv: look: http://pastie.org/private/ifa4kcp44t3ean8gkkqtw
20:42:22antaresfbuilesv: here is /etc/hosts: http://pastie.org/private/cxscdyckb1qaj18nrnna
20:43:27srbaker leaves the room.
20:43:34fbuilesvantares: So hostname there doesn't read the hostname from /etc/hosts but from another setting? I dont see stormblast in your hosts
20:43:52antaresfbuilesv: looks like that
20:44:27fbuilesvantares: Mmm, then yes, that patch won't work at all
20:46:23benburkert leaves the room.
20:47:44antaresfbuilesv: grepping for stormblast from root ;)
20:47:52antaresI mean /
20:48:07fbuilesvantares: I think I have time to grab coffee then :P
20:49:12fbuilesvantares: you said that only happens with zeroconf, if you were to set the static IP we could expect it to give it the name on hosts?
20:49:58antaresfbuilesv: no I do not use zeroconf, I mean this .local thing is OS X specific naming policy that comes from Apple' Bonjour protocol/service
20:50:21fbuilesvantares: that's good news, what about the -2, any idea of why's that there?
20:50:34antaresI use dhcp and cannot switch to static: AirPort base station won't play my ISP :(
20:50:42antaresno clue :)
20:50:50fbuilesvantares: nah, not asking you that, I was just afraid of having separate places to check depending on the config
20:50:51antaresok let me update and apply REXML patch first
20:50:54pate enters the room.
20:50:59fbuilesvty
20:51:35antaresfbuilesv: and you definitely have time to grab coffee ;)
20:51:44fbuilesvwill do!
20:56:56srbaker_ enters the room.
20:58:50sholden leaves the room.
20:59:28ctennis enters the room.
21:01:16antaresfbuilesv: I got it. I believe this comes from my wifi router that also has name of stormblast...
21:02:57antares leaves the room.
21:03:02benburkert enters the room.
21:03:33radarek enters the room.
21:04:22antares enters the room.
21:06:18antares leaves the room.
21:06:50wycats enters the room.
21:06:53antares enters the room.
21:07:15fbuilesvantares: stable now?
21:09:46fbuilesvantares: here?
21:10:08antaresfbuilesv: I am working on REXML patch. Hostname problem is still here
21:11:01fbuilesvantares: I _think_ the problem's in the implementation, not in the spec. TCPSocket.new returns a hostname taken out of /etc/hosts while your hostname differs from that
21:12:08antaresfbuilesv: I wish I knew more on network programming ;)
21:12:58fbuilesvantares: same here :)
21:14:31dodecaphonic leaves the room.
21:14:33antaresfbuilesv: well, time to learn for s two
21:14:54antaresfor us two
21:19:43fbuilesvantares: What does this return for you: Socket.getaddrinfo("127.0.0.1", 0)[2][2]
21:20:18ezmobius leaves the room.
21:20:46ezmobius enters the room.
21:20:51wycats_ enters the room.
21:24:21antaresfbuilesv: http://pastie.org/169937
21:30:12fbuilesvantares: well, that only gives us the first host that matches the IP in hosts but we might be able to work with that
21:31:06fbuilesvgonna get the mac and see what I can do about it
21:31:27antaresfbuilesv: can you try on mac?
21:32:22fbuilesvantares: yeah, I was just to lazy to get my ass off the chair :P
21:32:42antaresfbuilesv: arrrgh :)
21:35:41hassox enters the room.
21:36:03wycats leaves the room.
21:37:00chris2 leaves the room.
21:51:54GMFlash leaves the room.
21:56:27Skip leaves the room.
21:57:51GMFlash enters the room.
22:00:32moofbong leaves the room.
22:05:54wmoxam leaves the room.
22:06:10antaresfbuilesv: one of examples in your patch states the following: REXML::Document.write returns document with support for IE. What do you mean? I cannot get it from spec example => example is poor
22:06:45antareswe must have clear example titles because it is the first Ruby specification out there ;)
22:08:10AndrewO leaves the room.
22:10:29fbuilesvantares: The boolean value sets a IE Hack on REXML so it turns <a/> to <a />, maybe "Adds a space at the end of unitary(?) tags" is better?
22:12:33hoopy leaves the room.
22:13:52srbaker leaves the room.
22:15:38hoopy enters the room.
22:18:54Skip enters the room.
22:21:38antaresfbuilesv: I need your name for commit message
22:21:51fbuilesvantares: Federico Builes, thought it was in the patch.
22:22:13antaresfbuilesv: because I updated your specs on a separate branch I did a squash merge
22:22:34antaresfbuilesv: nice to meet you, Federico :)
22:22:43fbuilesvantares: same, Michael :P
22:22:51fbuilesvantares: http://pastie.org/private/ghmbfrhiwgtdblo9tybzq
22:23:38fbuilesvanony: that obtains the hostname from the same place TCPServer does so it _should_ be ok now. I tested it on Mac and Ubuntu. The only problem is that it's still failing on Mac with an IPv6 MAC.
22:23:46fbuilesvantares: that was for you, not anony
22:24:19w1rele55 leaves the room.
22:24:37fbuilesvantares: Not entirely positive if that's the best way to do it though
22:24:53antaresfbuilesv: first make it run, then make it nice
22:24:59fbuilesv:)
22:25:08antaresfbuilesv: doing a sanity check CI run and pushing your patch
22:25:16fbuilesvantares: tyvm
22:26:14antaresfbuilesv: you may want to check up my changes, I removed some duplication and changes many example titles
22:26:34antaresfbuilesv: I probably care too much about specs readability ;)
22:26:36fbuilesvantares: I sure will, that'll help me with the new ones I'm writting right now
22:26:48fbuilesvantares: who said that was bad :P
22:27:56boyscout1 commit by Michael S. Klishin
22:27:57boyscout * Applied slightly modified patch by Federico Builes:; 7131328
22:29:02antaresfbuilesv: now give evan your public key and reference to commit 7131328
22:29:22antaresfbuilesv: and thanks for your efforts on making a better Ruby
22:29:34srbaker enters the room.
22:30:56srbaker leaves the room.
22:31:07wombleWhat are the sorts of things I should be looking for when I see a VM crash with "Attempted to access field of non-reference"?
22:31:42antareswomble: oop.h probably, it is hard to say without a gdb run
22:31:59drbrainwomble: what were you trying to run?
22:31:59wombleantares: I can do a gdb run. <grin>
22:32:19antaresfbuilesv: so I supposed to apply another patch from pastie and check again on OS X?
22:32:36wombledrbrain: I'm working on UDPSocket#recvfrom. I'm sure it's my fault it's broken, but I'm not sure where in what I've done to start looking to track it down.
22:32:46fbuilesvantares: apply that over the last one if you don't mind
22:33:00drbrainwomble: did you mess with @descriptor?
22:33:04antaresfbuilesv: roger
22:34:05wombledrbrain: Not directly. I'm only passing descriptor into the attached recvfrom.
22:34:56drbrainwomble: I was curious because @descriptor is not to be touched, as descriptor is the thing to pass around
22:35:10antaresfbuilesv: could you upload patch to LH please? git refuses to apply copied pastie
22:35:17drbrain@descriptor is an ivar_as_index, which is something else entirely, and sometimes causes these problems
22:35:30fbuilesvantares: oh yes, -p1 it , I failed at extracting it
22:35:38fbuilesvantares: if that doesn't work Ill upload to LH
22:35:58wombledrbrain: Yeah, I tried calling Socket::Foreign.recvfrom(@descriptor, ...) first, and that didn't work at all, so I've got Socket::Foreign.recvfrom(descriptor, ...) now (with attach_function "recvfrom" in Socket::Foreign, obviously)
22:36:17agile leaves the room.
22:36:28wombleI'll run the test suite under gdb and see what I can see.
22:36:29drbrainyeah, that sounds right
22:36:39antaresfbuilesv: how you got this diff, git format patch, git diff or what?
22:36:46fbuilesvantares: git-format-patch
22:36:59drbrainstill, it's pretty hard to run into the field of non-reference problem
22:37:01antaresfbuilesv: weird. Upload it to LH ticket please
22:37:06drbrainso, I'm not sure what's up
22:37:09fbuilesvantares: sec
22:38:21fbuilesvantares: uploaded
22:38:21wombledrbrain: Yeah, I figure I must be doing something pretty horrid to cause such low-level things to crap out.
22:39:06fbuilesvevan: could I get commit bit please? Commits 7131328, 7f47287 and 21b07c, key's at http://pastie.org/private/jqd6b5vz8f7is7imr9lkq
22:39:13drbrainthe only other thing I can think of is that some FFI/MemoryPointer related thing is scribbling on a ruby object
22:40:11wombledrbrain: That wouldn't surprise me -- I'm using MemoryPointers in here, and I'm not sure I've got full knowledge of how they work yet. I'll re-check those too.
22:40:51rubuildius_ppcMichael S. Klishin: 7131328bc; 1780 files, 6203 examples, 20503 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/169976
22:45:19wombleOK, MemoryPointer question #1: If I've created a buffer I want to pass to an attached function with MemoryPointer, do I just pass the MemoryPointer object, or do I need to use (say) write_string to get a raw pointer?
22:45:30wombleOK, write_string definitely wasn't right one there
22:46:41djwhittbrixen: is there anyway to get mspec to quit outputting all the dots when running specs?
22:47:00wombledjwhitt: Use the spinner output filter. <grin>
22:47:20drbrainwomble: use .pointer
22:47:21antaresfbuilesv: in now fails even when I have just localhost for 1270.0.1 in /etc/hosts :)
22:47:27womble.pointer! Aha!
22:47:37antaresfbuilesv: do you use Intel Mac? 10.5 or 10.4?
22:47:44fbuilesvanony: 10.5 Intel
22:47:45drbrainwomble: zlib.rb may be of help
22:47:51antaresfbuilesv: same here
22:47:52drbrainerr, zlib.rb.in
22:47:53fbuilesvantares: That's for you again, sorry anony
22:47:58wombledrbrain: Oooh, examples. Cool. Thanks.
22:48:07fbuilesvantares: That's weird, I copy pasted your hosts file
22:48:20drbrainfor buffer writing
22:48:23fbuilesvantares: could you paste the output please?
22:48:38drbrainwomble: especially #un
22:48:42drbrainerr, #run
22:48:52antaresfbuilesv: http://pastie.org/private/syausy60wgkvpagi7lz6w
22:49:18fbuilesvantares: that's the IPv6 error I told you about
22:49:34antaresfbuilesv: it might have missed it
22:49:43fbuilesvantares: fe80::219:e3ff:fed7:f4b2%en1 is the ip according to the mac but it _should_ be just ::1
22:50:32fbuilesvantares: the patch fixes the other ones but I'm not sure how is he getting that addr
22:50:35antaresfbuilesv: I still think it has something to deal with my airport extreme configuration
22:50:46fbuilesvantares: No, I get the same error
22:51:24fbuilesvantares: actually, let me try somethign
22:51:30antaresgotta read a socket programming book
22:53:48fbuilesvantares: ok, fixed that too, I was still using Socket.gethostname
22:54:21fbuilesvantares: the fix's kinda small, want me to paste it to LH so you can try?
22:54:30dgtized leaves the room.
22:54:50antaresfbuilesv: upload to LH, if possible
22:54:57wombledrbrain: Sorry for being a bit dense, but I'm having some trouble understanding how zlib is doing it's thing. There doesn't appear to be a MemoryPointer#pointer method, and I can't work out where zlib's 'pointer' method is coming from.
22:55:09fbuilesvantares: yes, upload, not paste :)
22:56:33fbuilesvantares: uploaded
22:56:45aotearoa enters the room.
22:57:32brixendjwhitt: re dots, see also -fm
22:57:54djwhittbrixen: thanks
22:59:01drbrainwomble: ZStream is an FFI::Struct, which is a MemoryPointer
22:59:08drbrainso #pointer is implied in #run
22:59:37drbrainwomble: it is a fairly complex example
23:00:09drbrainhrm, actually, there may not be a MemoryPointer#pointer
23:00:18evanthere isn't
23:00:23evanit's FFI::Struct#pointer
23:00:27drbrainok, my bad
23:00:45chop3 enters the room.
23:00:54womblethinks he may have bitten off more than he can chew with this UDPSocket stuff
23:01:01KirinDave leaves the room.
23:04:12tmornini enters the room.
23:04:34womblehttp://pastie.caboo.se/169990 is what I've added to IPSocket. At the moment, when I call UDPSocket#recvfrom, I get Errno::EFAULT raised. Socket::Foreign.recvfrom is defined with arguments of [:int, :pointer, :int, :int, :pointer, :socklen_t], for reference
23:05:14antaresfbuilesv: I failes if I have another host on new line in /etc/hosts and passes if I have all them on one line for 127.0.0.1 — so let's think it is solved for now
23:06:07fbuilesvantares: I use them all on separate lines with no prob. Would it be too much to ask for an error log?
23:06:37antaresfbuilesv: again, expected localhost got rainbox.local
23:07:06fbuilesvantares: on getaddrinfo?
23:07:29antaresfbuilesv: TCPServer.new binds to localhost and a port with either IPv4 or IPv6 FAILED
23:07:35drbrainwomble: that last one should be pointer, right?
23:07:48drbrainwomble: instead of socklen_t?
23:07:58drbrainand, you should have a pointer in there, instead of 1024
23:07:59antaresfbuilesv: I think this spec title points to violated "one assertion per test" :)
23:08:12wombledrbrain: Ooooh, d'oh!
23:08:23fbuilesvantares: hehe. I'll try to get someone with more network knowledge to check that out
23:08:23drbrainwomble: to recieve the length of the struct sockaddr
23:09:10AndrewO enters the room.
23:09:31wombledrbrain: Yeah, you're right. I was copying getnameinfo's stuff because they both dealt with socklen_t, but didn't quite register the difference between socklen_t (in getnameinfo) vs socklen_t * (in recvfrom)
23:10:01drbrainthose *s are tricky little devils
23:10:35wombleCagey buggers.
23:10:52_martinS_ enters the room.
23:11:57rubuildius_amd64 leaves the room.
23:12:27rubuildius_amd64 enters the room.
23:14:11wombledrbrain: UR teh l3g3nd
23:14:13wombleAll working now.
23:14:46drbrainwomble: I only know that because evan saw me screw that up in a slightly different way
23:14:49drbrain:)
23:15:19wombleWell, when the next person screws up similarly, hopefully I'll be able to point out the error in their ways. <grin>
23:16:18antaresdrbrain: how do I apply patches reserving original author and adding a signed-off-by field?
23:16:32antaress/reserving/preserving
23:16:54drbrainantares: my git-fu is not that strong
23:16:58drbrainevan would know
23:16:59brixenantares: git am -s
23:17:01drbrainor brixen
23:17:13antaresbrixen: thanks
23:17:22brixennp
23:18:00tlockney enters the room.
23:18:14headiushmmm
23:19:36headiusmaking some progress
23:19:39headiuspastie
23:20:10pastiehttp://pastie.org/170002 by headius.
23:20:36d2dchat leaves the room.
23:20:39antaresbrixen: git am man raises more questions than answers :)
23:20:48headiusa few obvious things to shake out, like discovering where to spit out "return" text for C and cleaning up newline logic a bit
23:21:13brixenantares: do you have a patch formatted with git format-patch?
23:21:21brixenheadius: neat
23:21:24brainopia leaves the room.
23:21:52drbrainheadius: heh, I wrote an equivalent ages ago
23:21:52antaresbrixen: I have 3 of them in a separate directory. What I supposed to do? git am -s <dir> says "Nothing to do"
23:22:01headiusdrbrain: good for you
23:22:02brixenantares: if so, you should be able to: git am -s 0001-blah blah
23:22:22antaresbrixen: and it takes series of patches like git apply, right?
23:22:25crafterm enters the room.
23:23:05antaresbrixen: works like a charm, thank you
23:23:05brixenantares: if not coming from a mailbox, you may need to do them one at a time in the correct order
23:23:10brixenantares: ok, cool
23:23:43headiusdrbrain: what criteria did you use to determine where return values should be actual returns for C code?
23:23:57headiuswith a stack machine it's easy...just leave something on the stack
23:24:06headiusgenerating C syntax is much pickier though
23:24:11drbrainheadius: I think we required explicit returns in the ruby
23:24:20headiushmm, I don't want that
23:24:36headiusdid you infer types across methods also?