Index

Show enters and exits. Hide enters and exits.

00:14:21trythil leaves the room.
00:16:02rby leaves the room.
00:20:24aotearoa_ leaves the room.
00:23:43hoopy enters the room.
00:24:03ciscbrain leaves the room.
00:29:16sfaxon leaves the room.
00:30:31KirinDav enters the room.
00:38:53hassox enters the room.
00:38:59qwert666_ leaves the room.
00:40:26aotearoa leaves the room.
00:42:30cored enters the room.
00:55:32JackDanger leaves the room.
00:57:33gnufied enters the room.
00:59:26FoobarWidget leaves the room.
00:59:43benburkert enters the room.
01:11:52cored leaves the room.
01:25:50KirinDav leaves the room.
01:33:14JackDanger enters the room.
01:40:43JackDanger leaves the room.
01:40:45JackDanger_ enters the room.
01:45:59benburkert leaves the room.
01:46:24JackDanger_ leaves the room.
01:47:14JackDanger enters the room.
01:50:52JackDanger leaves the room.
01:52:20JackDanger enters the room.
01:55:14JackDanger leaves the room.
02:08:12benburkert enters the room.
02:21:03chop3 leaves the room.
02:24:11VVSiz_ enters the room.
02:25:36dewd enters the room.
02:27:57peeja enters the room.
02:28:35peeja leaves the room.
02:42:25VVSiz leaves the room.
02:42:56lopex leaves the room.
02:45:38rubuildius_ppc enters the room.
02:45:40cremes_ leaves the room.
02:45:54cremes_ enters the room.
02:54:39jtoy enters the room.
02:59:28rubuildius_ppcEero Saynatkari: 5a205207f; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/175941
03:03:00imajes_ leaves the room.
03:06:06Fullmoon enters the room.
03:07:32pastie leaves the room.
03:08:16pastie enters the room.
03:16:15Fullmoon leaves the room.
03:25:42Fullmoon enters the room.
03:27:13trythil enters the room.
03:33:57dysinger leaves the room.
03:48:19headius leaves the room.
03:48:21hassox leaves the room.
03:51:23nicksieger enters the room.
03:58:17MenTaLguY leaves the room.
04:06:15binary42 enters the room.
04:07:01benburkert leaves the room.
04:19:06obvio enters the room.
04:21:38chop3 enters the room.
04:32:36lstoll leaves the room.
04:33:24chop3 leaves the room.
04:33:26RyanTM leaves the room.
05:01:50loincloth enters the room.
05:26:21lstoll enters the room.
05:55:41peeja enters the room.
05:59:43peeja leaves the room.
06:14:16rueThe build bots certainly are taking their sweet time
06:15:28djwhittrue: they going slow? I haven't been paying much attention today
06:20:57dewd_ enters the room.
06:22:54rueActually 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:03djwhittah, probably because it recompiles after restarts
06:24:09djwhittmine doesn't do that
06:24:33djwhittI should get that new code for it tested a little more than cremes can upgrade his
06:26:17rueAh, executing the last one then I gather
06:26:36rueAlrighty, I am going to bed. Normal schedule tomorrow
06:26:37rueNites
06:27:04djwhittI think I'll do the same
06:27:04djwhittlater
06:34:44dewd leaves the room.
06:35:09tizianobis enters the room.
06:38:49RyanTM enters the room.
06:52:21dysinger enters the room.
06:54:04dysingerCool - I just figured out how to deploy rails apps directly from gitorious using agent forwarding with ssh-agent.
06:54:09dysinger& capistrano
06:54:25dysingerI am going to write a blog article on it.
06:54:32dysingerhow is everyone ?
06:57:49halorgiumdysinger: figured out how _not_ to do it as well eh? :)
06:58:16dysingeroh heh
06:58:18dysingerwrong group
06:58:26dysingerand yes - figure out how not to do it too
07:00:11dysingerAnyway sorry - wrong group
07:03:17halorgiumlol
07:04:19RyanTM leaves the room.
07:09:23hassox enters the room.
07:13:33gnufied leaves the room.
07:14:15gnufied enters the room.
07:18:42headius enters the room.
07:20:06tizianobis_ enters the room.
07:26:46Yurik leaves the room.
07:36:31wycats__ enters the room.
07:36:52tizianobis leaves the room.
07:41:46tizianobis_ leaves the room.
07:45:41wycats leaves the room.
08:05:53yaroslav enters the room.
08:13:24dewd_ leaves the room.
08:19:51Gerardo enters the room.
08:19:59GerardoHi
08:20:25GerardoI've just updated my copy, built rubinius and ran the tests
08:20:59GerardoI get a core dump
08:34:24headius leaves the room.
08:37:13Gerardo leaves the room.
08:37:21yaroslav leaves the room.
08:55:42cypher23 enters the room.
09:00:07gnufied leaves the room.
09:09:22trythil_ enters the room.
09:28:16trythil leaves the room.
09:40:21loincloth leaves the room.
09:41:56qwert666 enters the room.
09:44:44imajes_ enters the room.
09:55:40rby enters the room.
10:05:59rby leaves the room.
10:13:14imajes_ leaves the room.
10:14:03yaroslav enters the room.
10:45:45dbussinkmorning
10:53:09qwert666_ enters the room.
11:02:05imajes_ enters the room.
11:02:07yaroslav leaves the room.
11:05:45imajes_ leaves the room.
11:08:47wvdschel enters the room.
11:08:56wvdschelhi all
11:09:32imajes_ enters the room.
11:09:49cypher256 enters the room.
11:11:49qwert666 leaves the room.
11:13:53dbussinkwvdschel: hi
11:15:22wvdschelI haven't tried rubinius out in quite a while, and I was wondering how things were going
11:16:12dbussinkit's progressing, there is quite some rework in the pipeline now
11:16:23dbussinkand there are quite some specs now that we pass :)
11:16:34dbussinkstill a lot of work to do though
11:17:13cypher23 leaves the room.
11:17:40wvdscheldbussink, what's being done these days?
11:18:19rby enters the room.
11:18:41dbussinkthere's still work being done on rubygems, but everyone is waiting for evan's vm rewriting
11:19:10dbussinkalso subtend needs more improvements to fully support all ruby c stuff
11:20:05dbussinkwhen was the last time you looked at it?
11:24:44thehcdreamer leaves the room.
11:26:20wvdschelerm
11:26:28wvdschelthis summer i looked at it in detail
11:26:42wvdschelthen I just checked by every now and then once school started again
11:26:55wvdschels/checked/stopped/
11:27:14yaroslav enters the room.
11:27:17wvdschelhows completeness coming along?
11:27:20thehcdreamer enters the room.
11:27:50dbussinkyou mean spec completeness? well, there is still a lot of stuff to spec in the ruby stdlib
11:29:34wvdschelI started on writing specs for date and file, but by the time I got anywhere, someone else had already made those :p
11:29:59wvdschelis there a list of what's left to spec somewhere?
11:30:09dbussinkhehe, i made date :p
11:30:23dbussinkbasically everything that is still in the stdlib directory
11:30:29chris2 enters the room.
11:30:40dbussinkwhen a class or module there is specced and works ok, it's moved to lib/
11:38:16wvdschelah I see
11:39:02wvdscheloh and by the way
11:39:07wvdschelI saw a windows related ticket
11:39:20wvdscheldoes that mean rubinius can run on windows now?
11:39:27dbussinkwindows related? it doesn't even run on windows
11:39:44wvdschelhmmm it was late at night, maybe I was imagining things
11:40:03wvdschelnot that I really use windows a lot, but it would be cool to have rubinius run on more platforms
11:40:08wvdschelespecially the big ones :)
11:40:28wvdschelbut I guess all but one work :)
11:40:31dbussinkwell, we currently support os x, linux, freebsd and openbsd
11:40:38dbussinkthat's where i know it works
11:43:10dbussinkwe definitely want windows support, but we really need someone with some windows development experience for that
11:47:37VVSizwvdschel: there was a ticket to make *mspec* running on Windows
11:47:52wvdschelah
11:47:59VVSizit is actually running (I mean, mspec, *not* rubinius), just with some bugs
11:47:59wvdschelmust have been that
11:48:20wvdschelthe only time i use windows is at school, at work, or in a VM
11:48:45wvdschelI don't quite understand why people would connect a machine running windows directly to a network. They must be looking for trouble.
11:52:53wvdschelhow many people are now working on rubinius and being payed for it?
11:52:54VVSizas 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:24dbussinkwvdschel: i think there are like 5 payed people working on it now
11:53:31dbussinkif i recall correctly
11:53:36wvdschelall from engine yard?
11:53:39dbussinkyeah
11:53:45wvdschelcool
11:53:54wvdschelare you one of them?
11:54:15dbussinknope, i'm just a volunteer :P
11:54:34wvdschelpoor you ;)
11:54:45wvdschelwow
11:54:50wvdschel91 people in here
11:54:53dbussinkwell, i have a fulltime job so i'm busy enough :)
11:54:58wvdschelthis place sure became popular
11:55:07wvdscheldo you work in IT?
11:56:19dbussinkyep, also doing ruby development, so i'm not complaining
12:03:32wvdschellucky you :)
12:03:41wvdscheli've not seen to many ruby jobs around here
12:04:00dbussinkbelgium i see?
12:04:01wvdschelbut then again, I assume most are rails related
12:04:04wvdschelyes
12:04:18wvdschelprivacy is an illusion on IRC :)
12:04:24wvdschelwhere are you from?
12:04:28dbussinkwell, here in the netherlands there are if you know where to look
12:05:44yaroslav leaves the room.
12:06:22wvdschelI assume it will be the same here then
12:06:33wvdschelI haven't really looked hard, since I'm still studying
12:06:54dbussinkah, what are you studying? i just finished a month ago :)
12:07:50wvdschelBachelor Informatica right now, next year it will probably be Master in Computer Science, Software Development
12:08:00wvdschelbut I haven't made up my mind yet
12:08:32wvdschelwould 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:09wvdschels/got/good/
12:09:25dbussinkyou can't make up your own program / direction?
12:09:44dbussinkthat's what you can do here in the netherlands, you can go down the path you want
12:10:15comboy enters the room.
12:10:25wvdschelwe get to pick 50% of the courses I'm told
12:10:38wvdschelso if I can, I'll pick courses related to those fields :)
12:11:37dbussinkwhat university are you at?
12:11:41wvdschelGhent
12:12:05dbussinkis the english name with the h in it?
12:12:07dbussinklooks weird :)
12:12:10wvdschelGent
12:12:21wvdschelbut english name is with an h, yeah :P
12:12:34wvdschelDon't ask me why :)
12:13:04wvdschelit's ok, but we're really being pushed towards java
12:13:15wvdschela few professors that are into .NET
12:13:29wvdscheland we get a course on C and C++, but most of the stuff is Java
12:13:59dbussinkmy experience with programming during my university time was that it doesn't matter
12:14:20dbussinki didn't learn programming there, but in my job(s) i had next to it
12:14:38wvdschelI learned my programming in high school
12:14:43wvdschelnow i'm just maintaining it :)
12:14:49wvdscheland doing a poor job at it
12:15:02wvdschelbut we learn to work on projects in groups, meet deadlines and such
12:15:03dbussinkcomputer science is about computers just like astronomy is about telescopes :P
12:15:05wvdschelwhich is ok
12:15:16wvdschelyeah I know
12:15:57wvdschelbut you still need to know how to use a telescope in order to look at the stars
12:17:00dbussinkwell, maybe get a job on the side
12:17:18wvdschelhard to combine with school work, but I'm looking for one
12:17:31wvdscheljust can't find one
12:17:48wvdschelpeople aren't looking for unqualified part time workers it seems
12:18:09dbussinkin my experience networking with people is really important
12:18:18dbussinkget to know people who work somewhere interesting
12:18:29dbussinkdo some volunteer stuff to show you're capable
12:18:57wvdschelhmmm I've been working on that
12:19:16dbussinkdo open source stuff, that also helps :)
12:19:25wvdschelhaha :) I suppose :)
12:19:53dbussinkand if a company doesn't care about that, you don't want to work there ;)
12:19:59wvdschelanyway, I have to go prove that my state machines are doing the job I designed them for ;)
12:20:23wvdschelCouldn't agree with you more :)
12:20:33wvdschelsee you around
12:24:23imajes_ leaves the room.
12:26:34dbussinkwvdschel: good luck with it :)
12:26:40wvdschelthx :)
12:26:51trythil_ leaves the room.
12:51:03Skip enters the room.
12:56:11Arjen_ enters the room.
13:19:03rby leaves the room.
13:24:04rby enters the room.
13:25:34Arjen_ leaves the room.
13:34:25Yurik enters the room.
13:35:37Yurik leaves the room.
13:36:11JimPeak enters the room.
13:36:33Fullmoon leaves the room.
13:44:20xmlhacker_ leaves the room.
13:46:13Fullmoon enters the room.
13:46:51Yurik enters the room.
13:48:03xmlhacker_ enters the room.
13:52:57Fullmoon leaves the room.
13:57:41wdperson enters the room.
13:59:48chris2 leaves the room.
14:03:14Fullmoon enters the room.
14:15:18foysavas leaves the room.
14:20:44fbuilesv_ enters the room.
14:21:28foysavas enters the room.
14:25:28wdperson leaves the room.
14:25:39foysavas leaves the room.
14:26:26foysavas enters the room.
14:26:53wdperson enters the room.
14:28:01foysavas leaves the room.
14:28:47foysavas enters the room.
14:38:16chris2 enters the room.
14:46:46foysavas leaves the room.
14:50:15yaroslav enters the room.
14:54:15pastie leaves the room.
15:00:36chris2 leaves the room.
15:00:42chris2 enters the room.
15:04:37pastie enters the room.
15:11:35tgern enters the room.
15:15:37sudoer enters the room.
15:16:22peeja enters the room.
15:20:38tgern leaves the room.
15:33:23jtoy leaves the room.
15:35:33fbuilesvis anyone versed in socket.rb to give me a few pointers?
15:40:45dbussinkfbuilesv: what are you working on?
15:41:10fbuilesvdbussink: that UDPSocket bug, I think I've found a few errors but I'm kinda lost with some definitions
15:41:52dbussinki looked at that too but it's a pretty big mess
15:42:02dbussinkit needs way more than a simple fix
15:42:27fbuilesvdbussink: 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:51dbussinkfbuilesv: looks like that should be removed yeah
15:44:15dbussinkdoesn't make any sense i think
15:44:30fbuilesvdbussink: not there where fixnum is not defined, but I'm wondering what was supposed to go in there then
15:45:32dbussinkwell, the socket stuff has been reworked quite some times, so don't be surprised to find strange things lingering there
15:45:47lopex enters the room.
15:45:52fbuilesvdbussink: 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:32fbuilesvthere's some way in git to search for a past revision of that and see what was there, right?
15:46:54dbussinkyeah, but my git skills aren't that advanced
15:47:11dbussinkyou should probably look at the tcp stuff for inspiration, that has been better tested
15:49:29peeja leaves the room.
15:49:50dbussinkfbuilesv: there are also mixed calls to Socket::Foreign.pack_sockaddr_in and the non foreign version
15:50:44fbuilesvdbussink: yes but will it get there with the return up there?
15:51:01dbussinkfbuilesv: not even that
15:51:06dbussinkit's a big mess in there
15:51:15dbussinkprobably should start from scratch
15:51:47fbuilesvdbussink: that doesn't sound so back, gonna check socket.c and see how it's done in MRI
15:52:02dbussinkfbuilesv: yeah, that's probably the easiest way
15:53:04wvdschel leaves the room.
15:53:10wvdschel enters the room.
15:53:19fbuilesvbad*
16:00:11peeja enters the room.
16:01:10peeja leaves the room.
16:02:06peeja enters the room.
16:02:57peeja leaves the room.
16:09:49MenTaLguY enters the room.
16:10:56peeja enters the room.
16:14:44yaroslav leaves the room.
16:15:08yaroslav enters the room.
16:15:13peeja leaves the room.
16:18:06sethbc enters the room.
16:21:50qwert666__ enters the room.
16:23:35sethbc leaves the room.
16:24:16sethbc enters the room.
16:24:25schleyfox enters the room.
16:27:08sethbc leaves the room.
16:29:06schleyfoxI can safely say that I hate sockets
16:35:24kofno leaves the room.
16:39:49RyanTM enters the room.
16:41:22qwert666_ leaves the room.
16:41:33naeu enters the room.
16:45:46srbaker leaves the room.
16:46:04srbaker enters the room.
16:46:04srbaker leaves the room.
16:46:17srbaker enters the room.
16:59:17zimbatm enters the room.
17:00:22dbussinkfbuilesv: any luck with it?
17:00:44therealadam enters the room.
17:00:58fbuilesvdbussink: 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:41schleyfoxso whats up?
17:02:21dbussinkfbuilesv: well, what i'd do is look at mri and rebuild that code using ffi etc.
17:02:44fbuilesvschleyfox: why the hate on sockets? :)
17:03:17schleyfoxbecause I'm trying to figure out whats going on in UDPSocket, I found a typo or two
17:03:18fbuilesvdbussink: 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:28fbuilesvschleyfox: join the club
17:03:37schleyfoxah good
17:03:43dbussinkfbuilesv: yeah, but the approach stays the same
17:04:57fbuilesvdbussink: I'll go that way then, let me read the docs about FFI then :)
17:05:24oslor enters the room.
17:05:27dbussinkfbuilesv: well, all the necessary FFI building block are available afaik
17:05:37dbussinkfbuilesv: just look at how TCPSocket etc. use it
17:07:01fbuilesvdbussink: yes, looks like most of it if not all is already there, that seems easier
17:07:14dbussinkfbuilesv: if you look at mri's udp_init, it basically gets the addrinfo and does the bind call
17:08:23fbuilesvdbussink: udp_bind you mean?
17:09:00dbussinkfbuilesv: ah yeah, sorry
17:10:06dbussinkfbuilesv: it walks through the addrinfo chain, you can see in TCPSocket#tcp_setup how that's done there
17:10:16dbussinkfbuilesv: you can probably do something similar
17:10:39schleyfoxI 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:09naeu leaves the room.
17:11:13dbussinkschleyfox: what are you working on?
17:11:42fbuilesvdbussink: issues are not only in bind, they go all the way to UDPSocket.pack_sockaddr_in :S
17:11:54schleyfoxUDPSocket.bind, not really working more tinkering
17:12:23dbussinkfbuilesv: i don't think that's even needed
17:12:32schleyfoxjust have a simple spec that basically does the test in the ticket and I'm trying to figure out whats up
17:12:47dbussinkschleyfox: udpsocket is just completely broken
17:12:52dbussinkit never worked
17:12:52schleyfoxyeah
17:12:56dbussinkjust needs to be rewritten
17:13:04dbussinkthe code in there is probably just bogus
17:13:17schleyfoxwell I was kind of wondering
17:13:24yaroslav leaves the room.
17:14:02yaroslav enters the room.
17:14:06schleyfoxI just assumed that I was misunderstanding it, so thats comfortable
17:15:49schleyfox*comforting
17:15:50sudoer leaves the room.
17:23:50wvdschel leaves the room.
17:24:41wvdschel enters the room.
17:27:07naeu enters the room.
17:33:08dbussinkhm, the udpsocket#bind needs a working udpsocket contructor and that's broken too
17:35:02jayWHY enters the room.
17:35:26fbuilesvdbussink: I'm setting a host and a port in the constructor right now, what else do you think should go there?
17:37:18fbuilesvmmm, actually, host and port should not be set there but in bind
17:37:45dbussinkfbuilesv: working on something myself now
17:37:57fbuilesvdbussink: ok
17:40:15yaroslav leaves the room.
17:40:28jlindley enters the room.
17:40:53yaroslav enters the room.
17:41:27naeuhey, can someone clear things up a little for me with the documentation class/method separator symbols #,:: and .
17:41:43naeuis there a defined usage for each of these symbols
17:41:56naeuor are they used interchageably?
17:42:30dbussinkafaik :: is used like in ruby, . too and # means it's an instance method on the mentioned class
17:42:42fbuilesvnaeu: I think you can co with: # is an instance method, . is a static method, :: is defined for modules
17:43:57fbuilesvs/co/go/
17:44:03naeufbuilesv, dbussink thanks :-)
17:45:11yaroslav leaves the room.
17:46:14VVSiz leaves the room.
17:48:39naeufbuilesv: what about a self.method defined in a module? ;-)
17:49:16naeuhehe
17:49:39fbuilesvnaeu: great question, I'm not exactly sure but I think it'd be Mod::method
17:50:02naeusorry, I was just being a bit silly
17:50:31brixenhowdy folks
17:50:33naeuand when you say static method I assume you mean a class method
17:50:45dbussinkbrixen: morning!
17:50:56naeuor a Class's object's singleton's method
17:50:56brixennaeu: :: can be used to call module methods (e.g. module M; def self.foo; end; end; M::foo)
17:51:00brixenbut we really don't like that
17:51:29brixenso, in the specs at least, we uniformly use . for module/class methods, # for instance methods, and :: for constants and module chains
17:51:43brixendbussink: morning!
17:51:59naeubrixen: ok, cool
17:52:38naeuI'm just trying to get started helping out
17:52:53Arjen_ enters the room.
17:53:05brixennaeu: super
17:53:07naeuI 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:27brixennaeu: heh, everybody starts somewhere
17:53:35naeuindeedy
17:53:36brixenI wish I had more couch time with evan :P
17:53:39naeuhaha
17:53:46brixennaeu: is the patch applied yet?
17:53:51naeuyep :-)
17:53:54brixencool
17:53:55schleyfoxwell that was a good part of the conversation to walk in on
17:54:01brixenheh
17:54:19brixenI've yet to hear anyone whose had couch time with evan complain about it :)
17:54:26naeu:-)
17:54:33naeuhe's a really nice guy
17:54:33brixens/whose/who's/
17:54:47schleyfoxyeah
17:54:51naeuI spent the last 4 days with him at RubyFools
17:55:04naeuhe's as lame as me at pingpong too
17:56:06naeuor at least he was concealing his ninja skills
17:56:29schleyfoxthats probably it
17:57:30jlindley leaves the room.
18:07:09KirinDav enters the room.
18:07:15ttmrichter_ leaves the room.
18:15:05lstoll_ enters the room.
18:15:22boyscout1 commit by Dirkjan Bussink
18:15:23boyscout * Clean up UDPSocket#initialize and UDPSocket#bind; 2f032d2
18:15:46dbussinkfbuilesv: it should make some more sense now :)
18:16:17Maledictus enters the room.
18:18:44fbuilesvdbussink: let me take a look, I've got something that _seems_ to be working
18:21:24fbuilesvty for reminding me I should branch before starting to work, this is gonna be conflict hell :)
18:25:44fbuilesvdbussink: how does syscall work? From what I can see in kernel.rb it'll just throw an exception
18:25:49rubuildius_amd64Dirkjan Bussink: 2f032d26c; 1855 files, 6387 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/iykumB40.html
18:27:25rubuildius_ppcDirkjan Bussink: 2f032d26c; 1855 files, 6390 examples, 22480 expectations, 1 failure, 0 errors; http://pastie.caboo.se/paste/176125
18:29:28dbussinkfbuilesv: did you work on connect / send too then?
18:29:53fbuilesvdbussink: nope, was trying to fix bind, I'm slow at this :-)
18:30:04dbussinkfbuilesv: syscall is just a string description thingy
18:30:11dbussinkfbuilesv: did you look at my commit?
18:30:32fbuilesvdbussink: yes, that's why I asked since you dont use it for socket(2)
18:30:58dbussinkfbuilesv: well, that's a reference to which function actually failed
18:31:15dbussinkfbuilesv: i was too tempted to fix this myself ;)
18:31:19lstoll leaves the room.
18:31:43fbuilesvdbussink: oh please go ahead, I can learn from someone who actually knows what he's doing :)
18:31:52dbussinkmaybe you could continue with the connect / send stuf
18:31:54dbussinkstuff
18:32:05dbussinkbut i'm going to grab something to eat
18:32:48fbuilesvdbussink: ok, gonna take a stab at it
18:33:21jayWHY leaves the room.
18:34:04wvdschel leaves the room.
18:36:01jayWHY enters the room.
18:37:01schleyfoxdbussink: one thing, for MRI imitation bind should return 0 instead of nil right?
18:42:34fbuilesvschleyfox: yes, you can change the break if... for return 0 if status >= 0 if you need the fix right away
18:42:47schleyfoxno I don't need it
18:43:07schleyfoxI'm just interested in this
18:46:28dbussinknasty, mri's bind returns 0 even if it fails
18:46:44schleyfoxweird
18:46:50dbussinkbut then it raises too, so it's a bit of a no op :P
18:47:06schleyfoxyeah
18:47:43boyscout1 commit by Dirkjan Bussink
18:47:44boyscout * UDPSocket#bind should return error status; e18196d
18:50:04fbuilesvdbussink: does connect differ from bind in anything else from the Foreign.connect call?
18:50:58antares enters the room.
18:51:34EugZol enters the room.
18:53:30dbussinkfbuilesv: 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:21dbussinkfbuilesv: ah, wait, i was looking at the wrong udp_connect there
18:54:28dbussinkthere is an udp_connect_internal too
18:54:44fbuilesvdbussink: yeah, it does call ruby_connect
18:54:59dbussinknasty stuff, it chains itself
18:55:07dbussinkor better, the other function
18:55:17dbussinkbut i don't know how much of that is actually necessary
18:55:47rubuildius_amd64Dirkjan Bussink: e18196d93; 1855 files, 6387 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/EoXCGo12.html
18:56:03antareshi folks
18:56:06fbuilesvantares: hola
18:57:52jlindley enters the room.
18:58:45rubuildius_ppcDirkjan Bussink: e18196d93; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176133
19:04:37jayWHY leaves the room.
19:05:37jayWHY enters the room.
19:06:02fbuilesvdbussink: go ahead and have fun with send, I don't quite get udp_send yet
19:09:14peeja enters the room.
19:09:32antaresfbuilesv:
19:09:42peeja leaves the room.
19:09:42fbuilesvantares: ?
19:09:47antaresfbuilesv: any news from GSoC?
19:09:59antaresfbuilesv: sorry hit enter on occasion
19:10:00fbuilesvantares: nope, I think they give out the results the 15 or so
19:10:56naeu leaves the room.
19:12:17antaresfbuilesv: I see.
19:13:12fbuilesvantares: 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:42jayWHY leaves the room.
19:19:51naeu enters the room.
19:23:29antaresfbuilesv: well, just learn from smart people :)
19:23:52fbuilesvantares: ya, that's the idea, I read a bug, kind of find out where it is and then shoot it to someone :)
19:28:14naeu leaves the room.
19:29:49tizianobis enters the room.
19:36:14naeu enters the room.
19:40:17fbuilesv leaves the room.
19:40:50KirinDav leaves the room.
19:41:14fbuilesv enters the room.
19:59:05jlindley leaves the room.
20:03:24mernen enters the room.
20:12:55trythil enters the room.
20:18:26KirinDav enters the room.
20:24:05Maledictushi! can I single step throgh bin/mspec?
20:24:22brixenMaledictus: you mean, with the debugger, or step each spec?
20:24:27Maledictusdebugger
20:24:32brixensure
20:24:35brixentry this:
20:24:50brixenoh, do you mean ruby debugger or gdb?
20:24:52MaledictusOh, got it
20:24:55brixenk
20:25:09Maledictustried --debug, don't know how that came to my mind :)
20:25:14brixenheh
20:25:27brixenyeah, try bin/mspec run -h (make sure you add run in there)
20:25:40brixenthere's an example at the bottom
20:26:59MaledictusAh, found it, thanks
20:27:20brixenI assumed you wanted to debug the spec, you can debug mspec itself as well
20:27:30Maledictusyep, a spec
20:27:33brixenok
20:27:42Maledictusis bin/mspec -t ruby spec/ruby/1.8 supposed to run through currently?
20:27:44TheVoice enters the room.
20:28:05brixenyeah, if you are on p111 I believe
20:28:33brixenwe're a little reluctant to make p114 the "standard" right now because of reports of stuff being broken in some libraries
20:28:49brixenbut typically, there is a single version + patch level that the specs officially pass on
20:30:08MaledictusOK, problem is that UDPSocket.send the first spec hangs the whole thing
20:30:20Maledictusruby 1.8.6 (2007-09-24 patchlevel 111) [i386-freebsd7]
20:30:55brixenok
20:31:08brixensocket specs are in various stages of disarray
20:31:12Maledictusif I comment out only that spec it runs through, albeit 5 errors, few failed ones
20:31:22brixenwhat os?
20:31:27MaledictusFreeBSD 7.0
20:31:33brixenahh
20:31:54brixenI have a parallels image for that and at least a couple other folks run stuff on it
20:32:06Maledictusok
20:32:07brixenyou might put together a patch if you can isolate it
20:32:43MaledictusI'll try
20:32:57brixencool
20:33:10brixentake a look at the platform_is and platform_is_not guards used in the specs
20:33:20brixenmight be some specific freebsd behavior too
20:33:30Maledictusbin/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:44Maledictusthis doesn't stop before the offending spec. Anything wrong with it?
20:33:53brixenyeah, that's only for rbx debugger
20:33:59brixenbut you can hack in support for ruby
20:34:05brixenit depends on Kernel.debugger
20:34:27brixentake a look at mspec/runner/actions/debug.rb
20:35:20brixenso you could do bin/mspec -tr -fs -rmyrubydebugthing --spec-debug -S 'blah' ...
20:35:53Maledictushmm, that's a bit over for me :)
20:36:02brixenheh, ok
20:36:03MaledictusI'll try some simple printf debugging ;)=
20:36:29brixenwell, you could make me a ticket on LH about ruby debugger support as well
20:36:44trythil leaves the room.
20:38:20Maledictushmpf. LH doesn't support openid?
20:39:00brixenget a rope
20:39:37tizianobis leaves the room.
20:40:09MaledictusOh no! You've stumbled upon a bug. Trying again to sign up ;)
20:40:36brixendid you get ninjas?
20:41:12Maledictusno idea what you mean :)
20:41:20Maledictuslogged in now
20:41:35brixenI think they have a ninjas graphic for 400 or 500's
20:41:45djwhittMaledictus: 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:46brixenI've seen it occasionally but can't recall
20:41:59brixenheh, from different email accounts
20:42:36Maledictusyes, was a ninja :)
20:42:49MaledictusI'll write a mail ;)
20:43:12xif leaves the room.
20:44:35Rich_Morin enters the room.
20:44:37Packet_Monkey leaves the room.
20:44:38Maledictushttp://rubinius.lighthouseapp.com/projects/5089-rubinius/tickets/478
20:44:47Packet_Monkey enters the room.
20:45:00Packet_Monkey leaves the room.
20:48:09dbussinkbrixen: hmm, my mri also hangs on the UDPSocket.send spec
20:51:25Maledictusfine, I'm not the only one :)
20:51:33brixendbussink: what os?
20:51:38ezmobius enters the room.
20:51:46dbussinkbrixen: os x
20:52:18brixenpsha, who uses that
20:52:33dbussinkbrixen: only weird people :)
20:53:06brixenheh
20:53:11brixenwell, seems to be recent
20:54:33dbussinkbrixen: you're seeing it too?
20:54:37brixenyeah
20:54:51Maledictusin rbx too?
20:54:58brixenno, mri
20:55:06brixenrbx passes for me
20:55:11dbussinkwe don't even have a UDPSocket.send :P
20:55:24Maledictusok :)
20:55:38dbussinkfeel free to add ;)
20:55:46Maledictussure ;)
20:58:37cremesrebooting box where rubuildious_ppc runs; ignore the re-run it does of the last commit
20:58:44cremes_ leaves the room.
20:58:45rubuildius_ppc leaves the room.
21:00:11Rich_MorinI'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:40Maledictusseems like there is simply missing the code which should send the second packet for which the server_thread is waiting.
21:01:48MaledictusUDPSocket.open.send("connection-based", 0, '127.0.0.1',SocketSpecs.port)
21:02:00Maledictuswhen I add this after the first send it works
21:02:05xif enters the room.
21:02:05brixenhmm, perhaps we could define a few things: "purported Booleans", "do this for methods", "metaprogramming can handle keywords"
21:02:50Rich_Morinbrixen: See http://cfcl.com/twiki/bin/view/Projects/Spect/UC_Require_Boolean
21:04:10brixenRich_Morin: gotcha. no way to do that from ruby afaik for e.g. 'if'
21:04:49dbussinki think i prefer the current ruby behavior
21:05:01brixenRich_Morin: imho, it's rather an odd feature to want for a language. even C considers other than 0 to be true
21:05:26brixenmight make sense in a statically typed language
21:05:32dbussinkseems a bit off in a dynamically typed language
21:05:38naeu leaves the room.
21:05:49brixenyeah, I wouldn't want it, but hey... :)
21:06:28brixenRich_Morin: as with most things in the domain of this UC, my solution is better specs :)
21:06:31brixenand BDD
21:07:13Rich_MorinThe 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:32brixenyeah, but that's a logic error often
21:08:48brixenand, by forcing casting to booleans, you can just push the problem into a different place
21:09:14dbussinkseems like you're going for a static typed language then, if you want to infer as much as possible
21:09:31rubuildius_ppc enters the room.
21:09:47brixenthere would still be either 1. an inference rule like we implicitly have, or 2. an explicit conversion to a boolean
21:09:51brixenis there another option?
21:09:53xif leaves the room.
21:09:54cremes_ enters the room.
21:10:03imajes_ enters the room.
21:10:27Rich_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:40xif enters the room.
21:10:41brixenon 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:16brixenRich_Morin: imo, because the "explicit" use requires just as much from the programmer I think
21:11:26brixenand it litters the code, with not that much benefit
21:12:08brixenan 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:31dbussinki know some people who use stuff like ! nil? all the time and it reads really ugly imho
21:12:31brixenthe thing I dislike about these use cases is they very rarely appear to be backed by emperical evidence
21:12:58brixenyeah, nil? should be used to distinguish a value that can be false or nil and it means different things
21:13:15brixennil evaluating to false is immensely useful
21:13:19Rich_MorinThe 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:30brixenhowever, it overloads the sense of nil being "undefined" in math sense
21:14:09brixenRich_Morin: this is static vs. dynamic typing argument. I'm not going to rehash it, not useful for me :)
21:14:22Rich_MorinIndeed, 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:24dbussinkwell, i've never encountered this issue in real life and i'm certainly not perfect :)
21:14:40brixenas far as a practical matter goes, in MRI at least, you can't get to 'if' with any amount of metaprogramming afaik
21:14:43Rich_MorinWell, IIRC, I only asked an implementation question.
21:14:54dbussinkbut if !object.nil? is just ugly, it hurts my eyes :)
21:15:02MenTaLguYunless object.nil?
21:15:08Rich_Morin! hurts _my_ eyes :)
21:15:19MenTaLguYI almost never write if !anything
21:15:25dbussinkyeah, but unless always makes me think twice
21:15:49dbussinki usually use it for one liners
21:15:50MenTaLguYso should if !
21:16:13Rich_MorinDamian Conway (a Perl God) prefers ! to unless, so I compromise and think of it as a matter of taste.
21:16:14dbussinkif there is an else case i just switch them
21:16:32MenTaLguYyes, if you've got an else case then that's usually best
21:16:49MenTaLguYI think I'd prefer to use not rather than ! if I were going to do that
21:16:57MenTaLguYif not object.nil? scans better
21:17:12dbussinkin those cases i write if object
21:17:16benburkert enters the room.
21:18:18MenTaLguYoh, right
21:18:21MenTaLguYactually so do I :P
21:18:31MenTaLguYI was a little too focused on the problem at hand
21:18:38dbussinkhehe
21:18:39MenTaLguYif with negated predicate methods
21:19:11dbussinkbut those constructs are what you get if you enforce boolean evaluation
21:19:26Maledictusbrixen dbussink: http://rubinius.lighthouseapp.com/projects/5089-rubinius/tickets/479-repair-udpsocket-spec
21:20:43Rich_MorinCurious. 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:56brixenMaledictus: cool. btw, if you use git format-patch, the commit will include your name, etc
21:22:14dbussinkwell, 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:39rubuildius_ppcDirkjan Bussink: e18196d93; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176171
21:22:47Maledictusah, didn't know that, thanks!
21:23:03brixendbussink: do you have time to review that patch?
21:23:24Rich_Morindrbussink: 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:27dbussinkbrixen: i'll look at it for a minute
21:23:53brixendbussink: cool, thanks! up to my eyes in some other specs atm
21:24:11dbussinkRich_Morin: oh, definitely, i always rework the statements but the goal there is to make them feel as natural as possible
21:24:31dbussinkRich_Morin: and using the fact that nil is also false helps a lot in making those more readable imho
21:25:11Fullmoon leaves the room.
21:28:12dbussinkMaledictus: those changes look sane :)
21:28:19MaledictusI hope so :)
21:28:21dbussinkMaledictus: any luck with git-format-patch?
21:28:32Maledictusno output
21:28:41MaledictusI'll try comitting first locally
21:28:45Maledictus(new to git)
21:28:55dbussinkyeah, you have to do that first
21:29:52Maledictusok, comitted it. still not output from git-format-patch
21:31:07Maledictuslooks like I have to tell the origin? Any idea what that is?
21:31:25dbussinkyou can use the hash of the last commit that's from the master
21:31:31dbussinkso before your commit
21:31:38dbussinkyou can find it in git log
21:31:41Maledictusah, git-format-patch -1 seems to work
21:32:35MaledictusNo really any more usefull information in the resulting patch
21:33:22VVSiz enters the room.
21:33:53Rich_MorinI'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:31dbussinkMaledictus: well, you're name is in it now
21:35:45dbussinkMaledictus: and if we apply the patch, you'll get the credits in the commit log
21:36:00Maledictusok, I'll upload it for the credits ;)
21:36:40dbussinkRich_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:01wycatsdrbrain, zenspider: http://pastie.textmate.org/176176
21:37:06wycatsis that expected behavior/
21:38:53Maledictusdbussink: Uploaded it :)
21:38:56dbussinkRich_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:25brixenRich_Morin: as I said before, you can't get to 'if' from ruby code, so that needs interpreter support
21:40:15Rich_MorinErm, this is #rubinius, right? The place where folks like to have a malleable interpreter?
21:41:10brixenwhat's that got to do with anything?
21:41:17Rich_MorinRuby is dynamic and so is Rubinius. If I want to patch my version for testing, that seems like my privilege...
21:41:24brixenindeed
21:42:02brixenactually, seems to me a more flexible parser would be useful for this
21:42:25Rich_MorinIIRC, the parser is in C at this point?
21:42:31KirinDav leaves the room.
21:42:39brixenwell, there is ruby_parser
21:43:44brixenhmm, actually, I don't see the utility without full-blown static typing
21:44:04Rich_Morinbrixen: 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:24boyscout1 commit by Marius Nuennerich
21:44:25boyscout * repair UDPSocket spec; 7391c1f
21:44:46Maledictusyay. thanks :)
21:45:12brixenRich_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:32brixens/should/showed/
21:46:40dbussinkMaledictus: if you want commit access, you can contact evan
21:46:48dbussinkMaledictus: he should probably be here tomorrow
21:47:15MaledictusOK, I look if I produce some more patches.
21:47:31dbussinkwell, i'm off to bed
21:47:39dbussinknight all
21:47:45Maledictusgood night
21:50:04TheVoice leaves the room.
21:50:04RyanTM leaves the room.
21:50:33brixenRich_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:40Rich_MorinYou'd prefer an explicit explanation to a joke, I take it.
21:51:41RyanTM enters the room.
21:53:17joachimm leaves the room.
21:55:44rubuildius_ppcMarius Nuennerich: 7391c1fbc; 1855 files, 6390 examples, 22480 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/176186
21:55:47rubuildius_amd64Marius Nuennerich: 7391c1fbc; 1855 files, 6387 examples, 22451 expectations, 0 failures, 0 errors; http://rafb.net/p/Qp22rC89.html
21:56:26Rich_Morinbrixen: edited - see if this seems clearer - http://cfcl.com/twiki/bin/view/Projects/Spect/UC_Require_Boolean
21:58:13thehcdreamer leaves the room.
22:02:54brixenRich_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:35imajes_ leaves the room.
22:08:52Rich_Morinbrixen: 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:50brixenRich_Morin: well, in ruby semantics, all you are changing is essentially the "if obj" to "if not obj.nil?"
22:09:57brixenimo, that's not worth the overhead
22:10:29brixenbut, it's perfectly possible to hack that into the opcodes
22:11:03Rich_MorinHow many opcodes, at a guess, would be involved?
22:11:46Rich_MorinAlso, given that the opcodes themselves are implemented in C, perhaps I need to control which opgodes are generated.
22:12:30brixenI don't understand that last one
22:13:02brixenyou basically want to type check that in 'if obj' obj.is_a? TrueClass or obj.is_a? FalseClass
22:13:06brixensame for &&, ||, etc
22:13:54brixenopcodes are documented here: http://rubini.us/rbx_documentation/vm-documentation/
22:14:48brixenyou 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:34Rich_MorinI had thought && and || were methods; I now gather that they are not.
22:17:26brixenno, && and || are not methods
22:19:03brixenRich_Morin: again, I take issue with "help to find common error situations". I'd really like to see where these are common
22:20:54Rich_MorinI 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:37Rich_MorinI'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:14ezmobius leaves the room.
22:23:01brixenRich_Morin: heh, well, it's possible, though ill-advised imo
22:23:07brixengrabbing lunch, bbl...
22:23:20Rich_Morinlater
22:25:13fizx leaves the room.
22:31:38imajes_ enters the room.
22:38:50AndrewO enters the room.
22:41:13ezmobius enters the room.
22:43:16AndrewO leaves the room.
22:44:21foysavas enters the room.
22:46:02trythil enters the room.
22:57:01AndrewO enters the room.
22:58:16Maledictusgood night
22:59:02Maledictus leaves the room.
23:04:53cypher23 leaves the room.
23:09:46tizianobis enters the room.
23:16:01qwert666_ enters the room.
23:19:32djwhitt enters the room.
23:20:37tizianobis_ enters the room.
23:22:38rby leaves the room.
23:23:12tizianobis__ enters the room.
23:28:48imajes_ leaves the room.
23:35:44qwert666 leaves the room.
23:37:51tizianobis leaves the room.
23:40:57agardiner enters the room.
23:41:02tizianobis_ leaves the room.
23:42:10tgern enters the room.
23:47:17Arjen_ leaves the room.
23:50:24ttmrichter enters the room.
23:58:14macournoyer enters the room.
23:59:19nkpart enters the room.