Show enters and exits. Hide enters and exits.
| 00:01:11 | qwert666 leaves the room. | |
| 00:17:23 | aotearoa enters the room. | |
| 00:18:05 | jartz leaves the room. | |
| 00:18:31 | antares | djwhitt: you are talking about be_empty commit? |
| 00:21:38 | djwhitt | antares: yeah, the be_empty matcher |
| 00:22:37 | ezmobius_ enters the room. | |
| 00:24:38 | antares | djwhitt: then it probably has something to do with how #empty? method works |
| 00:26:19 | rue | Profile it. |
| 00:28:25 | FoobarWidget leaves the room. | |
| 00:31:10 | antares | rue: what do you use for rubinius profiling btw? |
| 00:31:13 | brixen | I don't see #be_empty used in the specs |
| 00:31:45 | fbuilesv | brixen: 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:57 | fbuilesv | I'm guessing ruby-prof won't work here, any idea of what to use? |
| 00:33:08 | fbuilesv | mmm, same question as antares |
| 00:33:11 | riffraff leaves the room. | |
| 00:33:27 | imajes enters the room. | |
| 00:34:32 | brixen | it's not the be_empty matcher, that changes absolutely nothing in kernel or in shotgun |
| 00:34:54 | brixen | I just did distclean build on cb46429, right before the be_empty matcher commits |
| 00:35:11 | brixen | 809 sec to run bin/mspec ci |
| 00:35:37 | brixen | 82 sec after the specs were compiled |
| 00:39:48 | antares | brixen: what the time run used to be, you mean that it does not happen before that commit? |
| 00:42:46 | jicksta leaves the room. | |
| 00:49:13 | mae_ leaves the room. | |
| 00:50:25 | mae enters the room. | |
| 00:52:44 | antares | interesting: HEAD has 3 spec failures if I have different hosts specified for 127.0.0.1 in /etc/hosts |
| 00:56:03 | djwhitt | antares: yeah, that's kind of a known issue I think |
| 00:57:14 | antares | djwhitt: I can't see a ticket for it, should I submit one? |
| 00:58:11 | djwhitt | hmm... not sure, perhaps someone more qualified can chime in? |
| 00:59:30 | fbuilesv | what's the use of assigning different hostnames to a loopback IP? |
| 01:00:11 | djwhitt | brixen: I get 138/53 on cb46429 |
| 01:02:09 | antares | djwhitt: I see MRI returns the same (last host associated with the address), so it is a spec issues |
| 01:02:33 | antares | djwhitt: I will submit a ticket for it |
| 01:02:52 | djwhitt | antares: k |
| 01:12:56 | antares | djwhitt: I am new to FFI. I understand it uses system call to getaddrinfo, what else should I observe? |
| 01:13:05 | mark___ enters the room. | |
| 01:14:11 | djwhitt | antares: actually, so am I :) (new to FFI that is) |
| 01:14:22 | djwhitt | antares: what particular part of the code are you referring to? |
| 01:15:28 | antares | djwhitt: the failing expectation is this: spec/ruby/1.8/library/socket/tcpsocket/new_spec.rb:38 |
| 01:16:09 | antares | djwhitt: so both Rubinius and MRI show the same behaviour but there something has to be done to spec |
| 01:18:30 | djwhitt | antares: I'm not sure there's a lot you can do about that spec |
| 01:19:03 | djwhitt | antares: you need to check that the address is resolving properly somehow |
| 01:19:15 | antares | djwhitt: true, but this is interesting challenge :) |
| 01:19:55 | antares | djwhitt: first I want to understand why first of hosts other than localhost is returned |
| 01:20:30 | djwhitt | antares: in your case you have multiple entries for 127.0.0.1 in /etc/hosts ? |
| 01:20:43 | antares | djwhitt: right |
| 01:21:34 | antares | djwhitt: have a look: http://tinyurl.com/ywhcop |
| 01:21:35 | djwhitt | what do you get when you run the following on the command line: 'host 127.0.0.1' |
| 01:21:57 | fbuilesv | I'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:06 | antares | 1.0.0.127.in-addr.arpa domain name pointer localhost. |
| 01:22:52 | antares | fbuilesv: either squashing or push them as is? what's your concern about 8 local commits? |
| 01:23:53 | antares | fbuilesv: you have them on a separate branch? |
| 01:23:59 | fbuilesv | antares: yes |
| 01:24:14 | antares | fbuilesv: man git-merge, see --squash option |
| 01:24:20 | fbuilesv | antares: ty |
| 01:24:29 | antares | it just applies diff to index so you can do a single commit |
| 01:24:51 | fbuilesv | that's exactly what I was looking for so I dont have to annoy someone with 8 different patches |
| 01:25:40 | djwhitt | fbuilesv: won't git-format-patch handle multiple commits? |
| 01:25:58 | fbuilesv | djwhitt: yes, it'll generate the 8 patches |
| 01:26:08 | jero5 leaves the room. | |
| 01:26:11 | djwhitt | fbuilesv: ah, ok, never tried it |
| 01:26:13 | fbuilesv | that's what I was trying to avoid since some of those are just 3-4 liners |
| 01:27:25 | jtoy enters the room. | |
| 01:30:00 | antares | djwhitt: 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:53 | seydar enters the room. | |
| 01:36:43 | seydar | test |
| 01:37:01 | djwhitt | test test |
| 01:37:10 | seydar | ok weechat kiiiiinda works |
| 01:37:45 | seydar | good enough |
| 01:45:22 | seydar leaves the room. | |
| 01:45:29 | mark___ leaves the room. | |
| 01:46:49 | dc_ leaves the room. | |
| 01:49:42 | fbuilesv | While 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:55 | cremes | fbuilesv: i recommend sending in your patches here without waiting for mri to get patched; we go for correctness when mri has bugs |
| 01:58:21 | fbuilesv | cremes_: I'll upload to LH then, ty. |
| 01:59:13 | brixen | fbuilesv: you can wrap the specs in ruby_bug do ... end and leave a comment with the ruby bug tracker # |
| 01:59:54 | fbuilesv | brixen: Didn't know of the existance of that, will do before uploading then. |
| 02:00:12 | cremes | fbuilesv: me neither! live & learn... |
| 02:00:14 | brixen | fbuilesv: see e.g. spec/ruby/1.8/core/numeric/divmod_spec.rb |
| 02:00:27 | brixen | grep the specs for ruby_bug, there's a few examples |
| 02:00:36 | brixen | yes, I still need to completely doc the guards |
| 02:00:59 | brixen | rue started to doc them on http://rubinius.lighthouseapp.com/projects/5089/specs-guards |
| 02:09:04 | octopod leaves the room. | |
| 02:10:35 | VVSiz_ enters the room. | |
| 02:17:59 | agile enters the room. | |
| 02:19:15 | _ezmob_ enters the room. | |
| 02:20:53 | ezmobius leaves the room. | |
| 02:22:44 | MenTaLguY enters the room. | |
| 02:26:35 | womble enters the room. | |
| 02:28:53 | VVSiz leaves the room. | |
| 02:29:51 | fbuilesv | what'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:01 | womble | fbuilesv: "./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:22 | fbuilesv | womble: Ok, someone might want to update http://rubinius.lighthouseapp.com/projects/5089/howto-write-a-spec then |
| 02:31:51 | womble | fbuilesv: You're someone. <grin> |
| 02:31:55 | TheVoice enters the room. | |
| 02:32:14 | fbuilesv | womble: maybe I'm failing but...can I edit those pages as a regular user? |
| 02:33:16 | brixen | one sec, I'll update it |
| 02:33:40 | brixen | this page has the correct method under mspec tag, btw: http://rubinius.lighthouseapp.com/projects/5089/specs-runners |
| 02:34:42 | fbuilesv | brixen: I'm sorry I missed that, was looking in the CI section. |
| 02:35:08 | brixen | np |
| 02:35:23 | brixen | page updated, holler if anything else is messed up |
| 02:36:04 | brixen | fbuilesv: what's your email on LH? |
| 02:36:11 | fbuilesv | federico.builes@gmail.com |
| 02:37:09 | brixen | k, just sent an invite |
| 02:38:07 | fbuilesv | brixen: tyvm |
| 02:39:19 | brixen | yw, I think that will enable you to edit pages. if not, you'll need to ask evan about what perms you need |
| 02:40:10 | wmoxam enters the room. | |
| 02:41:34 | fbuilesv | brixen: 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:58 | womble | fbuilesv: You can mark tickets closed? I can't seem to do that. |
| 02:42:03 | womble | Even my own. |
| 02:42:48 | fbuilesv | womble: Open, resolved, invalid on hold, not exactly close :) |
| 02:43:00 | fbuilesv | not sure if you can do that before the invite tho |
| 02:43:28 | womble | It's strange -- I've got a commit bit, but I can't close my own tickets. <gin> |
| 02:43:37 | brixen | fbuilesv: well, I have another menu "delete page", "edit page", ... below the menu "Overview", "Tickets" ... when I'm on a page |
| 02:43:51 | brixen | womble: what's your email on LH? |
| 02:43:54 | fbuilesv | brixen: I get that for tickets but not for pages |
| 02:44:08 | womble | brixen: mpalmer@hezmatt.org I think |
| 02:44:15 | brixen | fbuilesv: heh, ok, I'm stumped. you could ask evan if you need special perms for that |
| 02:44:26 | fbuilesv | brixen: It's ok, you've been too helpful :) |
| 02:44:27 | brixen | womble: I'll send ya an invite to the project, one sec |
| 02:45:10 | brixen | womble: sent, I think that will enable you to close tickets |
| 02:45:15 | womble | brixen: Cheers. |
| 02:45:20 | brixen | heh, hopefully :) |
| 02:55:39 | tlockney leaves the room. | |
| 03:13:28 | AndrewO leaves the room. | |
| 03:14:26 | antares | brixen: may I have rights to edit LH pages, too? I want to maintain a literature list for shotgun development |
| 03:15:53 | brixen | antares: I can't give you perms, sorry. check with evan |
| 03:16:06 | antares | brixen: alright |
| 03:16:32 | brixen | antares: I can invite you to the project, which I believe gives you perms to edit/close tickets |
| 03:16:45 | antares | brixen: evan already did that, thanks |
| 03:17:08 | brixen | yeah, just saw you in the list |
| 03:18:14 | wmoxam leaves the room. | |
| 03:18:27 | wmoxam enters the room. | |
| 03:20:43 | kevwil enters the room. | |
| 03:25:49 | mae leaves the room. | |
| 03:27:57 | mae enters the room. | |
| 03:30:49 | tlockney enters the room. | |
| 03:36:33 | loincloth_ leaves the room. | |
| 03:39:08 | fbuilesv | antares: next time post to the blog before answering here so you get 1 more visit :P |
| 03:39:42 | antares | fbuilesv: happy that you came across novemberain ;) |
| 03:40:00 | fbuilesv | :) |
| 03:49:21 | srbaker leaves the room. | |
| 03:49:24 | srbaker_ enters the room. | |
| 03:52:40 | kevwil leaves the room. | |
| 04:03:32 | dmpk2k | antares: did your page with references for shotgun-related material go up? |
| 04:04:59 | antares | dmpk2k: 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:20 | antares | dmpk2k: essentially 3 books are all you need |
| 04:06:42 | dmpk2k | The Smalltalk blue book is a given. What are the other two? |
| 04:14:24 | benburkert enters the room. | |
| 04:21:40 | benburkert leaves the room. | |
| 04:23:01 | benburkert enters the room. | |
| 04:24:56 | jero5 enters the room. | |
| 04:32:16 | benburkert leaves the room. | |
| 04:34:55 | imajes leaves the room. | |
| 04:38:50 | benburkert enters the room. | |
| 04:57:31 | antares | dmpk2k: 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:28 | dmpk2k | There's only one GC book, so I know which you refer to. |
| 04:58:49 | dmpk2k | The VM one I have no idea about. Let me know when the page goes up? |
| 04:58:49 | MenTaLguY leaves the room. | |
| 05:07:48 | rue | Moops |
| 05:08:16 | rue | Has anyone been able to trace the first breaking? |
| 05:15:43 | antares leaves the room. | |
| 05:16:02 | mass enters the room. | |
| 05:20:45 | wmoxam leaves the room. | |
| 05:21:19 | tlockney leaves the room. | |
| 05:22:00 | rue | OK, coming up with a <50-character description of what FFI is is trickier than one would think :D |
| 05:26:41 | fbuilesv | Interface for invoking code from another language is 49 chars long :P |
| 05:29:33 | srbaker leaves the room. | |
| 05:40:03 | fbuilesv leaves the room. | |
| 05:40:46 | fbuilesv enters the room. | |
| 05:41:30 | antares enters the room. | |
| 05:44:28 | jptix__ leaves the room. | |
| 05:48:34 | antares | dmpk2k: here is the VM book: http://tinyurl.com/3y5onn |
| 05:50:03 | headius | humbug |
| 05:57:09 | rue | Nipperdoo even |
| 05:57:13 | hassox enters the room. | |
| 06:04:26 | peter_12 enters the room. | |
| 06:05:25 | peter_12 | so 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:30 | rue | I believe we have plans for a MUCH cuter logo |
| 06:09:10 | peter_12 | rue: cool |
| 06:09:26 | rue | Apart from that, "better" is highly subjective. Theoretically being able to specialise the VM to Ruby execution would yield better performance |
| 06:09:43 | peter_12 | I can imagine that is true |
| 06:10:11 | rue | On the other hand, the JVM has been in development for what, 15 years now? They have a bit of a headstart :) |
| 06:10:23 | peter_12 | and zillions of Sun's dollars |
| 06:10:58 | rue | The other component is that we would eventually have a VM written in (a subset of) Ruby instead of C or whatever |
| 06:11:18 | dmpk2k | antares: thanks. :) |
| 06:11:25 | peter_12 | ribinius uses a JIT? |
| 06:11:43 | rue | peter_12: Which has obvious benefits, not the least of which is the lowered threshold to contribute |
| 06:12:32 | rue | peter_12: Not at the moment. FFI stubs are essentially JITted and the code is direct threaded but no "real" JIT |
| 06:13:22 | antares | peter_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:42 | peter_12 | a Ruby spec like ANSI or ISO? |
| 06:13:47 | antares | peter_12: I mean, at the moment |
| 06:14:10 | antares | peter_12: a complete set of specs (BDD unit tests) for every bit of the language |
| 06:14:33 | mass | I want zillions of dollars :( |
| 06:14:46 | dmpk2k | Did evan get the op fusion working? |
| 06:14:52 | peter_12 | mass: ask Sun for some |
| 06:14:57 | peter_12 | I'm sure they have some to spare |
| 06:16:24 | antares | peter_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:58 | peter_12 | antares: the JRuby folks are using the very same BDD specs code? |
| 06:17:28 | womble | peter_12: As I understand it, yes. |
| 06:17:31 | antares | peter_12: yes, and had plans to support Rubinius bytecode some time ago |
| 06:17:41 | peter_12 | very cool |
| 06:17:52 | peter_12 | what does Rubinius bytecode look like? |
| 06:18:03 | womble | peter_12: Lots of 1s and 0s. <grin> |
| 06:18:04 | antares | peter_12: many many integers :) |
| 06:18:50 | mass | I'd call it intcode |
| 06:19:00 | womble | peter_12: Take a look at http://www.rubini.us/rbx_documentation/vm-documentation/ |
| 06:19:06 | antares | peter_12: http://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_chapter26.html#TheCompiler26 |
| 06:20:03 | antares | it 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:49 | KirinDave enters the room. | |
| 06:24:48 | antares | ok now, heading to bed. So far ;) |
| 06:25:49 | rue | *wave |
| 06:26:16 | antares leaves the room. | |
| 06:27:35 | rue | peter_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:38 | anony enters the room. | |
| 06:27:59 | peter_12 | the op code docs are neat |
| 06:28:32 | headius | hmmm |
| 06:28:43 | headius | I may be too tired to work on compilers tonight |
| 06:28:54 | benburkert leaves the room. | |
| 06:28:54 | agile leaves the room. | |
| 06:28:54 | binary42 leaves the room. | |
| 06:28:54 | anonuser leaves the room. | |
| 06:28:54 | ndemonner leaves the room. | |
| 06:28:54 | evan leaves the room. | |
| 06:28:54 | xif leaves the room. | |
| 06:28:54 | pastie leaves the room. | |
| 06:28:54 | brixen leaves the room. | |
| 06:28:54 | loop leaves the room. | |
| 06:28:54 | scoopr leaves the room. | |
| 06:28:54 | drbrain leaves the room. | |
| 06:28:54 | matthewd leaves the room. | |
| 06:28:54 | maharg leaves the room. | |
| 06:29:08 | peter_12 | thanks for the info guys |
| 06:29:11 | peter_12 | night |
| 06:29:16 | headius | maybe I should write a duby interpreter first |
| 06:29:18 | rue | Laters |
| 06:31:25 | maharg enters the room. | |
| 06:31:31 | brixen enters the room. | |
| 06:31:50 | scoopr enters the room. | |
| 06:33:46 | jtoy leaves the room. | |
| 06:35:36 | ndemonner enters the room. | |
| 06:37:00 | binary42 enters the room. | |
| 06:37:18 | benburkert enters the room. | |
| 06:41:22 | matthewd_ enters the room. | |
| 06:41:22 | loop_ enters the room. | |
| 06:41:22 | agile enters the room. | |
| 06:41:22 | anonuser enters the room. | |
| 06:41:22 | evan enters the room. | |
| 06:41:22 | xif enters the room. | |
| 06:41:22 | pastie enters the room. | |
| 06:41:22 | loop enters the room. | |
| 06:41:22 | drbrain enters the room. | |
| 06:41:22 | matthewd enters the room. | |
| 06:41:45 | jartz enters the room. | |
| 06:41:47 | loop leaves the room. | |
| 06:42:04 | agile leaves the room. | |
| 06:42:45 | agile enters the room. | |
| 06:45:23 | matthewd leaves the room. | |
| 06:45:39 | drbrain leaves the room. | |
| 06:47:13 | anonuser leaves the room. | |
| 06:59:44 | Fishy5 leaves the room. | |
| 07:12:51 | ezmobius leaves the room. | |
| 07:12:52 | ezmobius_ leaves the room. | |
| 07:13:29 | rue | Are mocks working correctly now? |
| 07:18:40 | brixen | rue: afaik |
| 07:18:45 | brixen | seeing odd things? |
| 07:21:21 | rue | No, I did not want to commit :) |
| 07:24:27 | mae leaves the room. | |
| 07:44:19 | _mutle leaves the room. | |
| 07:52:07 | joachimm enters the room. | |
| 08:00:27 | w1rele55 enters the room. | |
| 08:15:49 | jinjing enters the room. | |
| 08:16:27 | KirinDav_ enters the room. | |
| 08:22:44 | GMFlash leaves the room. | |
| 08:22:49 | GMFlash enters the room. | |
| 08:30:58 | jartz leaves the room. | |
| 08:38:13 | mutle enters the room. | |
| 08:38:21 | KirinDav_ leaves the room. | |
| 08:38:38 | Skip enters the room. | |
| 08:56:01 | brainopia enters the room. | |
| 08:56:24 | KirinDave leaves the room. | |
| 08:57:27 | jartz enters the room. | |
| 09:08:05 | qwert666 enters the room. | |
| 09:32:58 | jero5 leaves the room. | |
| 09:33:16 | hassox leaves the room. | |
| 09:36:24 | benburkert leaves the room. | |
| 09:43:22 | jartz leaves the room. | |
| 09:46:16 | lchin enters the room. | |
| 09:49:43 | aotearoa leaves the room. | |
| 09:52:44 | octopod enters the room. | |
| 10:16:56 | lstoll enters the room. | |
| 10:26:49 | lstoll leaves the room. | |
| 10:33:07 | foysavas enters the room. | |
| 10:43:04 | chris2 enters the room. | |
| 10:49:23 | GMFlash leaves the room. | |
| 10:51:50 | rby enters the room. | |
| 11:07:43 | womble leaves the room. | |
| 11:15:10 | nemerle leaves the room. | |
| 11:22:13 | ctennis leaves the room. | |
| 11:32:47 | webmat enters the room. | |
| 11:36:27 | jartz enters the room. | |
| 11:40:11 | mentz enters the room. | |
| 11:44:13 | wdperson enters the room. | |
| 11:53:54 | nemerle enters the room. | |
| 11:54:02 | jinjing leaves the room. | |
| 11:56:06 | skaar enters the room. | |
| 12:01:56 | jinjing enters the room. | |
| 12:02:09 | xif leaves the room. | |
| 12:09:23 | mentz leaves the room. | |
| 12:15:50 | foysavas leaves the room. | |
| 12:46:49 | jtoy enters the room. | |
| 12:50:22 | wdperson leaves the room. | |
| 12:52:48 | wdperson enters the room. | |
| 12:56:44 | xif enters the room. | |
| 12:59:20 | antares enters the room. | |
| 13:00:53 | lchin leaves the room. | |
| 13:05:37 | rby leaves the room. | |
| 13:05:54 | cremes enters the room. | |
| 13:19:10 | binary42 leaves the room. | |
| 13:38:32 | AndrewO enters the room. | |
| 13:45:45 | jartz leaves the room. | |
| 14:05:08 | d2dchat enters the room. | |
| 14:05:20 | brainopia leaves the room. | |
| 14:08:06 | jinjing leaves the room. | |
| 14:09:22 | chris2 leaves the room. | |
| 14:13:13 | tlockney enters the room. | |
| 14:21:10 | jinjing enters the room. | |
| 14:22:33 | therealadam enters the room. | |
| 14:23:34 | wmoxam enters the room. | |
| 14:28:50 | enebo enters the room. | |
| 14:40:39 | agile leaves the room. | |
| 14:58:40 | webmat leaves the room. | |
| 15:01:12 | jtoy leaves the room. | |
| 15:02:11 | KirinDav_ enters the room. | |
| 15:13:38 | rby enters the room. | |
| 15:17:25 | jartz enters the room. | |
| 15:31:21 | jptix enters the room. | |
| 15:39:00 | srbaker enters the room. | |
| 15:44:09 | antares leaves the room. | |
| 15:49:26 | KirinDave leaves the room. | |
| 15:49:32 | dewd enters the room. | |
| 15:54:20 | sholden enters the room. | |
| 15:55:49 | agile enters the room. | |
| 15:59:46 | evan | morning. |
| 16:00:53 | brixen | morning |
| 16:02:14 | rue | Who? |
| 16:03:30 | therealadam | First. |
| 16:05:45 | rue | There were three or four |
| 16:07:17 | jptix_ enters the room. | |
| 16:07:17 | jptix leaves the room. | |
| 16:08:33 | jptix enters the room. | |
| 16:11:04 | loincloth_ enters the room. | |
| 16:15:33 | headius leaves the room. | |
| 16:19:24 | loincloth_ leaves the room. | |
| 16:19:37 | loincloth_ enters the room. | |
| 16:24:19 | nicksieger enters the room. | |
| 16:24:28 | Fullmoon enters the room. | |
| 16:24:39 | moofbong enters the room. | |
| 16:25:41 | jptix_ leaves the room. | |
| 16:27:21 | chris2 enters the room. | |
| 16:28:02 | rue | I thought you were supposed to be in Schwartzwald somewhere? :P |
| 16:28:55 | antares enters the room. | |
| 16:35:38 | jartz leaves the room. | |
| 16:44:13 | headius enters the room. | |
| 16:49:16 | dgtized leaves the room. | |
| 16:54:21 | imajes enters the room. | |
| 16:57:06 | KirinDave enters the room. | |
| 17:00:59 | mutle leaves the room. | |
| 17:02:10 | dodecaphonic enters the room. | |
| 17:05:07 | evan | rue: who? |
| 17:06:10 | Fullmoon leaves the room. | |
| 17:21:59 | headius leaves the room. | |
| 17:29:49 | srbaker leaves the room. | |
| 17:29:51 | srbaker_ enters the room. | |
| 17:31:46 | chris2 | rue: tomorrow |
| 17:31:55 | GMFlash enters the room. | |
| 17:38:26 | rue | chris2: Ah! /me cannot read |
| 17:43:17 | tlockney leaves the room. | |
| 17:50:33 | fbuilesv leaves the room. | |
| 17:53:46 | fbuilesv enters the room. | |
| 17:57:03 | antares leaves the room. | |
| 17:57:25 | srbaker_ leaves the room. | |
| 18:01:04 | srbaker enters the room. | |
| 18:03:15 | fbuilesv | has someone tried to reproduce #430 (TCPSocket spec error by antares)? |
| 18:03:44 | djwhitt | fbuilesv: are you trying to reproduce it? |
| 18:03:54 | fbuilesv | djwhitt: yes but I can't seem to do it |
| 18:03:56 | Defiler | Yeah, I have reproduced that |
| 18:04:08 | djwhitt | just replace localhost with something else in your /etc/hosts |
| 18:04:10 | thehcdreamer enters the room. | |
| 18:04:12 | fbuilesv | Defiler: did you do anything special besides adding to entries to hosts? |
| 18:04:24 | Defiler | Nope. Just make sure it is on two lines |
| 18:04:36 | fbuilesv | I left localhost with some other ones as the pastie said, gonna replace it then |
| 18:04:41 | Defiler | rather than: 127.0.0.1 localhost,foo.example.com,other |
| 18:04:51 | Defiler | or just spaces, I can never remember |
| 18:04:58 | djwhitt | it's spaces |
| 18:06:09 | fbuilesv | I had 127... localhost <linebreak>127... some_other_stuff and it still worked |
| 18:06:18 | fbuilesv | without localhost it breaks indeed |
| 18:06:41 | Defiler | What OS? |
| 18:06:51 | fbuilesv | Defiler: Linux |
| 18:07:14 | Defiler | I suspect it was reported on OS X. Maybe the Linux syscall behaves differently, or caches for a while? |
| 18:07:22 | djwhitt | fbuilesv: 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:30 | fbuilesv | djwhitt: it was the first one |
| 18:07:34 | Defiler | I know that changes I make in the hosts file immediately fail the spec in question on OS X |
| 18:07:46 | fbuilesv | I just copy pasted his example |
| 18:08:02 | djwhitt | fbuilesv: interesting |
| 18:08:38 | djwhitt | Defiler: I'm pretty sure antares is on Linux |
| 18:09:08 | djwhitt | could just be different lib versions or something that's making the difference |
| 18:10:40 | headius enters the room. | |
| 18:17:57 | benburkert enters the room. | |
| 18:20:16 | jbwiv_ enters the room. | |
| 18:26:03 | fbuilesv | So, 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:07 | xif leaves the room. | |
| 18:36:22 | jptix_ enters the room. | |
| 18:43:16 | jbwiv_ leaves the room. | |
| 18:43:27 | xif enters the room. | |
| 18:44:05 | jayWHY enters the room. | |
| 18:49:05 | fbuilesv | replacing the instances of localhost by Socket.gethostname seems to solve the problem, any objections to doing that? |
| 18:50:22 | djwhitt | how is gethostname tested? |
| 18:50:36 | djwhitt | I guess I could just look for myself... |
| 18:50:37 | djwhitt | looks |
| 18:50:38 | fbuilesv | djwhitt: it's not |
| 18:50:45 | fbuilesv | djwhitt: I couldn't find it at least |
| 18:50:47 | zf leaves the room. | |
| 18:50:49 | djwhitt | really? |
| 18:50:51 | fbuilesv | and it doesn't appear on the docs either |
| 18:51:00 | djwhitt | ah, then I'd probably not use that |
| 18:51:13 | djwhitt | you could try calling out to the shell |
| 18:51:25 | djwhitt | but I'm not sure what you could use that would be crossplatform enough |
| 18:51:27 | zf enters the room. | |
| 18:51:41 | djwhitt | actually... now that I think about it I'm not sure what you could use at all |
| 18:51:41 | fbuilesv | hostname would work in unix, no idea of what works in windows though |
| 18:52:11 | djwhitt | ah true, hostname would work |
| 18:52:22 | djwhitt | hang on I'll see what's available on windows |
| 18:52:36 | djwhitt | hostname appears to work there as well |
| 18:53:31 | djwhitt | I'd use that, unless anyone objects |
| 18:55:23 | brixen | hmm, if I'm understanding correctly, I'd prefer we spec Socket.gethostname and use that, rather than shelling out |
| 18:55:23 | fbuilesv | is the output in Windows just the hostname? |
| 18:55:42 | fbuilesv | brixen: 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:47 | djwhitt | fbuilesv: yep, but do what brixen says instead |
| 18:55:56 | brixen | I don't know why ri doesn't know about Socket.gethostname |
| 18:56:06 | brixen | I see it in the pickaxe book |
| 18:56:35 | headius | g'day! |
| 18:56:38 | fbuilesv | ok then, I'll use that instead |
| 18:56:57 | brixen | fbuilesv: ok sounds good |
| 18:57:01 | brixen | headius: howdy |
| 18:57:02 | djwhitt | brixen: why would you use that instaed? just prefer to keep shell calls to a minimum? |
| 18:57:10 | brixen | djwhitt: yeah |
| 18:57:17 | brixen | less x-platform stuff to worry about |
| 18:57:24 | brixen | and it seems to be part of Socket interface |
| 18:57:24 | headius | how's it going |
| 18:57:43 | djwhitt | brixen: ok, make sense |
| 18:57:48 | djwhitt | *makes |
| 18:58:06 | brixen | headius: pretty good, but the number of things that MRI does that are mostly coincidental to its implementation can be maddening |
| 18:58:21 | headius | it certainly can be |
| 18:58:29 | brixen | headius: I'm 5 experiments into trying to decompose some string ops and optimize them a bit |
| 18:58:31 | fbuilesv | now, to spec gethostname, any idea besides shelling? |
| 18:58:37 | skaar leaves the room. | |
| 18:58:38 | headius | oh? |
| 18:58:48 | headius | which ops, and optimize how? |
| 18:59:04 | brixen | fbuilesv: there you probably have to shell |
| 18:59:19 | fbuilesv | brixen: yeah, will do |
| 18:59:22 | brixen | fbuilesv: but that will be easier to make x-platform as needed |
| 18:59:31 | brixen | headius: well, #count and friends and #tr and friends |
| 19:00:14 | fbuilesv | brixen: 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:16 | headius | there's a string ops benchmark in our suite you might be able to use |
| 19:00:17 | brixen | headius: for example: "abc".tr "abaca", "12345" => "524" |
| 19:00:39 | brixen | fbuilesv: sounds good, we can use platform guards if needed |
| 19:01:05 | headius | yeah, I know tr...is it used by something you're trying to speed up? |
| 19:01:18 | brixen | headius: I take a look at your benches |
| 19:01:19 | fbuilesv | djwhitt: in Windows it only returns the hostname too, right? |
| 19:01:41 | brixen | headius: I modified the bm_string that wycats wrote to remove some bias |
| 19:01:51 | headius | bm_string in your repo? |
| 19:01:56 | headius | not sure I've tried that one |
| 19:02:05 | brixen | yeah, rubinius/bm_string |
| 19:02:25 | brixen | there's a bunch of problems with it though |
| 19:02:35 | brixen | I'll be checking in bm_string1.rb in bit |
| 19:02:48 | headius | wow, really short runs |
| 19:03:07 | brixen | yeah, and stuff like "HELLO".downcase just won't give you accurate info on real strings |
| 19:03:20 | brixen | and there's a bunch of mutating methods that don't dup |
| 19:03:25 | mae enters the room. | |
| 19:03:35 | brixen | but it's a start |
| 19:03:59 | headius | yeah, they're way too short to be useful for us at least, almost everything under 0.01s |
| 19:04:14 | brixen | I'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:18 | headius | starts to be too sensitive to noise at that level |
| 19:04:31 | brixen | yeah |
| 19:04:42 | headius | randomly generated won't give consistent results from run to run though |
| 19:04:47 | headius | you should algorithmically generate it |
| 19:04:54 | brixen | it's a consistent string, randomly generated once |
| 19:04:57 | headius | ok |
| 19:05:05 | brixen | I'm all for a better algorithm |
| 19:05:15 | brixen | do you know of emperical data on distributions? |
| 19:05:25 | brixen | for strings in "real-life" apps? |
| 19:05:28 | brixen | that's what I want |
| 19:06:11 | brixen | headius: http://pastie.org/169844 |
| 19:06:54 | brixen | for benches like #casecmp, I dup and reverse one and compare those |
| 19:07:53 | ezmobius enters the room. | |
| 19:08:15 | brixen | the 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:31 | headius | nope, don't know of any such data |
| 19:08:47 | brixen | all 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:51 | headius | just use data for english prose |
| 19:08:52 | jartz enters the room. | |
| 19:09:30 | brixen | well, 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:59 | headius | gotta start somewhere :) |
| 19:10:01 | brainopia enters the room. | |
| 19:10:15 | brixen | heh, yeah. I'll do random for now |
| 19:14:53 | headius | what's the latest status btw? |
| 19:14:57 | headius | things been a little quiet |
| 19:17:16 | cremes | we're waiting for duby to be released before we unleash all of our commits ;0 |
| 19:17:32 | Defiler | I've had a cold. =( |
| 19:18:01 | srbaker leaves the room. | |
| 19:18:02 | fbuilesv | I've updated the socket's ticket with a patch, please take a look. |
| 19:18:09 | fbuilesv | it'd be awesome if someone could test it on windows |
| 19:18:51 | djwhitt | fbuilesv: I don't think Rubinius runs on Windows yet |
| 19:19:01 | fbuilesv | djwhitt: great then |
| 19:19:52 | Defiler | The specs should, though |
| 19:19:56 | Defiler | (at least spec/ruby) |
| 19:21:15 | djwhitt | oh, good point |
| 19:21:40 | srbaker enters the room. | |
| 19:22:32 | headius | Defiler: I thought a cold meant an opportunity to lie in bed and work more |
| 19:22:44 | headius | cremes: 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:48 | fbuilesv | I also uploaded some of the first specs for REXML yesterday so if someone's interested please check them out. |
| 19:23:08 | cremes | headius: but...? |
| 19:23:20 | headius | obviously it would just throw away most of the inference logic, but it would be a simple way to test general execution |
| 19:23:59 | headius | but nothing...I was just thinking about doing it |
| 19:24:27 | headius | I've got it so it can construct a new fully-typed AST from simple pieces of code |
| 19:24:36 | headius | pastie |
| 19:24:48 | djwhitt | if only we had a machine that would convert headius's thought's directly into code |
| 19:24:55 | djwhitt | err... *thoughts |
| 19:26:13 | headius | truly |
| 19:26:31 | djwhitt | headius: you should get some people at sun to work on that ;) |
| 19:26:32 | headius | it would go on a killing rampage and mean the fall of humankind |
| 19:27:04 | djwhitt | oh, maybe no then... |
| 19:27:09 | pastie | http://pastie.org/169854 by headius. |
| 19:27:50 | headius | so that's inferring return type correctly for fib, also taking into account it's an instance method on the Fib class |
| 19:28:11 | headius | all types are represented as symbolic names now, not java-specifics |
| 19:28:33 | cremes | i'll have to download that soon and take a look at how you're doing it |
| 19:28:34 | headius | so it should be possible to map it back into ruby (e.g. rubinius bytecode) or C or JVM or whatever |
| 19:28:52 | cremes | sounds like garnet come alive! |
| 19:29:11 | headius | provided there's a dictionary of common types between platforms, much code written in duby could target any backend |
| 19:29:25 | jayWHY leaves the room. | |
| 19:29:45 | headius | no compiler yet though |
| 19:29:56 | headius | this is all new work, not using the compiler for the first prototype |
| 19:31:20 | evan | headius: have you come up with a remote type binding procedure? |
| 19:31:40 | evan | ie, how to declare something thats external, so that the TI process can pick up info from the declaration |
| 19:32:21 | Defiler | evan: Is it possible/likely that syscalls made by our FFI layer would not show up in strace? |
| 19:32:28 | evan | no |
| 19:32:40 | Defiler | Hrm. |
| 19:32:57 | evan | what are you expecting to see? |
| 19:33:09 | Defiler | I don't see our 'setsockopt' calls in the trace output, even though those lines of code execute without error |
| 19:33:19 | evan | it might not be a syscall |
| 19:33:34 | Defiler | shows up in the trace output from MRI, at least |
| 19:33:43 | evan | hm. |
| 19:33:57 | evan | well, there is really no way FFI can interfere with that |
| 19:34:01 | Defiler | But it is clearly happening, because 'getsockopt' returns the expected options after setsockopt |
| 19:34:03 | evan | unless setsockopt isn't being called at all |
| 19:35:20 | Defiler | OK, so there's nothing obvious I am missing, it seems. That helps |
| 19:35:37 | Defiler | was hoping not to hear "lol nub no syscall entry points in ffi" |
| 19:35:56 | dgtized enters the room. | |
| 19:36:25 | evan | syscalls are all hidden inside C functions |
| 19:41:06 | jartz leaves the room. | |
| 19:45:32 | TheVoice enters the room. | |
| 19:49:07 | headius | back now, sorry |
| 19:49:23 | headius | evan: all types are just declared as symbolic entities |
| 19:49:36 | headius | and registered into a list of known types in the typer |
| 19:49:43 | mark__ enters the room. | |
| 19:49:53 | headius | external types would match the same abstract type interface but be backed by platform-specific code |
| 19:50:26 | headius | so 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:40 | evan | i mean the syntax for declaring an external function |
| 19:50:52 | headius | no |
| 19:51:10 | headius | this 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:16 | evan | is the code that coverts from the jruby AST to the duby AST hardwired? |
| 19:51:37 | antares enters the room. | |
| 19:51:38 | headius | it is currently, decorations on our AST |
| 19:51:50 | headius | but I was thinking of trying to do a PT-based transform based on ruby_parser today |
| 19:52:01 | headius | the ASTs aren't that different at this level |
| 19:52:02 | antares | fbuilesv: around? |
| 19:52:11 | fbuilesv | antares: yes |
| 19:52:17 | evan | yeah, i was going to say, if you translate from PT format to duby AST, it would work under rubinius right now |
| 19:52:29 | headius | right |
| 19:52:37 | headius | that's the only platform-specific part of the new duby codebase right now |
| 19:52:47 | headius | the inference logic doesn't do anything jruby or jvm-specific |
| 19:52:59 | headius | just juggles symbolic type references around |
| 19:53:17 | headius | oh, and type references currently don't support polymorphism...so it has to be an exact match between two branches or it fails |
| 19:53:27 | headius | that can be improved in the future |
| 19:53:37 | evan | right |
| 19:53:42 | evan | thats actually good likely |
| 19:53:46 | headius | supporting that would just mean a PolymorphicTypeReference that understands hierarchies |
| 19:53:54 | evan | OCaml (seen as the most advanced TI) does the same thing |
| 19:53:55 | headius | it's already making the appropriate calls |
| 19:54:01 | headius | is_parent?, narrow, combine |
| 19:54:14 | headius | they all just confirm equality right now |
| 19:54:18 | evan | oh, i see |
| 19:54:26 | evan | you mean in an OO way |
| 19:54:29 | antares leaves the room. | |
| 19:54:34 | headius | yeah |
| 19:54:35 | antares enters the room. | |
| 19:54:38 | evan | letting the typer know :String is a subclass of :Object |
| 19:54:40 | headius | again, not important for all backends so I haven't done it |
| 19:54:41 | headius | right |
| 19:54:48 | evan | so if you see something with :String, you can use :Object methods |
| 19:54:49 | headius | and then allowing String to be returned where Object is |
| 19:54:51 | headius | yes |
| 19:54:58 | evan | gotcha |
| 19:55:02 | evan | that makes sense |
| 19:55:07 | antares | fbuilesv: ping |
| 19:55:09 | headius | or allowing LPDWORD to be returned where int is, hypothetically |
| 19:55:13 | fbuilesv | antares: pong |
| 19:55:20 | headius | equivalence and hierarchy |
| 19:55:26 | evan | probably what you want to do is let the typer handle resolve_base(type_one, type_two) |
| 19:55:35 | evan | it can just blow up if the types aren't related |
| 19:55:36 | antares | fbuilesv: did you run REXML specs on single files or rake spec / rake spec:ci only? |
| 19:55:40 | evan | otherwise, have it return the base type |
| 19:55:47 | evan | and mark the notes as having that type |
| 19:55:59 | evan | s/notes/nodes/ |
| 19:56:08 | fbuilesv | antares: I ran them individually while writting each one and then ./bin/mspec ci, giving you problems? |
| 19:56:41 | antares | fbuilesv: weird but I have failures on single spec run. Let me double check, it might be my fault |
| 19:56:52 | headius | evan: that's basically what's it's doing now, but just failing if they're not equivalent |
| 19:56:57 | fbuilesv | antares: some of them do fail, that's why I tagged them as failing |
| 19:56:58 | imajes__ enters the room. | |
| 19:57:10 | fbuilesv | antares: I documented then with the bug/patch # on Ruby's tracker |
| 19:57:25 | antares | fbuilesv: ah, I see |
| 19:57:41 | fbuilesv | s/then/them/ |
| 19:58:06 | fbuilesv | antares: 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:16 | evan | headius: as, so a typer could already override it to provide class-based information |
| 19:58:18 | imajes_ leaves the room. | |
| 19:58:24 | headius | yes |
| 19:58:29 | evan | nice |
| 19:58:46 | fbuilesv | antares: Also, I sent a patch for your socket's problem, check it out and see if it fixes your problems |
| 19:58:54 | headius | the existing typer could do it too, you just need to register appropriate typereference impls with it |
| 19:58:57 | antares | fbuilesv: gotcha. I want to update example titles a bit though |
| 19:59:05 | fbuilesv | antares: Please go ahead |
| 19:59:14 | headius | right now it starts out only knowing :string, :fixnum, :float, and :boolean |
| 19:59:23 | antares | fbuilesv: I am applying patches from LH at the moment. You did not push them, did you? |
| 19:59:26 | headius | class Foo registers :foo as a new TypeDefinition |
| 19:59:34 | fbuilesv | antares: No, I don't have commit bit yet |
| 19:59:42 | jartz enters the room. | |
| 19:59:44 | antares | fbuilesv: ok |
| 19:59:46 | headius | a reference to an external type, like through a Java import, would probably register an ExternalTypeReference that knows about that platform |
| 20:00:00 | headius | but the symbolic names are what you use in the code |
| 20:00:06 | headius | a => :fixnum |
| 20:02:08 | thehcdreamer leaves the room. | |
| 20:02:09 | dgtized leaves the room. | |
| 20:02:48 | jptix_ leaves the room. | |
| 20:02:55 | headius | maybe I'll try to create a C code generator quick based on fib, sort of a proof of concept |
| 20:03:12 | evan | sure |
| 20:03:22 | evan | if the names are symbolic, that keeps everything nice and portable |
| 20:05:46 | headius | yes |
| 20:11:06 | rue | Maybe even an escalator |
| 20:12:07 | dgtized enters the room. | |
| 20:13:32 | mark__ leaves the room. | |
| 20:14:10 | jayWHY enters the room. | |
| 20:20:01 | srbaker leaves the room. | |
| 20:20:58 | srbaker enters the room. | |
| 20:22:44 | imajes leaves the room. | |
| 20:23:24 | imajes enters the room. | |
| 20:23:27 | antares | rue: when using before with block inside shared's block, is mspec behaviour the same as RSpec? |
| 20:24:26 | antares | rue: rspec calls "shared" before-s at the time it_should_behave_like is executed in evenloping examples group |
| 20:26:42 | nicksieger leaves the room. | |
| 20:27:34 | nicksieger enters the room. | |
| 20:32:25 | womble enters the room. | |
| 20:32:42 | antares | fbuilesv: 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:40 | w1rele55 leaves the room. | |
| 20:33:44 | fbuilesv | antares: 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:36 | antares | fbuilesv: it returns something weird on my Mac: stormblast-2.local (stormblast is real host name) |
| 20:35:15 | fbuilesv | antares: what does "hostname" return in a Terminal |
| 20:35:22 | antares | .local naming policy is standard to Apple zeroconf networking by the way, it may make difference I am on OS X |
| 20:35:36 | antares | the same thing |
| 20:35:44 | antares | (stormblast-2.local) |
| 20:35:45 | djwhitt | antares: so, you only see that on OS X? |
| 20:35:55 | djwhitt | antares: I thought you were on linux |
| 20:36:01 | antares | djwhitt: I have my linux pc down at the moment and cannot try |
| 20:36:07 | fbuilesv | antares: wait, Mac appends -local to the original hosts? |
| 20:36:10 | w1rele55 enters the room. | |
| 20:36:16 | antares | can someone on linux and windows apply that patch? |
| 20:36:53 | fbuilesv | antares: let me rephrase that question: In hosts you have stormblast but when running "hostname" you get stormblast-local as the hostname? |
| 20:37:29 | antares | fbuilesv: look |
| 20:37:30 | antares | ~/dev/opensource/rbx patches$ hostname |
| 20:37:31 | antares | stormblast-2.local |
| 20:38:06 | antares | when I open up sys preferences, I see stormblast as my "computer name" (effectively host name for non-technical people) |
| 20:38:11 | fbuilesv | antares: you're using the same entry you uploaded to pastie? |
| 20:38:13 | fbuilesv | in hosts |
| 20:38:40 | antares | fbuilesv: yes, everything is the same |
| 20:39:00 | fbuilesv | antares: where does the -2 comes from then? |
| 20:41:32 | antares | fbuilesv: look: http://pastie.org/private/ifa4kcp44t3ean8gkkqtw |
| 20:42:22 | antares | fbuilesv: here is /etc/hosts: http://pastie.org/private/cxscdyckb1qaj18nrnna |
| 20:43:27 | srbaker leaves the room. | |
| 20:43:34 | fbuilesv | antares: So hostname there doesn't read the hostname from /etc/hosts but from another setting? I dont see stormblast in your hosts |
| 20:43:52 | antares | fbuilesv: looks like that |
| 20:44:27 | fbuilesv | antares: Mmm, then yes, that patch won't work at all |
| 20:46:23 | benburkert leaves the room. | |
| 20:47:44 | antares | fbuilesv: grepping for stormblast from root ;) |
| 20:47:52 | antares | I mean / |
| 20:48:07 | fbuilesv | antares: I think I have time to grab coffee then :P |
| 20:49:12 | fbuilesv | antares: 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:58 | antares | fbuilesv: 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:21 | fbuilesv | antares: that's good news, what about the -2, any idea of why's that there? |
| 20:50:34 | antares | I use dhcp and cannot switch to static: AirPort base station won't play my ISP :( |
| 20:50:42 | antares | no clue :) |
| 20:50:50 | fbuilesv | antares: nah, not asking you that, I was just afraid of having separate places to check depending on the config |
| 20:50:51 | antares | ok let me update and apply REXML patch first |
| 20:50:54 | pate enters the room. | |
| 20:50:59 | fbuilesv | ty |
| 20:51:35 | antares | fbuilesv: and you definitely have time to grab coffee ;) |
| 20:51:44 | fbuilesv | will do! |
| 20:56:56 | srbaker_ enters the room. | |
| 20:58:50 | sholden leaves the room. | |
| 20:59:28 | ctennis enters the room. | |
| 21:01:16 | antares | fbuilesv: I got it. I believe this comes from my wifi router that also has name of stormblast... |
| 21:02:57 | antares leaves the room. | |
| 21:03:02 | benburkert enters the room. | |
| 21:03:33 | radarek enters the room. | |
| 21:04:22 | antares enters the room. | |
| 21:06:18 | antares leaves the room. | |
| 21:06:50 | wycats enters the room. | |
| 21:06:53 | antares enters the room. | |
| 21:07:15 | fbuilesv | antares: stable now? |
| 21:09:46 | fbuilesv | antares: here? |
| 21:10:08 | antares | fbuilesv: I am working on REXML patch. Hostname problem is still here |
| 21:11:01 | fbuilesv | antares: 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:08 | antares | fbuilesv: I wish I knew more on network programming ;) |
| 21:12:58 | fbuilesv | antares: same here :) |
| 21:14:31 | dodecaphonic leaves the room. | |
| 21:14:33 | antares | fbuilesv: well, time to learn for s two |
| 21:14:54 | antares | for us two |
| 21:19:43 | fbuilesv | antares: What does this return for you: Socket.getaddrinfo("127.0.0.1", 0)[2][2] |
| 21:20:18 | ezmobius leaves the room. | |
| 21:20:46 | ezmobius enters the room. | |
| 21:20:51 | wycats_ enters the room. | |
| 21:24:21 | antares | fbuilesv: http://pastie.org/169937 |
| 21:30:12 | fbuilesv | antares: 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:06 | fbuilesv | gonna get the mac and see what I can do about it |
| 21:31:27 | antares | fbuilesv: can you try on mac? |
| 21:32:22 | fbuilesv | antares: yeah, I was just to lazy to get my ass off the chair :P |
| 21:32:42 | antares | fbuilesv: arrrgh :) |
| 21:35:41 | hassox enters the room. | |
| 21:36:03 | wycats leaves the room. | |
| 21:37:00 | chris2 leaves the room. | |
| 21:51:54 | GMFlash leaves the room. | |
| 21:56:27 | Skip leaves the room. | |
| 21:57:51 | GMFlash enters the room. | |
| 22:00:32 | moofbong leaves the room. | |
| 22:05:54 | wmoxam leaves the room. | |
| 22:06:10 | antares | fbuilesv: 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:45 | antares | we must have clear example titles because it is the first Ruby specification out there ;) |
| 22:08:10 | AndrewO leaves the room. | |
| 22:10:29 | fbuilesv | antares: 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:33 | hoopy leaves the room. | |
| 22:13:52 | srbaker leaves the room. | |
| 22:15:38 | hoopy enters the room. | |
| 22:18:54 | Skip enters the room. | |
| 22:21:38 | antares | fbuilesv: I need your name for commit message |
| 22:21:51 | fbuilesv | antares: Federico Builes, thought it was in the patch. |
| 22:22:13 | antares | fbuilesv: because I updated your specs on a separate branch I did a squash merge |
| 22:22:34 | antares | fbuilesv: nice to meet you, Federico :) |
| 22:22:43 | fbuilesv | antares: same, Michael :P |
| 22:22:51 | fbuilesv | antares: http://pastie.org/private/ghmbfrhiwgtdblo9tybzq |
| 22:23:38 | fbuilesv | anony: 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:46 | fbuilesv | antares: that was for you, not anony |
| 22:24:19 | w1rele55 leaves the room. | |
| 22:24:37 | fbuilesv | antares: Not entirely positive if that's the best way to do it though |
| 22:24:53 | antares | fbuilesv: first make it run, then make it nice |
| 22:24:59 | fbuilesv | :) |
| 22:25:08 | antares | fbuilesv: doing a sanity check CI run and pushing your patch |
| 22:25:16 | fbuilesv | antares: tyvm |
| 22:26:14 | antares | fbuilesv: you may want to check up my changes, I removed some duplication and changes many example titles |
| 22:26:34 | antares | fbuilesv: I probably care too much about specs readability ;) |
| 22:26:36 | fbuilesv | antares: I sure will, that'll help me with the new ones I'm writting right now |
| 22:26:48 | fbuilesv | antares: who said that was bad :P |
| 22:27:56 | boyscout | 1 commit by Michael S. Klishin |
| 22:27:57 | boyscout | * Applied slightly modified patch by Federico Builes:; 7131328 |
| 22:29:02 | antares | fbuilesv: now give evan your public key and reference to commit 7131328 |
| 22:29:22 | antares | fbuilesv: and thanks for your efforts on making a better Ruby |
| 22:29:34 | srbaker enters the room. | |
| 22:30:56 | srbaker leaves the room. | |
| 22:31:07 | womble | What 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:42 | antares | womble: oop.h probably, it is hard to say without a gdb run |
| 22:31:59 | drbrain | womble: what were you trying to run? |
| 22:31:59 | womble | antares: I can do a gdb run. <grin> |
| 22:32:19 | antares | fbuilesv: so I supposed to apply another patch from pastie and check again on OS X? |
| 22:32:36 | womble | drbrain: 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:46 | fbuilesv | antares: apply that over the last one if you don't mind |
| 22:33:00 | drbrain | womble: did you mess with @descriptor? |
| 22:33:04 | antares | fbuilesv: roger |
| 22:34:05 | womble | drbrain: Not directly. I'm only passing descriptor into the attached recvfrom. |
| 22:34:56 | drbrain | womble: I was curious because @descriptor is not to be touched, as descriptor is the thing to pass around |
| 22:35:10 | antares | fbuilesv: could you upload patch to LH please? git refuses to apply copied pastie |
| 22:35:17 | drbrain | @descriptor is an ivar_as_index, which is something else entirely, and sometimes causes these problems |
| 22:35:30 | fbuilesv | antares: oh yes, -p1 it , I failed at extracting it |
| 22:35:38 | fbuilesv | antares: if that doesn't work Ill upload to LH |
| 22:35:58 | womble | drbrain: 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:17 | agile leaves the room. | |
| 22:36:28 | womble | I'll run the test suite under gdb and see what I can see. |
| 22:36:29 | drbrain | yeah, that sounds right |
| 22:36:39 | antares | fbuilesv: how you got this diff, git format patch, git diff or what? |
| 22:36:46 | fbuilesv | antares: git-format-patch |
| 22:36:59 | drbrain | still, it's pretty hard to run into the field of non-reference problem |
| 22:37:01 | antares | fbuilesv: weird. Upload it to LH ticket please |
| 22:37:06 | drbrain | so, I'm not sure what's up |
| 22:37:09 | fbuilesv | antares: sec |
| 22:38:21 | fbuilesv | antares: uploaded |
| 22:38:21 | womble | drbrain: Yeah, I figure I must be doing something pretty horrid to cause such low-level things to crap out. |
| 22:39:06 | fbuilesv | evan: could I get commit bit please? Commits 7131328, 7f47287 and 21b07c, key's at http://pastie.org/private/jqd6b5vz8f7is7imr9lkq |
| 22:39:13 | drbrain | the only other thing I can think of is that some FFI/MemoryPointer related thing is scribbling on a ruby object |
| 22:40:11 | womble | drbrain: 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:51 | rubuildius_ppc | Michael S. Klishin: 7131328bc; 1780 files, 6203 examples, 20503 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/169976 |
| 22:45:19 | womble | OK, 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:30 | womble | OK, write_string definitely wasn't right one there |
| 22:46:41 | djwhitt | brixen: is there anyway to get mspec to quit outputting all the dots when running specs? |
| 22:47:00 | womble | djwhitt: Use the spinner output filter. <grin> |
| 22:47:20 | drbrain | womble: use .pointer |
| 22:47:21 | antares | fbuilesv: in now fails even when I have just localhost for 1270.0.1 in /etc/hosts :) |
| 22:47:27 | womble | .pointer! Aha! |
| 22:47:37 | antares | fbuilesv: do you use Intel Mac? 10.5 or 10.4? |
| 22:47:44 | fbuilesv | anony: 10.5 Intel |
| 22:47:45 | drbrain | womble: zlib.rb may be of help |
| 22:47:51 | antares | fbuilesv: same here |
| 22:47:52 | drbrain | err, zlib.rb.in |
| 22:47:53 | fbuilesv | antares: That's for you again, sorry anony |
| 22:47:58 | womble | drbrain: Oooh, examples. Cool. Thanks. |
| 22:48:07 | fbuilesv | antares: That's weird, I copy pasted your hosts file |
| 22:48:20 | drbrain | for buffer writing |
| 22:48:23 | fbuilesv | antares: could you paste the output please? |
| 22:48:38 | drbrain | womble: especially #un |
| 22:48:42 | drbrain | err, #run |
| 22:48:52 | antares | fbuilesv: http://pastie.org/private/syausy60wgkvpagi7lz6w |
| 22:49:18 | fbuilesv | antares: that's the IPv6 error I told you about |
| 22:49:34 | antares | fbuilesv: it might have missed it |
| 22:49:43 | fbuilesv | antares: fe80::219:e3ff:fed7:f4b2%en1 is the ip according to the mac but it _should_ be just ::1 |
| 22:50:32 | fbuilesv | antares: the patch fixes the other ones but I'm not sure how is he getting that addr |
| 22:50:35 | antares | fbuilesv: I still think it has something to deal with my airport extreme configuration |
| 22:50:46 | fbuilesv | antares: No, I get the same error |
| 22:51:24 | fbuilesv | antares: actually, let me try somethign |
| 22:51:30 | antares | gotta read a socket programming book |
| 22:53:48 | fbuilesv | antares: ok, fixed that too, I was still using Socket.gethostname |
| 22:54:21 | fbuilesv | antares: the fix's kinda small, want me to paste it to LH so you can try? |
| 22:54:30 | dgtized leaves the room. | |
| 22:54:50 | antares | fbuilesv: upload to LH, if possible |
| 22:54:57 | womble | drbrain: 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:09 | fbuilesv | antares: yes, upload, not paste :) |
| 22:56:33 | fbuilesv | antares: uploaded |
| 22:56:45 | aotearoa enters the room. | |
| 22:57:32 | brixen | djwhitt: re dots, see also -fm |
| 22:57:54 | djwhitt | brixen: thanks |
| 22:59:01 | drbrain | womble: ZStream is an FFI::Struct, which is a MemoryPointer |
| 22:59:08 | drbrain | so #pointer is implied in #run |
| 22:59:37 | drbrain | womble: it is a fairly complex example |
| 23:00:09 | drbrain | hrm, actually, there may not be a MemoryPointer#pointer |
| 23:00:18 | evan | there isn't |
| 23:00:23 | evan | it's FFI::Struct#pointer |
| 23:00:27 | drbrain | ok, my bad |
| 23:00:45 | chop3 enters the room. | |
| 23:00:54 | womble | thinks he may have bitten off more than he can chew with this UDPSocket stuff |
| 23:01:01 | KirinDave leaves the room. | |
| 23:04:12 | tmornini enters the room. | |
| 23:04:34 | womble | http://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:14 | antares | fbuilesv: 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:07 | fbuilesv | antares: I use them all on separate lines with no prob. Would it be too much to ask for an error log? |
| 23:06:37 | antares | fbuilesv: again, expected localhost got rainbox.local |
| 23:07:06 | fbuilesv | antares: on getaddrinfo? |
| 23:07:29 | antares | fbuilesv: TCPServer.new binds to localhost and a port with either IPv4 or IPv6 FAILED |
| 23:07:35 | drbrain | womble: that last one should be pointer, right? |
| 23:07:48 | drbrain | womble: instead of socklen_t? |
| 23:07:58 | drbrain | and, you should have a pointer in there, instead of 1024 |
| 23:07:59 | antares | fbuilesv: I think this spec title points to violated "one assertion per test" :) |
| 23:08:12 | womble | drbrain: Ooooh, d'oh! |
| 23:08:23 | fbuilesv | antares: hehe. I'll try to get someone with more network knowledge to check that out |
| 23:08:23 | drbrain | womble: to recieve the length of the struct sockaddr |
| 23:09:10 | AndrewO enters the room. | |
| 23:09:31 | womble | drbrain: 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:01 | drbrain | those *s are tricky little devils |
| 23:10:35 | womble | Cagey buggers. |
| 23:10:52 | _martinS_ enters the room. | |
| 23:11:57 | rubuildius_amd64 leaves the room. | |
| 23:12:27 | rubuildius_amd64 enters the room. | |
| 23:14:11 | womble | drbrain: UR teh l3g3nd |
| 23:14:13 | womble | All working now. |
| 23:14:46 | drbrain | womble: I only know that because evan saw me screw that up in a slightly different way |
| 23:14:49 | drbrain | :) |
| 23:15:19 | womble | Well, when the next person screws up similarly, hopefully I'll be able to point out the error in their ways. <grin> |
| 23:16:18 | antares | drbrain: how do I apply patches reserving original author and adding a signed-off-by field? |
| 23:16:32 | antares | s/reserving/preserving |
| 23:16:54 | drbrain | antares: my git-fu is not that strong |
| 23:16:58 | drbrain | evan would know |
| 23:16:59 | brixen | antares: git am -s |
| 23:17:01 | drbrain | or brixen |
| 23:17:13 | antares | brixen: thanks |
| 23:17:22 | brixen | np |
| 23:18:00 | tlockney enters the room. | |
| 23:18:14 | headius | hmmm |
| 23:19:36 | headius | making some progress |
| 23:19:39 | headius | pastie |
| 23:20:10 | pastie | http://pastie.org/170002 by headius. |
| 23:20:36 | d2dchat leaves the room. | |
| 23:20:39 | antares | brixen: git am man raises more questions than answers :) |
| 23:20:48 | headius | a 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:13 | brixen | antares: do you have a patch formatted with git format-patch? |
| 23:21:21 | brixen | headius: neat |
| 23:21:24 | brainopia leaves the room. | |
| 23:21:52 | drbrain | headius: heh, I wrote an equivalent ages ago |
| 23:21:52 | antares | brixen: I have 3 of them in a separate directory. What I supposed to do? git am -s <dir> says "Nothing to do" |
| 23:22:01 | headius | drbrain: good for you |
| 23:22:02 | brixen | antares: if so, you should be able to: git am -s 0001-blah blah |
| 23:22:22 | antares | brixen: and it takes series of patches like git apply, right? |
| 23:22:25 | crafterm enters the room. | |
| 23:23:05 | antares | brixen: works like a charm, thank you |
| 23:23:05 | brixen | antares: if not coming from a mailbox, you may need to do them one at a time in the correct order |
| 23:23:10 | brixen | antares: ok, cool |
| 23:23:43 | headius | drbrain: what criteria did you use to determine where return values should be actual returns for C code? |
| 23:23:57 | headius | with a stack machine it's easy...just leave something on the stack |
| 23:24:06 | headius | generating C syntax is much pickier though |
| 23:24:11 | drbrain | headius: I think we required explicit returns in the ruby |
| 23:24:20 | headius | hmm, I don't want that |
| 23:24:36 | headius | did you infer types across methods also? |