Show enters and exits. Hide enters and exits.
| 00:14:21 | trythil leaves the room. | |
| 00:16:02 | rby leaves the room. | |
| 00:20:24 | aotearoa_ leaves the room. | |
| 00:23:43 | hoopy enters the room. | |
| 00:24:03 | ciscbrain leaves the room. | |
| 00:29:16 | sfaxon leaves the room. | |
| 00:30:31 | KirinDav enters the room. | |
| 00:38:53 | hassox enters the room. | |
| 00:38:59 | qwert666_ leaves the room. | |
| 00:40:26 | aotearoa leaves the room. | |
| 00:42:30 | cored enters the room. | |
| 00:55:32 | JackDanger leaves the room. | |
| 00:57:33 | gnufied enters the room. | |
| 00:59:26 | FoobarWidget leaves the room. | |
| 00:59:43 | benburkert enters the room. | |
| 01:11:52 | cored leaves the room. | |
| 01:25:50 | KirinDav leaves the room. | |
| 01:33:14 | JackDanger enters the room. | |
| 01:40:43 | JackDanger leaves the room. | |
| 01:40:45 | JackDanger_ enters the room. | |
| 01:45:59 | benburkert leaves the room. | |
| 01:46:24 | JackDanger_ leaves the room. | |
| 01:47:14 | JackDanger enters the room. | |
| 01:50:52 | JackDanger leaves the room. | |
| 01:52:20 | JackDanger enters the room. | |
| 01:55:14 | JackDanger leaves the room. | |
| 02:08:12 | benburkert enters the room. | |
| 02:21:03 | chop3 leaves the room. | |
| 02:24:11 | VVSiz_ enters the room. | |
| 02:25:36 | dewd enters the room. | |
| 02:27:57 | peeja enters the room. | |
| 02:28:35 | peeja leaves the room. | |
| 02:42:25 | VVSiz leaves the room. | |
| 02:42:56 | lopex leaves the room. | |
| 02:45:38 | rubuildius_ppc enters the room. | |
| 02:45:40 | cremes_ leaves the room. | |
| 02:45:54 | cremes_ enters the room. | |
| 02:54:39 | jtoy enters the room. | |
| 02:59:28 | rubuildius_ppc | Eero Saynatkari: 5a205207f; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/175941 |
| 03:03:00 | imajes_ leaves the room. | |
| 03:06:06 | Fullmoon enters the room. | |
| 03:07:32 | pastie leaves the room. | |
| 03:08:16 | pastie enters the room. | |
| 03:16:15 | Fullmoon leaves the room. | |
| 03:25:42 | Fullmoon enters the room. | |
| 03:27:13 | trythil enters the room. | |
| 03:33:57 | dysinger leaves the room. | |
| 03:48:19 | headius leaves the room. | |
| 03:48:21 | hassox leaves the room. | |
| 03:51:23 | nicksieger enters the room. | |
| 03:58:17 | MenTaLguY leaves the room. | |
| 04:06:15 | binary42 enters the room. | |
| 04:07:01 | benburkert leaves the room. | |
| 04:19:06 | obvio enters the room. | |
| 04:21:38 | chop3 enters the room. | |
| 04:32:36 | lstoll leaves the room. | |
| 04:33:24 | chop3 leaves the room. | |
| 04:33:26 | RyanTM leaves the room. | |
| 05:01:50 | loincloth enters the room. | |
| 05:26:21 | lstoll enters the room. | |
| 05:55:41 | peeja enters the room. | |
| 05:59:43 | peeja leaves the room. | |
| 06:14:16 | rue | The build bots certainly are taking their sweet time |
| 06:15:28 | djwhitt | rue: they going slow? I haven't been paying much attention today |
| 06:20:57 | dewd_ enters the room. | |
| 06:22:54 | rue | Actually I think _ppc is/was looping. I see 10:18am, 5 hours after commit and another at 15:42, 10 hours after commit, last one 21:59 16 hours after commit |
| 06:24:03 | djwhitt | ah, probably because it recompiles after restarts |
| 06:24:09 | djwhitt | mine doesn't do that |
| 06:24:33 | djwhitt | I should get that new code for it tested a little more than cremes can upgrade his |
| 06:26:17 | rue | Ah, executing the last one then I gather |
| 06:26:36 | rue | Alrighty, I am going to bed. Normal schedule tomorrow |
| 06:26:37 | rue | Nites |
| 06:27:04 | djwhitt | I think I'll do the same |
| 06:27:04 | djwhitt | later |
| 06:34:44 | dewd leaves the room. | |
| 06:35:09 | tizianobis enters the room. | |
| 06:38:49 | RyanTM enters the room. | |
| 06:52:21 | dysinger enters the room. | |
| 06:54:04 | dysinger | Cool - I just figured out how to deploy rails apps directly from gitorious using agent forwarding with ssh-agent. |
| 06:54:09 | dysinger | & capistrano |
| 06:54:25 | dysinger | I am going to write a blog article on it. |
| 06:54:32 | dysinger | how is everyone ? |
| 06:57:49 | halorgium | dysinger: figured out how _not_ to do it as well eh? :) |
| 06:58:16 | dysinger | oh heh |
| 06:58:18 | dysinger | wrong group |
| 06:58:26 | dysinger | and yes - figure out how not to do it too |
| 07:00:11 | dysinger | Anyway sorry - wrong group |
| 07:03:17 | halorgium | lol |
| 07:04:19 | RyanTM leaves the room. | |
| 07:09:23 | hassox enters the room. | |
| 07:13:33 | gnufied leaves the room. | |
| 07:14:15 | gnufied enters the room. | |
| 07:18:42 | headius enters the room. | |
| 07:20:06 | tizianobis_ enters the room. | |
| 07:26:46 | Yurik leaves the room. | |
| 07:36:31 | wycats__ enters the room. | |
| 07:36:52 | tizianobis leaves the room. | |
| 07:41:46 | tizianobis_ leaves the room. | |
| 07:45:41 | wycats leaves the room. | |
| 08:05:53 | yaroslav enters the room. | |
| 08:13:24 | dewd_ leaves the room. | |
| 08:19:51 | Gerardo enters the room. | |
| 08:19:59 | Gerardo | Hi |
| 08:20:25 | Gerardo | I've just updated my copy, built rubinius and ran the tests |
| 08:20:59 | Gerardo | I get a core dump |
| 08:34:24 | headius leaves the room. | |
| 08:37:13 | Gerardo leaves the room. | |
| 08:37:21 | yaroslav leaves the room. | |
| 08:55:42 | cypher23 enters the room. | |
| 09:00:07 | gnufied leaves the room. | |
| 09:09:22 | trythil_ enters the room. | |
| 09:28:16 | trythil leaves the room. | |
| 09:40:21 | loincloth leaves the room. | |
| 09:41:56 | qwert666 enters the room. | |
| 09:44:44 | imajes_ enters the room. | |
| 09:55:40 | rby enters the room. | |
| 10:05:59 | rby leaves the room. | |
| 10:13:14 | imajes_ leaves the room. | |
| 10:14:03 | yaroslav enters the room. | |
| 10:45:45 | dbussink | morning |
| 10:53:09 | qwert666_ enters the room. | |
| 11:02:05 | imajes_ enters the room. | |
| 11:02:07 | yaroslav leaves the room. | |
| 11:05:45 | imajes_ leaves the room. | |
| 11:08:47 | wvdschel enters the room. | |
| 11:08:56 | wvdschel | hi all |
| 11:09:32 | imajes_ enters the room. | |
| 11:09:49 | cypher256 enters the room. | |
| 11:11:49 | qwert666 leaves the room. | |
| 11:13:53 | dbussink | wvdschel: hi |
| 11:15:22 | wvdschel | I haven't tried rubinius out in quite a while, and I was wondering how things were going |
| 11:16:12 | dbussink | it's progressing, there is quite some rework in the pipeline now |
| 11:16:23 | dbussink | and there are quite some specs now that we pass :) |
| 11:16:34 | dbussink | still a lot of work to do though |
| 11:17:13 | cypher23 leaves the room. | |
| 11:17:40 | wvdschel | dbussink, what's being done these days? |
| 11:18:19 | rby enters the room. | |
| 11:18:41 | dbussink | there's still work being done on rubygems, but everyone is waiting for evan's vm rewriting |
| 11:19:10 | dbussink | also subtend needs more improvements to fully support all ruby c stuff |
| 11:20:05 | dbussink | when was the last time you looked at it? |
| 11:24:44 | thehcdreamer leaves the room. | |
| 11:26:20 | wvdschel | erm |
| 11:26:28 | wvdschel | this summer i looked at it in detail |
| 11:26:42 | wvdschel | then I just checked by every now and then once school started again |
| 11:26:55 | wvdschel | s/checked/stopped/ |
| 11:27:14 | yaroslav enters the room. | |
| 11:27:17 | wvdschel | hows completeness coming along? |
| 11:27:20 | thehcdreamer enters the room. | |
| 11:27:50 | dbussink | you mean spec completeness? well, there is still a lot of stuff to spec in the ruby stdlib |
| 11:29:34 | wvdschel | I started on writing specs for date and file, but by the time I got anywhere, someone else had already made those :p |
| 11:29:59 | wvdschel | is there a list of what's left to spec somewhere? |
| 11:30:09 | dbussink | hehe, i made date :p |
| 11:30:23 | dbussink | basically everything that is still in the stdlib directory |
| 11:30:29 | chris2 enters the room. | |
| 11:30:40 | dbussink | when a class or module there is specced and works ok, it's moved to lib/ |
| 11:38:16 | wvdschel | ah I see |
| 11:39:02 | wvdschel | oh and by the way |
| 11:39:07 | wvdschel | I saw a windows related ticket |
| 11:39:20 | wvdschel | does that mean rubinius can run on windows now? |
| 11:39:27 | dbussink | windows related? it doesn't even run on windows |
| 11:39:44 | wvdschel | hmmm it was late at night, maybe I was imagining things |
| 11:40:03 | wvdschel | not that I really use windows a lot, but it would be cool to have rubinius run on more platforms |
| 11:40:08 | wvdschel | especially the big ones :) |
| 11:40:28 | wvdschel | but I guess all but one work :) |
| 11:40:31 | dbussink | well, we currently support os x, linux, freebsd and openbsd |
| 11:40:38 | dbussink | that's where i know it works |
| 11:43:10 | dbussink | we definitely want windows support, but we really need someone with some windows development experience for that |
| 11:47:37 | VVSiz | wvdschel: there was a ticket to make *mspec* running on Windows |
| 11:47:52 | wvdschel | ah |
| 11:47:59 | VVSiz | it is actually running (I mean, mspec, *not* rubinius), just with some bugs |
| 11:47:59 | wvdschel | must have been that |
| 11:48:20 | wvdschel | the only time i use windows is at school, at work, or in a VM |
| 11:48:45 | wvdschel | I don't quite understand why people would connect a machine running windows directly to a network. They must be looking for trouble. |
| 11:52:53 | wvdschel | how many people are now working on rubinius and being payed for it? |
| 11:52:54 | VVSiz | as for specs to work on, the whole IO area (IO, File, Dir) needs more coverage/love. But it might be tricky, since the easy ones are already done :) And there are platfrom-related differences |
| 11:53:24 | dbussink | wvdschel: i think there are like 5 payed people working on it now |
| 11:53:31 | dbussink | if i recall correctly |
| 11:53:36 | wvdschel | all from engine yard? |
| 11:53:39 | dbussink | yeah |
| 11:53:45 | wvdschel | cool |
| 11:53:54 | wvdschel | are you one of them? |
| 11:54:15 | dbussink | nope, i'm just a volunteer :P |
| 11:54:34 | wvdschel | poor you ;) |
| 11:54:45 | wvdschel | wow |
| 11:54:50 | wvdschel | 91 people in here |
| 11:54:53 | dbussink | well, i have a fulltime job so i'm busy enough :) |
| 11:54:58 | wvdschel | this place sure became popular |
| 11:55:07 | wvdschel | do you work in IT? |
| 11:56:19 | dbussink | yep, also doing ruby development, so i'm not complaining |
| 12:03:32 | wvdschel | lucky you :) |
| 12:03:41 | wvdschel | i've not seen to many ruby jobs around here |
| 12:04:00 | dbussink | belgium i see? |
| 12:04:01 | wvdschel | but then again, I assume most are rails related |
| 12:04:04 | wvdschel | yes |
| 12:04:18 | wvdschel | privacy is an illusion on IRC :) |
| 12:04:24 | wvdschel | where are you from? |
| 12:04:28 | dbussink | well, here in the netherlands there are if you know where to look |
| 12:05:44 | yaroslav leaves the room. | |
| 12:06:22 | wvdschel | I assume it will be the same here then |
| 12:06:33 | wvdschel | I haven't really looked hard, since I'm still studying |
| 12:06:54 | dbussink | ah, what are you studying? i just finished a month ago :) |
| 12:07:50 | wvdschel | Bachelor Informatica right now, next year it will probably be Master in Computer Science, Software Development |
| 12:08:00 | wvdschel | but I haven't made up my mind yet |
| 12:08:32 | wvdschel | would love to learn more about compilers and language development, but those are courses from Embedded Devices, and I'm not got at physics |
| 12:09:09 | wvdschel | s/got/good/ |
| 12:09:25 | dbussink | you can't make up your own program / direction? |
| 12:09:44 | dbussink | that's what you can do here in the netherlands, you can go down the path you want |
| 12:10:15 | comboy enters the room. | |
| 12:10:25 | wvdschel | we get to pick 50% of the courses I'm told |
| 12:10:38 | wvdschel | so if I can, I'll pick courses related to those fields :) |
| 12:11:37 | dbussink | what university are you at? |
| 12:11:41 | wvdschel | Ghent |
| 12:12:05 | dbussink | is the english name with the h in it? |
| 12:12:07 | dbussink | looks weird :) |
| 12:12:10 | wvdschel | Gent |
| 12:12:21 | wvdschel | but english name is with an h, yeah :P |
| 12:12:34 | wvdschel | Don't ask me why :) |
| 12:13:04 | wvdschel | it's ok, but we're really being pushed towards java |
| 12:13:15 | wvdschel | a few professors that are into .NET |
| 12:13:29 | wvdschel | and we get a course on C and C++, but most of the stuff is Java |
| 12:13:59 | dbussink | my experience with programming during my university time was that it doesn't matter |
| 12:14:20 | dbussink | i didn't learn programming there, but in my job(s) i had next to it |
| 12:14:38 | wvdschel | I learned my programming in high school |
| 12:14:43 | wvdschel | now i'm just maintaining it :) |
| 12:14:49 | wvdschel | and doing a poor job at it |
| 12:15:02 | wvdschel | but we learn to work on projects in groups, meet deadlines and such |
| 12:15:03 | dbussink | computer science is about computers just like astronomy is about telescopes :P |
| 12:15:05 | wvdschel | which is ok |
| 12:15:16 | wvdschel | yeah I know |
| 12:15:57 | wvdschel | but you still need to know how to use a telescope in order to look at the stars |
| 12:17:00 | dbussink | well, maybe get a job on the side |
| 12:17:18 | wvdschel | hard to combine with school work, but I'm looking for one |
| 12:17:31 | wvdschel | just can't find one |
| 12:17:48 | wvdschel | people aren't looking for unqualified part time workers it seems |
| 12:18:09 | dbussink | in my experience networking with people is really important |
| 12:18:18 | dbussink | get to know people who work somewhere interesting |
| 12:18:29 | dbussink | do some volunteer stuff to show you're capable |
| 12:18:57 | wvdschel | hmmm I've been working on that |
| 12:19:16 | dbussink | do open source stuff, that also helps :) |
| 12:19:25 | wvdschel | haha :) I suppose :) |
| 12:19:53 | dbussink | and if a company doesn't care about that, you don't want to work there ;) |
| 12:19:59 | wvdschel | anyway, I have to go prove that my state machines are doing the job I designed them for ;) |
| 12:20:23 | wvdschel | Couldn't agree with you more :) |
| 12:20:33 | wvdschel | see you around |
| 12:24:23 | imajes_ leaves the room. | |
| 12:26:34 | dbussink | wvdschel: good luck with it :) |
| 12:26:40 | wvdschel | thx :) |
| 12:26:51 | trythil_ leaves the room. | |
| 12:51:03 | Skip enters the room. | |
| 12:56:11 | Arjen_ enters the room. | |
| 13:19:03 | rby leaves the room. | |
| 13:24:04 | rby enters the room. | |
| 13:25:34 | Arjen_ leaves the room. | |
| 13:34:25 | Yurik enters the room. | |
| 13:35:37 | Yurik leaves the room. | |
| 13:36:11 | JimPeak enters the room. | |
| 13:36:33 | Fullmoon leaves the room. | |
| 13:44:20 | xmlhacker_ leaves the room. | |
| 13:46:13 | Fullmoon enters the room. | |
| 13:46:51 | Yurik enters the room. | |
| 13:48:03 | xmlhacker_ enters the room. | |
| 13:52:57 | Fullmoon leaves the room. | |
| 13:57:41 | wdperson enters the room. | |
| 13:59:48 | chris2 leaves the room. | |
| 14:03:14 | Fullmoon enters the room. | |
| 14:15:18 | foysavas leaves the room. | |
| 14:20:44 | fbuilesv_ enters the room. | |
| 14:21:28 | foysavas enters the room. | |
| 14:25:28 | wdperson leaves the room. | |
| 14:25:39 | foysavas leaves the room. | |
| 14:26:26 | foysavas enters the room. | |
| 14:26:53 | wdperson enters the room. | |
| 14:28:01 | foysavas leaves the room. | |
| 14:28:47 | foysavas enters the room. | |
| 14:38:16 | chris2 enters the room. | |
| 14:46:46 | foysavas leaves the room. | |
| 14:50:15 | yaroslav enters the room. | |
| 14:54:15 | pastie leaves the room. | |
| 15:00:36 | chris2 leaves the room. | |
| 15:00:42 | chris2 enters the room. | |
| 15:04:37 | pastie enters the room. | |
| 15:11:35 | tgern enters the room. | |
| 15:15:37 | sudoer enters the room. | |
| 15:16:22 | peeja enters the room. | |
| 15:20:38 | tgern leaves the room. | |
| 15:33:23 | jtoy leaves the room. | |
| 15:35:33 | fbuilesv | is anyone versed in socket.rb to give me a few pointers? |
| 15:40:45 | dbussink | fbuilesv: what are you working on? |
| 15:41:10 | fbuilesv | dbussink: that UDPSocket bug, I think I've found a few errors but I'm kinda lost with some definitions |
| 15:41:52 | dbussink | i looked at that too but it's a pretty big mess |
| 15:42:02 | dbussink | it needs way more than a simple fix |
| 15:42:27 | fbuilesv | dbussink: yes, I'm slowly going through it but I'm not sure what's the call to setup(fixnum) is doing in UDPSocket::bind |
| 15:43:51 | dbussink | fbuilesv: looks like that should be removed yeah |
| 15:44:15 | dbussink | doesn't make any sense i think |
| 15:44:30 | fbuilesv | dbussink: not there where fixnum is not defined, but I'm wondering what was supposed to go in there then |
| 15:45:32 | dbussink | well, the socket stuff has been reworked quite some times, so don't be surprised to find strange things lingering there |
| 15:45:47 | lopex enters the room. | |
| 15:45:52 | fbuilesv | dbussink: that fixnum is called again in the following line with getpeername, so I'm not entirely sure of what should be passed as descriptor there |
| 15:46:32 | fbuilesv | there's some way in git to search for a past revision of that and see what was there, right? |
| 15:46:54 | dbussink | yeah, but my git skills aren't that advanced |
| 15:47:11 | dbussink | you should probably look at the tcp stuff for inspiration, that has been better tested |
| 15:49:29 | peeja leaves the room. | |
| 15:49:50 | dbussink | fbuilesv: there are also mixed calls to Socket::Foreign.pack_sockaddr_in and the non foreign version |
| 15:50:44 | fbuilesv | dbussink: yes but will it get there with the return up there? |
| 15:51:01 | dbussink | fbuilesv: not even that |
| 15:51:06 | dbussink | it's a big mess in there |
| 15:51:15 | dbussink | probably should start from scratch |
| 15:51:47 | fbuilesv | dbussink: that doesn't sound so back, gonna check socket.c and see how it's done in MRI |
| 15:52:02 | dbussink | fbuilesv: yeah, that's probably the easiest way |
| 15:53:04 | wvdschel leaves the room. | |
| 15:53:10 | wvdschel enters the room. | |
| 15:53:19 | fbuilesv | bad* |
| 16:00:11 | peeja enters the room. | |
| 16:01:10 | peeja leaves the room. | |
| 16:02:06 | peeja enters the room. | |
| 16:02:57 | peeja leaves the room. | |
| 16:09:49 | MenTaLguY enters the room. | |
| 16:10:56 | peeja enters the room. | |
| 16:14:44 | yaroslav leaves the room. | |
| 16:15:08 | yaroslav enters the room. | |
| 16:15:13 | peeja leaves the room. | |
| 16:18:06 | sethbc enters the room. | |
| 16:21:50 | qwert666__ enters the room. | |
| 16:23:35 | sethbc leaves the room. | |
| 16:24:16 | sethbc enters the room. | |
| 16:24:25 | schleyfox enters the room. | |
| 16:27:08 | sethbc leaves the room. | |
| 16:29:06 | schleyfox | I can safely say that I hate sockets |
| 16:35:24 | kofno leaves the room. | |
| 16:39:49 | RyanTM enters the room. | |
| 16:41:22 | qwert666_ leaves the room. | |
| 16:41:33 | naeu enters the room. | |
| 16:45:46 | srbaker leaves the room. | |
| 16:46:04 | srbaker enters the room. | |
| 16:46:04 | srbaker leaves the room. | |
| 16:46:17 | srbaker enters the room. | |
| 16:59:17 | zimbatm enters the room. | |
| 17:00:22 | dbussink | fbuilesv: any luck with it? |
| 17:00:44 | therealadam enters the room. | |
| 17:00:58 | fbuilesv | dbussink: writing some specs before starting the real work, filling socket.c with printfs didn't seem to do anyhing. Any suggestions on how to debug MRI? |
| 17:01:41 | schleyfox | so whats up? |
| 17:02:21 | dbussink | fbuilesv: well, what i'd do is look at mri and rebuild that code using ffi etc. |
| 17:02:44 | fbuilesv | schleyfox: why the hate on sockets? :) |
| 17:03:17 | schleyfox | because I'm trying to figure out whats going on in UDPSocket, I found a typo or two |
| 17:03:18 | fbuilesv | dbussink: I thought that it was preferred to implement as much as possible in Ruby instead of relying in C with some Ruby calls |
| 17:03:28 | fbuilesv | schleyfox: join the club |
| 17:03:37 | schleyfox | ah good |
| 17:03:43 | dbussink | fbuilesv: yeah, but the approach stays the same |
| 17:04:57 | fbuilesv | dbussink: I'll go that way then, let me read the docs about FFI then :) |
| 17:05:24 | oslor enters the room. | |
| 17:05:27 | dbussink | fbuilesv: well, all the necessary FFI building block are available afaik |
| 17:05:37 | dbussink | fbuilesv: just look at how TCPSocket etc. use it |
| 17:07:01 | fbuilesv | dbussink: yes, looks like most of it if not all is already there, that seems easier |
| 17:07:14 | dbussink | fbuilesv: if you look at mri's udp_init, it basically gets the addrinfo and does the bind call |
| 17:08:23 | fbuilesv | dbussink: udp_bind you mean? |
| 17:09:00 | dbussink | fbuilesv: ah yeah, sorry |
| 17:10:06 | dbussink | fbuilesv: it walks through the addrinfo chain, you can see in TCPSocket#tcp_setup how that's done there |
| 17:10:16 | dbussink | fbuilesv: you can probably do something similar |
| 17:10:39 | schleyfox | I don't get it though, I'm fiddling with it, and I can get it to the call to bind, when it returns -1 |
| 17:11:09 | naeu leaves the room. | |
| 17:11:13 | dbussink | schleyfox: what are you working on? |
| 17:11:42 | fbuilesv | dbussink: issues are not only in bind, they go all the way to UDPSocket.pack_sockaddr_in :S |
| 17:11:54 | schleyfox | UDPSocket.bind, not really working more tinkering |
| 17:12:23 | dbussink | fbuilesv: i don't think that's even needed |
| 17:12:32 | schleyfox | just have a simple spec that basically does the test in the ticket and I'm trying to figure out whats up |
| 17:12:47 | dbussink | schleyfox: udpsocket is just completely broken |
| 17:12:52 | dbussink | it never worked |
| 17:12:52 | schleyfox | yeah |
| 17:12:56 | dbussink | just needs to be rewritten |
| 17:13:04 | dbussink | the code in there is probably just bogus |
| 17:13:17 | schleyfox | well I was kind of wondering |
| 17:13:24 | yaroslav leaves the room. | |
| 17:14:02 | yaroslav enters the room. | |
| 17:14:06 | schleyfox | I just assumed that I was misunderstanding it, so thats comfortable |
| 17:15:49 | schleyfox | *comforting |
| 17:15:50 | sudoer leaves the room. | |
| 17:23:50 | wvdschel leaves the room. | |
| 17:24:41 | wvdschel enters the room. | |
| 17:27:07 | naeu enters the room. | |
| 17:33:08 | dbussink | hm, the udpsocket#bind needs a working udpsocket contructor and that's broken too |
| 17:35:02 | jayWHY enters the room. | |
| 17:35:26 | fbuilesv | dbussink: I'm setting a host and a port in the constructor right now, what else do you think should go there? |
| 17:37:18 | fbuilesv | mmm, actually, host and port should not be set there but in bind |
| 17:37:45 | dbussink | fbuilesv: working on something myself now |
| 17:37:57 | fbuilesv | dbussink: ok |
| 17:40:15 | yaroslav leaves the room. | |
| 17:40:28 | jlindley enters the room. | |
| 17:40:53 | yaroslav enters the room. | |
| 17:41:27 | naeu | hey, can someone clear things up a little for me with the documentation class/method separator symbols #,:: and . |
| 17:41:43 | naeu | is there a defined usage for each of these symbols |
| 17:41:56 | naeu | or are they used interchageably? |
| 17:42:30 | dbussink | afaik :: is used like in ruby, . too and # means it's an instance method on the mentioned class |
| 17:42:42 | fbuilesv | naeu: I think you can co with: # is an instance method, . is a static method, :: is defined for modules |
| 17:43:57 | fbuilesv | s/co/go/ |
| 17:44:03 | naeu | fbuilesv, dbussink thanks :-) |
| 17:45:11 | yaroslav leaves the room. | |
| 17:46:14 | VVSiz leaves the room. | |
| 17:48:39 | naeu | fbuilesv: what about a self.method defined in a module? ;-) |
| 17:49:16 | naeu | hehe |
| 17:49:39 | fbuilesv | naeu: great question, I'm not exactly sure but I think it'd be Mod::method |
| 17:50:02 | naeu | sorry, I was just being a bit silly |
| 17:50:31 | brixen | howdy folks |
| 17:50:33 | naeu | and when you say static method I assume you mean a class method |
| 17:50:45 | dbussink | brixen: morning! |
| 17:50:56 | naeu | or a Class's object's singleton's method |
| 17:50:56 | brixen | naeu: :: can be used to call module methods (e.g. module M; def self.foo; end; end; M::foo) |
| 17:51:00 | brixen | but we really don't like that |
| 17:51:29 | brixen | so, in the specs at least, we uniformly use . for module/class methods, # for instance methods, and :: for constants and module chains |
| 17:51:43 | brixen | dbussink: morning! |
| 17:51:59 | naeu | brixen: ok, cool |
| 17:52:38 | naeu | I'm just trying to get started helping out |
| 17:52:53 | Arjen_ enters the room. | |
| 17:53:05 | brixen | naeu: super |
| 17:53:07 | naeu | I submitted my first patch the other day, but that's only really because I was sitting on the same sofa as evan who was helping out :-) |
| 17:53:27 | brixen | naeu: heh, everybody starts somewhere |
| 17:53:35 | naeu | indeedy |
| 17:53:36 | brixen | I wish I had more couch time with evan :P |
| 17:53:39 | naeu | haha |
| 17:53:46 | brixen | naeu: is the patch applied yet? |
| 17:53:51 | naeu | yep :-) |
| 17:53:54 | brixen | cool |
| 17:53:55 | schleyfox | well that was a good part of the conversation to walk in on |
| 17:54:01 | brixen | heh |
| 17:54:19 | brixen | I've yet to hear anyone whose had couch time with evan complain about it :) |
| 17:54:26 | naeu | :-) |
| 17:54:33 | naeu | he's a really nice guy |
| 17:54:33 | brixen | s/whose/who's/ |
| 17:54:47 | schleyfox | yeah |
| 17:54:51 | naeu | I spent the last 4 days with him at RubyFools |
| 17:55:04 | naeu | he's as lame as me at pingpong too |
| 17:56:06 | naeu | or at least he was concealing his ninja skills |
| 17:56:29 | schleyfox | thats probably it |
| 17:57:30 | jlindley leaves the room. | |
| 18:07:09 | KirinDav enters the room. | |
| 18:07:15 | ttmrichter_ leaves the room. | |
| 18:15:05 | lstoll_ enters the room. | |
| 18:15:22 | boyscout | 1 commit by Dirkjan Bussink |
| 18:15:23 | boyscout | * Clean up UDPSocket#initialize and UDPSocket#bind; 2f032d2 |
| 18:15:46 | dbussink | fbuilesv: it should make some more sense now :) |
| 18:16:17 | Maledictus enters the room. | |
| 18:18:44 | fbuilesv | dbussink: let me take a look, I've got something that _seems_ to be working |
| 18:21:24 | fbuilesv | ty for reminding me I should branch before starting to work, this is gonna be conflict hell :) |
| 18:25:44 | fbuilesv | dbussink: how does syscall work? From what I can see in kernel.rb it'll just throw an exception |
| 18:25:49 | rubuildius_amd64 | Dirkjan Bussink: 2f032d26c; 1855 files, 6387 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/iykumB40.html |
| 18:27:25 | rubuildius_ppc | Dirkjan Bussink: 2f032d26c; 1855 files, 6390 examples, 22480 expectations, 1 failure, 0 errors; http://pastie.caboo.se/paste/176125 |
| 18:29:28 | dbussink | fbuilesv: did you work on connect / send too then? |
| 18:29:53 | fbuilesv | dbussink: nope, was trying to fix bind, I'm slow at this :-) |
| 18:30:04 | dbussink | fbuilesv: syscall is just a string description thingy |
| 18:30:11 | dbussink | fbuilesv: did you look at my commit? |
| 18:30:32 | fbuilesv | dbussink: yes, that's why I asked since you dont use it for socket(2) |
| 18:30:58 | dbussink | fbuilesv: well, that's a reference to which function actually failed |
| 18:31:15 | dbussink | fbuilesv: i was too tempted to fix this myself ;) |
| 18:31:19 | lstoll leaves the room. | |
| 18:31:43 | fbuilesv | dbussink: oh please go ahead, I can learn from someone who actually knows what he's doing :) |
| 18:31:52 | dbussink | maybe you could continue with the connect / send stuf |
| 18:31:54 | dbussink | stuff |
| 18:32:05 | dbussink | but i'm going to grab something to eat |
| 18:32:48 | fbuilesv | dbussink: ok, gonna take a stab at it |
| 18:33:21 | jayWHY leaves the room. | |
| 18:34:04 | wvdschel leaves the room. | |
| 18:36:01 | jayWHY enters the room. | |
| 18:37:01 | schleyfox | dbussink: one thing, for MRI imitation bind should return 0 instead of nil right? |
| 18:42:34 | fbuilesv | schleyfox: yes, you can change the break if... for return 0 if status >= 0 if you need the fix right away |
| 18:42:47 | schleyfox | no I don't need it |
| 18:43:07 | schleyfox | I'm just interested in this |
| 18:46:28 | dbussink | nasty, mri's bind returns 0 even if it fails |
| 18:46:44 | schleyfox | weird |
| 18:46:50 | dbussink | but then it raises too, so it's a bit of a no op :P |
| 18:47:06 | schleyfox | yeah |
| 18:47:43 | boyscout | 1 commit by Dirkjan Bussink |
| 18:47:44 | boyscout | * UDPSocket#bind should return error status; e18196d |
| 18:50:04 | fbuilesv | dbussink: does connect differ from bind in anything else from the Foreign.connect call? |
| 18:50:58 | antares enters the room. | |
| 18:51:34 | EugZol enters the room. | |
| 18:53:30 | dbussink | fbuilesv: in mri it uses ruby_connect, an internal function, but i don't know exactly what that does by simply looking at it |
| 18:54:21 | dbussink | fbuilesv: ah, wait, i was looking at the wrong udp_connect there |
| 18:54:28 | dbussink | there is an udp_connect_internal too |
| 18:54:44 | fbuilesv | dbussink: yeah, it does call ruby_connect |
| 18:54:59 | dbussink | nasty stuff, it chains itself |
| 18:55:07 | dbussink | or better, the other function |
| 18:55:17 | dbussink | but i don't know how much of that is actually necessary |
| 18:55:47 | rubuildius_amd64 | Dirkjan Bussink: e18196d93; 1855 files, 6387 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/EoXCGo12.html |
| 18:56:03 | antares | hi folks |
| 18:56:06 | fbuilesv | antares: hola |
| 18:57:52 | jlindley enters the room. | |
| 18:58:45 | rubuildius_ppc | Dirkjan Bussink: e18196d93; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176133 |
| 19:04:37 | jayWHY leaves the room. | |
| 19:05:37 | jayWHY enters the room. | |
| 19:06:02 | fbuilesv | dbussink: go ahead and have fun with send, I don't quite get udp_send yet |
| 19:09:14 | peeja enters the room. | |
| 19:09:32 | antares | fbuilesv: |
| 19:09:42 | peeja leaves the room. | |
| 19:09:42 | fbuilesv | antares: ? |
| 19:09:47 | antares | fbuilesv: any news from GSoC? |
| 19:09:59 | antares | fbuilesv: sorry hit enter on occasion |
| 19:10:00 | fbuilesv | antares: nope, I think they give out the results the 15 or so |
| 19:10:56 | naeu leaves the room. | |
| 19:12:17 | antares | fbuilesv: I see. |
| 19:13:12 | fbuilesv | antares: Meanwhile I was trying to help out with the UDPSocket bugs but dbussink cleaned that out while I was still trying to figure out what to do :P |
| 19:15:42 | jayWHY leaves the room. | |
| 19:19:51 | naeu enters the room. | |
| 19:23:29 | antares | fbuilesv: well, just learn from smart people :) |
| 19:23:52 | fbuilesv | antares: ya, that's the idea, I read a bug, kind of find out where it is and then shoot it to someone :) |
| 19:28:14 | naeu leaves the room. | |
| 19:29:49 | tizianobis enters the room. | |
| 19:36:14 | naeu enters the room. | |
| 19:40:17 | fbuilesv leaves the room. | |
| 19:40:50 | KirinDav leaves the room. | |
| 19:41:14 | fbuilesv enters the room. | |
| 19:59:05 | jlindley leaves the room. | |
| 20:03:24 | mernen enters the room. | |
| 20:12:55 | trythil enters the room. | |
| 20:18:26 | KirinDav enters the room. | |
| 20:24:05 | Maledictus | hi! can I single step throgh bin/mspec? |
| 20:24:22 | brixen | Maledictus: you mean, with the debugger, or step each spec? |
| 20:24:27 | Maledictus | debugger |
| 20:24:32 | brixen | sure |
| 20:24:35 | brixen | try this: |
| 20:24:50 | brixen | oh, do you mean ruby debugger or gdb? |
| 20:24:52 | Maledictus | Oh, got it |
| 20:24:55 | brixen | k |
| 20:25:09 | Maledictus | tried --debug, don't know how that came to my mind :) |
| 20:25:14 | brixen | heh |
| 20:25:27 | brixen | yeah, try bin/mspec run -h (make sure you add run in there) |
| 20:25:40 | brixen | there's an example at the bottom |
| 20:26:59 | Maledictus | Ah, found it, thanks |
| 20:27:20 | brixen | I assumed you wanted to debug the spec, you can debug mspec itself as well |
| 20:27:30 | Maledictus | yep, a spec |
| 20:27:33 | brixen | ok |
| 20:27:42 | Maledictus | is bin/mspec -t ruby spec/ruby/1.8 supposed to run through currently? |
| 20:27:44 | TheVoice enters the room. | |
| 20:28:05 | brixen | yeah, if you are on p111 I believe |
| 20:28:33 | brixen | we're a little reluctant to make p114 the "standard" right now because of reports of stuff being broken in some libraries |
| 20:28:49 | brixen | but typically, there is a single version + patch level that the specs officially pass on |
| 20:30:08 | Maledictus | OK, problem is that UDPSocket.send the first spec hangs the whole thing |
| 20:30:20 | Maledictus | ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-freebsd7] |
| 20:30:55 | brixen | ok |
| 20:31:08 | brixen | socket specs are in various stages of disarray |
| 20:31:12 | Maledictus | if I comment out only that spec it runs through, albeit 5 errors, few failed ones |
| 20:31:22 | brixen | what os? |
| 20:31:27 | Maledictus | FreeBSD 7.0 |
| 20:31:33 | brixen | ahh |
| 20:31:54 | brixen | I have a parallels image for that and at least a couple other folks run stuff on it |
| 20:32:06 | Maledictus | ok |
| 20:32:07 | brixen | you might put together a patch if you can isolate it |
| 20:32:43 | Maledictus | I'll try |
| 20:32:57 | brixen | cool |
| 20:33:10 | brixen | take a look at the platform_is and platform_is_not guards used in the specs |
| 20:33:20 | brixen | might be some specific freebsd behavior too |
| 20:33:30 | Maledictus | bin/mspec run --spec-debug -S 'sends data in ad hoc mode' -f s -t ruby spec/ruby/1.8/library/socket/udpsocket/send_spec.rb |
| 20:33:44 | Maledictus | this doesn't stop before the offending spec. Anything wrong with it? |
| 20:33:53 | brixen | yeah, that's only for rbx debugger |
| 20:33:59 | brixen | but you can hack in support for ruby |
| 20:34:05 | brixen | it depends on Kernel.debugger |
| 20:34:27 | brixen | take a look at mspec/runner/actions/debug.rb |
| 20:35:20 | brixen | so you could do bin/mspec -tr -fs -rmyrubydebugthing --spec-debug -S 'blah' ... |
| 20:35:53 | Maledictus | hmm, that's a bit over for me :) |
| 20:36:02 | brixen | heh, ok |
| 20:36:03 | Maledictus | I'll try some simple printf debugging ;)= |
| 20:36:29 | brixen | well, you could make me a ticket on LH about ruby debugger support as well |
| 20:36:44 | trythil leaves the room. | |
| 20:38:20 | Maledictus | hmpf. LH doesn't support openid? |
| 20:39:00 | brixen | get a rope |
| 20:39:37 | tizianobis leaves the room. | |
| 20:40:09 | Maledictus | Oh no! You've stumbled upon a bug. Trying again to sign up ;) |
| 20:40:36 | brixen | did you get ninjas? |
| 20:41:12 | Maledictus | no idea what you mean :) |
| 20:41:20 | Maledictus | logged in now |
| 20:41:35 | brixen | I think they have a ninjas graphic for 400 or 500's |
| 20:41:45 | djwhitt | Maledictus: nope, no openid support. I emailed them about they said not a lot of people have requested it so it wasn't real high on their list. you should email them about it preferably several times ;) |
| 20:41:46 | brixen | I've seen it occasionally but can't recall |
| 20:41:59 | brixen | heh, from different email accounts |
| 20:42:36 | Maledictus | yes, was a ninja :) |
| 20:42:49 | Maledictus | I'll write a mail ;) |
| 20:43:12 | xif leaves the room. | |
| 20:44:35 | Rich_Morin enters the room. | |
| 20:44:37 | Packet_Monkey leaves the room. | |
| 20:44:38 | Maledictus | http://rubinius.lighthouseapp.com/projects/5089-rubinius/tickets/478 |
| 20:44:47 | Packet_Monkey enters the room. | |
| 20:45:00 | Packet_Monkey leaves the room. | |
| 20:48:09 | dbussink | brixen: hmm, my mri also hangs on the UDPSocket.send spec |
| 20:51:25 | Maledictus | fine, I'm not the only one :) |
| 20:51:33 | brixen | dbussink: what os? |
| 20:51:38 | ezmobius enters the room. | |
| 20:51:46 | dbussink | brixen: os x |
| 20:52:18 | brixen | psha, who uses that |
| 20:52:33 | dbussink | brixen: only weird people :) |
| 20:53:06 | brixen | heh |
| 20:53:11 | brixen | well, seems to be recent |
| 20:54:33 | dbussink | brixen: you're seeing it too? |
| 20:54:37 | brixen | yeah |
| 20:54:51 | Maledictus | in rbx too? |
| 20:54:58 | brixen | no, mri |
| 20:55:06 | brixen | rbx passes for me |
| 20:55:11 | dbussink | we don't even have a UDPSocket.send :P |
| 20:55:24 | Maledictus | ok :) |
| 20:55:38 | dbussink | feel free to add ;) |
| 20:55:46 | Maledictus | sure ;) |
| 20:58:37 | cremes | rebooting box where rubuildious_ppc runs; ignore the re-run it does of the last commit |
| 20:58:44 | cremes_ leaves the room. | |
| 20:58:45 | rubuildius_ppc leaves the room. | |
| 21:00:11 | Rich_Morin | I'd like to be able to check the type of purported Booleans at runtime. I can see how to do this for methods (eg, "&&"), but I don't know if metaprogramming can handle keywords (eg, "if"). If it can't, I'd be interested in pointers to convenient places to add this capability to Rubinius. |
| 21:01:40 | Maledictus | seems like there is simply missing the code which should send the second packet for which the server_thread is waiting. |
| 21:01:48 | Maledictus | UDPSocket.open.send("connection-based", 0, '127.0.0.1',SocketSpecs.port) |
| 21:02:00 | Maledictus | when I add this after the first send it works |
| 21:02:05 | xif enters the room. | |
| 21:02:05 | brixen | hmm, perhaps we could define a few things: "purported Booleans", "do this for methods", "metaprogramming can handle keywords" |
| 21:02:50 | Rich_Morin | brixen: See http://cfcl.com/twiki/bin/view/Projects/Spect/UC_Require_Boolean |
| 21:04:10 | brixen | Rich_Morin: gotcha. no way to do that from ruby afaik for e.g. 'if' |
| 21:04:49 | dbussink | i think i prefer the current ruby behavior |
| 21:05:01 | brixen | Rich_Morin: imho, it's rather an odd feature to want for a language. even C considers other than 0 to be true |
| 21:05:26 | brixen | might make sense in a statically typed language |
| 21:05:32 | dbussink | seems a bit off in a dynamically typed language |
| 21:05:38 | naeu leaves the room. | |
| 21:05:49 | brixen | yeah, I wouldn't want it, but hey... :) |
| 21:06:28 | brixen | Rich_Morin: as with most things in the domain of this UC, my solution is better specs :) |
| 21:06:31 | brixen | and BDD |
| 21:07:13 | Rich_Morin | The problem, as expressed to me by a friend who does both C and Ruby, is that the common idiom ("if (foo)") means different things in Ruby and other languages. So, the programmer can make mistakes that the interpreter won't _ever_ catch. |
| 21:08:32 | brixen | yeah, but that's a logic error often |
| 21:08:48 | brixen | and, by forcing casting to booleans, you can just push the problem into a different place |
| 21:09:14 | dbussink | seems like you're going for a static typed language then, if you want to infer as much as possible |
| 21:09:31 | rubuildius_ppc enters the room. | |
| 21:09:47 | brixen | there would still be either 1. an inference rule like we implicitly have, or 2. an explicit conversion to a boolean |
| 21:09:51 | brixen | is there another option? |
| 21:09:53 | xif leaves the room. | |
| 21:09:54 | cremes_ enters the room. | |
| 21:10:03 | imajes_ enters the room. | |
| 21:10:27 | Rich_Morin | +1 to specs, BDD, good tests, etc. However, having those available is not a panacea, unless the programmer is perfect. So, if there's an easy test framework to provide this, and a programmer is willing to be explicit, I see no reason why the feature should NOT be available. |
| 21:10:40 | xif enters the room. | |
| 21:10:41 | brixen | on the positive side, we do have a rich set of predicates (e.g. empty?) but there are times you want to say (not false) |
| 21:11:16 | brixen | Rich_Morin: imo, because the "explicit" use requires just as much from the programmer I think |
| 21:11:26 | brixen | and it litters the code, with not that much benefit |
| 21:12:08 | brixen | an analysis of real code for the occurrence of use of non boolean in a boolean test where an explicit predicate method is not already available would be useful |
| 21:12:31 | dbussink | i know some people who use stuff like ! nil? all the time and it reads really ugly imho |
| 21:12:31 | brixen | the thing I dislike about these use cases is they very rarely appear to be backed by emperical evidence |
| 21:12:58 | brixen | yeah, nil? should be used to distinguish a value that can be false or nil and it means different things |
| 21:13:15 | brixen | nil evaluating to false is immensely useful |
| 21:13:19 | Rich_Morin | The thing that explicit use requires of the programmer is clear thought and a bit of extra (again, voluntary) effort. THe thing that not having it requires of the programmer is perfection. If type checking can help to detect logic errors, that's a bonus. |
| 21:13:30 | brixen | however, it overloads the sense of nil being "undefined" in math sense |
| 21:14:09 | brixen | Rich_Morin: this is static vs. dynamic typing argument. I'm not going to rehash it, not useful for me :) |
| 21:14:22 | Rich_Morin | Indeed, nill evaluating to false is useful, but writing "foo.nil?" isn't that much of a pain and it makes the intent clearer. |
| 21:14:24 | dbussink | well, i've never encountered this issue in real life and i'm certainly not perfect :) |
| 21:14:40 | brixen | as far as a practical matter goes, in MRI at least, you can't get to 'if' with any amount of metaprogramming afaik |
| 21:14:43 | Rich_Morin | Well, IIRC, I only asked an implementation question. |
| 21:14:54 | dbussink | but if !object.nil? is just ugly, it hurts my eyes :) |
| 21:15:02 | MenTaLguY | unless object.nil? |
| 21:15:08 | Rich_Morin | ! hurts _my_ eyes :) |
| 21:15:19 | MenTaLguY | I almost never write if !anything |
| 21:15:25 | dbussink | yeah, but unless always makes me think twice |
| 21:15:49 | dbussink | i usually use it for one liners |
| 21:15:50 | MenTaLguY | so should if ! |
| 21:16:13 | Rich_Morin | Damian Conway (a Perl God) prefers ! to unless, so I compromise and think of it as a matter of taste. |
| 21:16:14 | dbussink | if there is an else case i just switch them |
| 21:16:32 | MenTaLguY | yes, if you've got an else case then that's usually best |
| 21:16:49 | MenTaLguY | I think I'd prefer to use not rather than ! if I were going to do that |
| 21:16:57 | MenTaLguY | if not object.nil? scans better |
| 21:17:12 | dbussink | in those cases i write if object |
| 21:17:16 | benburkert enters the room. | |
| 21:18:18 | MenTaLguY | oh, right |
| 21:18:21 | MenTaLguY | actually so do I :P |
| 21:18:31 | MenTaLguY | I was a little too focused on the problem at hand |
| 21:18:38 | dbussink | hehe |
| 21:18:39 | MenTaLguY | if with negated predicate methods |
| 21:19:11 | dbussink | but those constructs are what you get if you enforce boolean evaluation |
| 21:19:26 | Maledictus | brixen dbussink: http://rubinius.lighthouseapp.com/projects/5089-rubinius/tickets/479-repair-udpsocket-spec |
| 21:20:43 | Rich_Morin | Curious. We all seem to be agreed that making the code easier to understand is a Good Thing. (not all that common :-/), but differ markedly on what constitutes "easier to understand". I wonder whether the lack of a Ruby style guide (AFAIK) is a cause or a symptom of the current variation in practice. My suspicion is both... |
| 21:21:56 | brixen | Maledictus: cool. btw, if you use git format-patch, the commit will include your name, etc |
| 21:22:14 | dbussink | well, from the code that i've seen in the wild and the attitude of people i'd think that most of them go for the if object construct |
| 21:22:39 | rubuildius_ppc | Dirkjan Bussink: e18196d93; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176171 |
| 21:22:47 | Maledictus | ah, didn't know that, thanks! |
| 21:23:03 | brixen | dbussink: do you have time to review that patch? |
| 21:23:24 | Rich_Morin | drbussink: There are lots of ways to rework conditional code for clarity. For example, De Morgan's Laws are occasionally helpful. Think of it as a challenge... |
| 21:23:27 | dbussink | brixen: i'll look at it for a minute |
| 21:23:53 | brixen | dbussink: cool, thanks! up to my eyes in some other specs atm |
| 21:24:11 | dbussink | Rich_Morin: oh, definitely, i always rework the statements but the goal there is to make them feel as natural as possible |
| 21:24:31 | dbussink | Rich_Morin: and using the fact that nil is also false helps a lot in making those more readable imho |
| 21:25:11 | Fullmoon leaves the room. | |
| 21:28:12 | dbussink | Maledictus: those changes look sane :) |
| 21:28:19 | Maledictus | I hope so :) |
| 21:28:21 | dbussink | Maledictus: any luck with git-format-patch? |
| 21:28:32 | Maledictus | no output |
| 21:28:41 | Maledictus | I'll try comitting first locally |
| 21:28:45 | Maledictus | (new to git) |
| 21:28:55 | dbussink | yeah, you have to do that first |
| 21:29:52 | Maledictus | ok, comitted it. still not output from git-format-patch |
| 21:31:07 | Maledictus | looks like I have to tell the origin? Any idea what that is? |
| 21:31:25 | dbussink | you can use the hash of the last commit that's from the master |
| 21:31:31 | dbussink | so before your commit |
| 21:31:38 | dbussink | you can find it in git log |
| 21:31:41 | Maledictus | ah, git-format-patch -1 seems to work |
| 21:32:35 | Maledictus | No really any more usefull information in the resulting patch |
| 21:33:22 | VVSiz enters the room. | |
| 21:33:53 | Rich_Morin | I'd agree that disallowing the implicit conversion to Boolean will add bulk in some cases. It needn't make the code obscure, however, in most cases. However, all of this is up to the programmer/team/etc. If production code is involved, the developer(s) may be willing to deal with a bit of verbosity to get the added clarity and safety. Given that this is an option, why don't we punt the question of whether or when any of us would do it and move back to the orig |
| 21:35:31 | dbussink | Maledictus: well, you're name is in it now |
| 21:35:45 | dbussink | Maledictus: and if we apply the patch, you'll get the credits in the commit log |
| 21:36:00 | Maledictus | ok, I'll upload it for the credits ;) |
| 21:36:40 | dbussink | Rich_Morin: well, i get the point, but i guess i just simply disagree ;) i don't want that stuff in my production code :P |
| 21:37:01 | wycats | drbrain, zenspider: http://pastie.textmate.org/176176 |
| 21:37:06 | wycats | is that expected behavior/ |
| 21:38:53 | Maledictus | dbussink: Uploaded it :) |
| 21:38:56 | dbussink | Rich_Morin: but i don't know how much has to be changed to even support it in such a way that it's optional |
| 21:39:25 | brixen | Rich_Morin: as I said before, you can't get to 'if' from ruby code, so that needs interpreter support |
| 21:40:15 | Rich_Morin | Erm, this is #rubinius, right? The place where folks like to have a malleable interpreter? |
| 21:41:10 | brixen | what's that got to do with anything? |
| 21:41:17 | Rich_Morin | Ruby is dynamic and so is Rubinius. If I want to patch my version for testing, that seems like my privilege... |
| 21:41:24 | brixen | indeed |
| 21:42:02 | brixen | actually, seems to me a more flexible parser would be useful for this |
| 21:42:25 | Rich_Morin | IIRC, the parser is in C at this point? |
| 21:42:31 | KirinDav leaves the room. | |
| 21:42:39 | brixen | well, there is ruby_parser |
| 21:43:44 | brixen | hmm, actually, I don't see the utility without full-blown static typing |
| 21:44:04 | Rich_Morin | brixen: It would be _really_ convenient to have pragmas, so that I could tell the interpreter how to act from within a script. There are workarounds (eg, calling a hacked interpreter on __FILE__), but they aren't pretty... |
| 21:44:24 | boyscout | 1 commit by Marius Nuennerich |
| 21:44:25 | boyscout | * repair UDPSocket spec; 7391c1f |
| 21:44:46 | Maledictus | yay. thanks :) |
| 21:45:12 | brixen | Rich_Morin: I guess I would get interested if something emperical should X percent of bugs in Ruby code resulted from mistaking nil for false in a conditional |
| 21:45:32 | brixen | s/should/showed/ |
| 21:46:40 | dbussink | Maledictus: if you want commit access, you can contact evan |
| 21:46:48 | dbussink | Maledictus: he should probably be here tomorrow |
| 21:47:15 | Maledictus | OK, I look if I produce some more patches. |
| 21:47:31 | dbussink | well, i'm off to bed |
| 21:47:39 | dbussink | night all |
| 21:47:45 | Maledictus | good night |
| 21:50:04 | TheVoice leaves the room. | |
| 21:50:04 | RyanTM leaves the room. | |
| 21:50:33 | brixen | Rich_Morin: also, if your UC description had something other than "especially when a C or Perl programmer is involved" it might be easier to understand to *need* described by the UC |
| 21:51:40 | Rich_Morin | You'd prefer an explicit explanation to a joke, I take it. |
| 21:51:41 | RyanTM enters the room. | |
| 21:53:17 | joachimm leaves the room. | |
| 21:55:44 | rubuildius_ppc | Marius Nuennerich: 7391c1fbc; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176186 |
| 21:55:47 | rubuildius_amd64 | Marius Nuennerich: 7391c1fbc; 1855 files, 6387 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/Qp22rC89.html |
| 21:56:26 | Rich_Morin | brixen: edited - see if this seems clearer - http://cfcl.com/twiki/bin/view/Projects/Spect/UC_Require_Boolean |
| 21:58:13 | thehcdreamer leaves the room. | |
| 22:02:54 | brixen | Rich_Morin: indeed it is clearer, but all it says to me is that C and Perl programmers may have some issue with Ruby semantics. I still fail to see the big picture |
| 22:05:35 | imajes_ leaves the room. | |
| 22:08:52 | Rich_Morin | brixen: The big picture is that I'm looking at use cases where the interpreter can help to find common error situations, ala lint(1) and Perl's "use strict". This is one that I might even be able to implement, and it's one that a fellow programmer requested strongly. |
| 22:09:50 | brixen | Rich_Morin: well, in ruby semantics, all you are changing is essentially the "if obj" to "if not obj.nil?" |
| 22:09:57 | brixen | imo, that's not worth the overhead |
| 22:10:29 | brixen | but, it's perfectly possible to hack that into the opcodes |
| 22:11:03 | Rich_Morin | How many opcodes, at a guess, would be involved? |
| 22:11:46 | Rich_Morin | Also, given that the opcodes themselves are implemented in C, perhaps I need to control which opgodes are generated. |
| 22:12:30 | brixen | I don't understand that last one |
| 22:13:02 | brixen | you basically want to type check that in 'if obj' obj.is_a? TrueClass or obj.is_a? FalseClass |
| 22:13:06 | brixen | same for &&, ||, etc |
| 22:13:54 | brixen | opcodes are documented here: http://rubini.us/rbx_documentation/vm-documentation/ |
| 22:14:48 | brixen | you can put some code in a file and do: shotgun/rubinius describe <file.rb> to see what gets generated for e.g. if obj |
| 22:15:34 | Rich_Morin | I had thought && and || were methods; I now gather that they are not. |
| 22:17:26 | brixen | no, && and || are not methods |
| 22:19:03 | brixen | Rich_Morin: again, I take issue with "help to find common error situations". I'd really like to see where these are common |
| 22:20:54 | Rich_Morin | I gather that you're suggesting that I modify the code that generates opcodes for each operator and keyword involved, so that a type check is done automagically. |
| 22:21:37 | Rich_Morin | I'm not in a position to do the study you require. If some outfit wants to do it, I'd be quite willing to help :). |
| 22:22:14 | ezmobius leaves the room. | |
| 22:23:01 | brixen | Rich_Morin: heh, well, it's possible, though ill-advised imo |
| 22:23:07 | brixen | grabbing lunch, bbl... |
| 22:23:20 | Rich_Morin | later |
| 22:25:13 | fizx leaves the room. | |
| 22:31:38 | imajes_ enters the room. | |
| 22:38:50 | AndrewO enters the room. | |
| 22:41:13 | ezmobius enters the room. | |
| 22:43:16 | AndrewO leaves the room. | |
| 22:44:21 | foysavas enters the room. | |
| 22:46:02 | trythil enters the room. | |
| 22:57:01 | AndrewO enters the room. | |
| 22:58:16 | Maledictus | good night |
| 22:59:02 | Maledictus leaves the room. | |
| 23:04:53 | cypher23 leaves the room. | |
| 23:09:46 | tizianobis enters the room. | |
| 23:16:01 | qwert666_ enters the room. | |
| 23:19:32 | djwhitt enters the room. | |
| 23:20:37 | tizianobis_ enters the room. | |
| 23:22:38 | rby leaves the room. | |
| 23:23:12 | tizianobis__ enters the room. | |
| 23:28:48 | imajes_ leaves the room. | |
| 23:35:44 | qwert666 leaves the room. | |
| 23:37:51 | tizianobis leaves the room. | |
| 23:40:57 | agardiner enters the room. | |
| 23:41:02 | tizianobis_ leaves the room. | |
| 23:42:10 | tgern enters the room. | |
| 23:47:17 | Arjen_ leaves the room. | |
| 23:50:24 | ttmrichter enters the room. | |
| 23:58:14 | macournoyer enters the room. | |
| 23:59:19 | nkpart enters the room. |