Show enters and exits. Hide enters and exits.
| 00:03:38 | twbray leaves the room. | |
| 00:11:44 | ezmobius leaves the room. | |
| 00:13:53 | anonuser enters the room. | |
| 00:20:45 | neelance leaves the room. | |
| 00:21:36 | qrush | Just curious, why doesnt rbx have $KCODE defined? |
| 00:25:01 | rue | evan: builtin_object.cpp |
| 00:25:20 | rue | evan: Erm, line 307, should be tup rather than tbl, right? |
| 00:26:13 | rue | qrush: Hm, dunno.. I thought we did. Sec |
| 00:27:13 | qrush | rue: I'd love to know what/where it would be defined. i'm still running through the Ruby Way trying out examples in rubinius, getting a better grasp on the language. |
| 00:27:17 | rue | qrush: I see it being handled in string.rb.. maybe it does not get set up right? Where did you come across this? |
| 00:27:35 | qrush | rue: i just fired up rbx, typed in $KCODE, and i get nil |
| 00:28:30 | qrush | http://pastie.org/228719 |
| 00:28:46 | rue | Ah, so it is _defined_, just wrong :) |
| 00:28:55 | rue | Should be NONE probably |
| 00:29:10 | qrush | or "n" |
| 00:29:15 | qrush | according to the Ruby Way. |
| 00:29:36 | ezmobius enters the room. | |
| 00:29:43 | qrush | should i file a bug, or perhaps could i send in a patch? |
| 00:30:15 | rue | Both would be great |
| 00:30:32 | qrush | sweet. |
| 00:31:16 | rue | The global could probably be set to a default value in the VM bootstrap, or it could be delayed to be set in loader.rb (since it can be given as a commandline switch) |
| 00:31:19 | Maledictus leaves the room. | |
| 00:31:47 | qrush | so going to kernel/core/string.rb would be a bad call. |
| 00:35:26 | rue | Just to avoid any dependency issues. As a quick fix it would probably work there too |
| 00:36:09 | qrush | I'll have to look into loader.rb, as i have no idea how the VM works |
| 00:40:06 | qrush | rue: what command line argument? I don't see anything listed for $KCODE/encoding settings under irb --help |
| 00:42:34 | jp_tix | qrush: try `ruby --help` |
| 00:42:38 | jp_tix | it's -K |
| 00:42:58 | qrush | how would one invoke that with rubinius? |
| 00:44:19 | jp_tix | it's not there in rubinius atm |
| 00:44:26 | jero5 | qrush: rbx -e 'puts `ruby --help`' :) |
| 00:44:36 | rue | Heh |
| 00:44:53 | qrush | ah |
| 00:45:22 | rue | qrush: See, we lure you in with an innocent $KCODE addition and the next thing you know, you are adding handling for a new command-line option ;) |
| 00:45:26 | rue | And specs :) |
| 00:45:33 | qrush | So it seems that setting it inside of the VM would be the best then |
| 00:45:49 | qrush | rue: that's fine, i've been looking for a way to contribute and happy that i found an issue. |
| 00:46:18 | qrush | because it's either the VM setting or String.after_loaded |
| 00:47:29 | qrush | Any suggestions as where I could start on the VM path? |
| 00:48:17 | rue | See if you can find other predefined global variables |
| 00:48:55 | rue | Grep might be useful; the regexp ones ($&, $1 etc.) are handled separately but there might be others |
| 00:49:07 | rue | I need to hopsy over to bed though, see you tomorrow |
| 00:50:29 | evan | even if you define $KCODE |
| 00:50:33 | evan | it will do almost nothing |
| 00:50:43 | evan | because only one method even checks it's value currently |
| 00:51:23 | qrush | so should i give up on this or what |
| 00:51:53 | qrush | got excited that he found an issue. :| |
| 00:51:58 | rue | I think it would be worthwhile |
| 00:52:13 | rue | Particularly if you want to bang out the command-line option |
| 00:52:36 | rue | evan: I pushed the LLVM build fixes |
| 00:52:42 | evan | k |
| 00:52:52 | rue | Going now |
| 00:53:37 | jp_tix | is trying to type UTF-8 into rbx's irb |
| 00:53:45 | jp_tix | fails |
| 00:53:49 | evan | ah, test wouldn't link |
| 00:56:11 | qrush | evan: so is this entire $KCODE issue worth it? |
| 00:56:20 | evan | no |
| 00:56:34 | evan | not until it's checked by the various methods that need to |
| 00:56:41 | evan | thats where the work needs to go |
| 00:56:45 | evan | well, we can set it |
| 00:56:52 | evan | but it wont actually DO anything |
| 00:57:25 | qrush | seems like it would be good just to say we follow matz irb, but perhaps i'm wrong. |
| 00:58:13 | qrush | returns to the ruby way |
| 01:04:45 | rue leaves the room. | |
| 01:05:18 | rue enters the room. | |
| 01:07:20 | obvio171 enters the room. | |
| 01:09:38 | fbuilesv leaves the room. | |
| 01:11:33 | seydar enters the room. | |
| 01:13:12 | twbray enters the room. | |
| 01:31:39 | twbray leaves the room. | |
| 01:32:24 | twbray enters the room. | |
| 01:34:22 | mkescher enters the room. | |
| 01:39:23 | chad | hey where's this LLVM stuff happening? |
| 01:39:33 | chad | i see people talking about running code |
| 01:40:08 | evan | on the cpp branch |
| 01:40:36 | evan | i have a seperate clone to work on it |
| 01:41:18 | chad | ahh cool |
| 01:41:28 | chad | having fun? |
| 01:42:18 | nicksieger leaves the room. | |
| 01:43:20 | evan | yeah1 |
| 01:43:21 | evan | ! |
| 01:43:30 | evan | chad headed up to gemstone tomorrow |
| 01:43:32 | evan | ack. |
| 01:50:25 | Vagabond enters the room. | |
| 01:50:49 | twbray leaves the room. | |
| 01:52:26 | qrush | I just installed a gem via 'rbx gem install' |
| 01:52:34 | qrush | and it won't respond to requiring it |
| 01:52:37 | qrush | memoize |
| 01:53:17 | qrush | Hmm, it's not in gems/ |
| 01:53:57 | chad | are you sure you have the right rbx in the path? |
| 01:54:18 | chad | try rbx gem env |
| 01:54:18 | qrush | it should be |
| 01:54:59 | qrush | alright, it install into tmp/gems/1.8/gems/ |
| 01:55:03 | qrush | *installed. |
| 01:55:15 | qrush | the paths look fine to me |
| 01:55:23 | qrush | require 'memoize' is failing |
| 01:55:32 | chad | did you require 'rubygems' first? |
| 01:55:49 | qrush | ah |
| 01:55:51 | qrush | doh. |
| 01:55:54 | qrush | Thanks. |
| 01:55:56 | chad | np |
| 01:56:27 | chad | being on a bleeding edge platform is a big red herring sometimes :) |
| 01:57:49 | qrush | :P |
| 01:58:05 | qrush | just trying my best to soak up this awesome language and try to break rubinius |
| 02:04:34 | rue leaves the room. | |
| 02:04:59 | jtoy enters the room. | |
| 02:05:49 | rue enters the room. | |
| 02:18:32 | blakewatters leaves the room. | |
| 02:23:54 | dlee enters the room. | |
| 02:25:48 | VVSiz_ enters the room. | |
| 02:26:08 | qrush | Heh, and memoize doesn't work with rubinius. joy |
| 02:28:25 | headius | evan: ping |
| 02:28:31 | headius | got another good one for you |
| 02:28:36 | headius | pastie: for evan |
| 02:29:18 | dgtized | hey the version of llvm-config I have doesn't accept --cflags, only --cxxflags |
| 02:30:12 | pastie | evan: http://pastie.org/228764 by headius. |
| 02:31:07 | yugui enters the room. | |
| 02:34:05 | dgtized | and fastthread is still not installing correctly |
| 02:35:37 | evan | headius: ping |
| 02:36:01 | evan | dgtized_: the cpp is behind the main branch for fastthread and such |
| 02:36:10 | evan | that hasn't been merged over. |
| 02:36:18 | evan | dgtized_: you need a new version of llvm |
| 02:36:20 | evan | at least 2.3 |
| 02:36:40 | evan | headius: yeah, invalid return. |
| 02:36:47 | evan | that one is actually always in the back of my mind. |
| 02:37:38 | evan | i forget how I handle that now... |
| 02:38:00 | evan | oh wait |
| 02:38:04 | evan | this isn't an invalid return |
| 02:38:19 | evan | you should move the #call outside the def |
| 02:38:22 | evan | for increased fun. |
| 02:38:38 | headius | yeah, I've tried that |
| 02:38:44 | headius | LocalJumpError |
| 02:38:51 | headius | RBX seems to do LJE in both cases though |
| 02:38:59 | evan | looks like we don't handle it in rubinius really currently. |
| 02:39:03 | headius | yeah |
| 02:39:09 | headius | I broke it just now in JRuby fixing something else |
| 02:39:18 | headius | doing the break rewiring I mentioned |
| 02:39:45 | evan | ah |
| 02:39:59 | mernen enters the room. | |
| 02:40:19 | evan | ah, i see why this one gets by rubinius's current LRE logic |
| 02:40:33 | evan | hm |
| 02:41:04 | evan | I should just detect this raise and raise a YoureADouche exception |
| 02:41:27 | headius | it's in test.rb where I found it |
| 02:41:43 | evan | def test_douchiness_of_proc |
| 02:41:47 | headius | so basically unless it's a lambda, a return in a proc needs to bubble out to the containing method |
| 02:41:54 | evan | yeah |
| 02:42:01 | headius | if it escapes that method, it needs to LJE |
| 02:43:50 | VVSiz leaves the room. | |
| 02:44:02 | evan | GROSS. |
| 02:44:05 | evan | i've got a better one. |
| 02:44:11 | headius | damnit |
| 02:44:17 | evan | http://rafb.net/p/69MAmg98.html |
| 02:44:33 | evan | the poor man's continuation! |
| 02:45:20 | evan | actually, thats just non-local return i think... |
| 02:45:30 | evan | that one I think i've got working already |
| 02:45:42 | evan | same error |
| 02:45:47 | evan | LRE |
| 02:46:15 | evan | yep |
| 02:46:17 | headius | yeah |
| 02:46:21 | headius | buggles all the way out |
| 02:46:22 | headius | er |
| 02:46:23 | headius | bubbles |
| 02:46:29 | evan | so check out: http://rafb.net/p/mo3K9g83.html |
| 02:46:33 | evan | works properly in rubinius |
| 02:46:44 | evan | because i'm only putting LRE rescue code around send's with a block |
| 02:46:54 | headius | yeah |
| 02:47:00 | evan | hrm. |
| 02:47:05 | headius | I only have it around those calls as well, but I'll have to re-add it to the others |
| 02:47:10 | evan | rather than clutter EVERY send with LRE rescue code |
| 02:47:12 | headius | phuc |
| 02:47:20 | evan | i think i'll just have to wire some VM logic into Proc#call |
| 02:47:27 | evan | to rescue LRE |
| 02:47:44 | evan | and have the VM perform a little unwind magic or raise LocalJumpERror |
| 02:47:59 | headius | yick |
| 02:48:13 | headius | have to unwind all the way to the place the original proc instantiation happened though |
| 02:48:21 | evan | otherwise i'll have to put a LRE rescue block around EVERY send |
| 02:48:28 | evan | yeah, thats easy |
| 02:48:31 | evan | thats stored in the Proc |
| 02:48:34 | evan | it knows it's home. |
| 02:49:58 | evan | hrm. maybe instead I could have every method contain a LRE rescue region that is the entire method |
| 02:50:05 | evan | no no, thats dumb too. |
| 02:50:25 | evan | how are you going to handle this? |
| 02:51:20 | headius | all ruby methods are already wrapped with an exception-handling block for flow control stuff |
| 02:51:39 | headius | I just need to get the non-local jump targets wired up right |
| 02:52:01 | headius | larger problem is making it into a rescuable LJE |
| 02:52:10 | headius | since normally they propagate out as a simple Java exception |
| 02:52:47 | headius | the ability to rescue that shit infuriates me |
| 02:53:17 | evan | you can rescue the LJE? |
| 02:53:35 | evan | I mean, where can you rescue it at? |
| 02:55:54 | headius | ➔ ruby -e "def foo; Proc.new { return 1 }; end; begin; foo.call; rescue; puts 'yay'; end" |
| 02:55:54 | headius | yay |
| 02:58:01 | headius | but you can't rescue it if will eventually find its target |
| 02:58:11 | headius | ➔ ruby -e "def foo; bar(Proc.new { return 1 }); end; def bar(x); begin; x.call; rescue; puts 'gross'; end; end; foo" |
| 02:58:14 | evan | hm. i wonder if i can spy on the body of the proc to make this easier... |
| 02:58:17 | headius | ...no output |
| 02:58:35 | evan | ah |
| 02:58:36 | evan | yeah. |
| 03:02:09 | headius | which is a bit...frustrating |
| 03:02:15 | evan | quite. |
| 03:02:25 | evan | also, as I recall, ensures have to return. |
| 03:02:29 | evan | up the tree. |
| 03:02:46 | headius | how do you mean |
| 03:02:55 | evan | or maybe i'm just thinking return in a begin |
| 03:04:16 | evan | nope, i'm right: http://rafb.net/p/5gd8ql75.html |
| 03:04:22 | evan | :go |
| 03:04:23 | evan | :bleh |
| 03:04:23 | evan | 1 |
| 03:04:39 | rue leaves the room. | |
| 03:04:50 | dgtized | evan: fastthread problem was not on cpp branch it was on the main branch |
| 03:04:59 | evan | ok |
| 03:05:07 | evan | run it by drbrain |
| 03:05:12 | dgtized | k |
| 03:05:20 | rue enters the room. | |
| 03:06:30 | dgtized | what is the correct way to build llvm from source do you need all the compiler packages? |
| 03:06:44 | evan | download it, ./configure; make; make install |
| 03:07:04 | dgtized | compiler front end as well as llvm source? |
| 03:07:07 | dgtized | or just llvm source? |
| 03:07:12 | evan | just llvm source |
| 03:07:14 | dgtized | k |
| 03:07:21 | evan | if you want to do dev though, you'll need the gcc frontend |
| 03:07:26 | evan | but you can just get binaries of that |
| 03:07:33 | evan | so you have llvm-gcc, llvm-g++, etc. |
| 03:08:00 | evan | vm/instructions.bc is generated from vm/llvm/instructions.cpp with llvm-g++ |
| 03:08:06 | evan | oh, dinner time! |
| 03:08:50 | dgtized | which have to be built from source since there is not .deb package |
| 03:09:41 | evan | eeks |
| 03:09:42 | evan | don't |
| 03:09:44 | evan | if you can |
| 03:09:48 | evan | download the linux binaries. |
| 03:09:59 | evan | they're a bear to compile i've heard. |
| 03:10:03 | dgtized | there aren't any -- it's just for redhat |
| 03:10:06 | evan | thats why they've got binaries for everything. |
| 03:10:07 | headius | evan: ahh, yeah, that's not too bad here though |
| 03:10:11 | headius | any ensure we wrap with a finally |
| 03:10:14 | dgtized | RHEL to be precise |
| 03:10:17 | headius | java finally |
| 03:10:46 | dgtized | can I use an older version of llvm-gcc and co or do they have to be the latest version? |
| 03:10:51 | evan | dgtized: well, go for it. |
| 03:11:07 | evan | dgtized: what version? |
| 03:11:12 | evan | you could try at least a version 4 |
| 03:11:23 | evan | see if it works. |
| 03:11:30 | evan | anyway, i'm off. |
| 03:12:28 | evan | dgtized: you should try using alien on the redhat packages |
| 03:23:07 | sholden enters the room. | |
| 03:23:08 | headius | hmph |
| 03:23:20 | headius | I don't know how to reconcile this LJE stuff |
| 03:29:40 | chad | it's interesting how complicated stuff gets just because blocks are supposed to work like looping constructs |
| 03:33:54 | benburkert enters the room. | |
| 03:35:59 | cremes leaves the room. | |
| 03:36:43 | benburkert leaves the room. | |
| 03:37:07 | ezmobius leaves the room. | |
| 03:37:37 | benburkert enters the room. | |
| 03:42:27 | headius | chad: yeah quite...and this case I think is so obscure I'm just going to call it broken, file a bug, and see if anyone wants it fixed |
| 03:42:47 | headius | MRI has to be inspecting the stack to know whether to propagate an LJE or not |
| 03:43:05 | headius | it's the only way it could work |
| 03:45:18 | benburkert leaves the room. | |
| 03:51:55 | atmos leaves the room. | |
| 03:53:34 | mkescher leaves the room. | |
| 04:01:01 | qrush | alright, i believe i've found an issue with rubinius and using metaclasses. i'm trying out the memoize gem with this: http://pastie.org/228798 , and finding this error: http://pastie.org/228799 |
| 04:01:07 | cremes enters the room. | |
| 04:02:14 | qrush | Source of the gem is here: http://pastie.org/228776 |
| 04:04:30 | qrush | any clues, folks? |
| 04:05:16 | sholden_ enters the room. | |
| 04:05:19 | mernen leaves the room. | |
| 04:06:57 | sholden leaves the room. | |
| 04:10:43 | lchin enters the room. | |
| 04:11:07 | robin_dewd enters the room. | |
| 04:19:39 | robin_dewd leaves the room. | |
| 04:20:08 | AndrewO leaves the room. | |
| 04:25:04 | sholden_ leaves the room. | |
| 04:33:02 | qrush leaves the room. | |
| 04:35:44 | blakewatters enters the room. | |
| 04:35:53 | ryanlowe leaves the room. | |
| 04:36:02 | yugui leaves the room. | |
| 04:50:41 | trythil enters the room. | |
| 04:53:07 | benny leaves the room. | |
| 04:56:29 | Yurik enters the room. | |
| 05:04:18 | lstoll enters the room. | |
| 05:04:18 | rue leaves the room. | |
| 05:04:52 | rue enters the room. | |
| 05:31:43 | Jzalae leaves the room. | |
| 05:57:07 | blakewatters leaves the room. | |
| 06:04:03 | rue leaves the room. | |
| 06:09:20 | wmoxam leaves the room. | |
| 06:10:24 | rue enters the room. | |
| 06:18:14 | yugui enters the room. | |
| 06:20:03 | yugui leaves the room. | |
| 06:20:15 | yugui enters the room. | |
| 06:24:21 | thehcdreamer enters the room. | |
| 06:37:18 | thehcdreamer leaves the room. | |
| 06:37:50 | krsh enters the room. | |
| 06:46:11 | twbray enters the room. | |
| 07:04:03 | rue leaves the room. | |
| 07:09:56 | rue enters the room. | |
| 07:13:09 | trythil leaves the room. | |
| 07:15:27 | twbray leaves the room. | |
| 07:16:42 | radarek enters the room. | |
| 07:20:30 | krsh_ enters the room. | |
| 07:31:31 | dbussink | morning |
| 07:34:39 | krsh leaves the room. | |
| 07:38:55 | dbussink | someone alive still? |
| 07:39:08 | headius | me, but I'm not sure I count |
| 07:42:30 | dlee | morning |
| 07:42:54 | dlee | headius: why don't you count? |
| 07:43:11 | headius | well, I don't generally work on rbx |
| 07:44:32 | dlee | ok |
| 07:44:35 | dlee | i guess i don't count either |
| 07:45:50 | headius | heheh |
| 07:46:51 | dbussink | headius: you're just abusing evan for help on complex issues :P |
| 07:47:19 | headius | yeah, something like that |
| 07:49:36 | dbussink | i guess he's already gone now then |
| 07:56:04 | Yurik leaves the room. | |
| 08:04:42 | lchin_ enters the room. | |
| 08:05:30 | lchin leaves the room. | |
| 08:10:03 | botanicus enters the room. | |
| 08:11:41 | thehcdreamer enters the room. | |
| 08:11:52 | enebo leaves the room. | |
| 08:13:51 | lchin_ leaves the room. | |
| 08:17:55 | lchin enters the room. | |
| 08:31:22 | Arjen_ enters the room. | |
| 08:34:29 | nicksieger enters the room. | |
| 08:35:24 | botanicus leaves the room. | |
| 08:35:44 | qwert666 enters the room. | |
| 08:48:52 | lstoll leaves the room. | |
| 08:49:59 | rue | Morning |
| 08:51:37 | brixen | night rue :) |
| 08:51:51 | rue | *wave |
| 08:54:12 | dbussink | already or still up? |
| 08:54:47 | brixen | dbussink: lights out for me, I'll leave the candle to you slackers :P |
| 08:55:04 | octopod enters the room. | |
| 08:55:09 | dbussink | brixen: hehe, night then |
| 08:55:18 | brixen | night :) |
| 08:55:39 | corundum leaves the room. | |
| 08:55:50 | corundum enters the room. | |
| 08:57:31 | zenspider leaves the room. | |
| 09:03:42 | rue leaves the room. | |
| 09:09:29 | rue enters the room. | |
| 09:09:57 | NoKarma enters the room. | |
| 09:12:48 | dlee leaves the room. | |
| 09:17:52 | lchin leaves the room. | |
| 09:22:48 | boyscout | 1 commit by Eero Saynatkari |
| 09:22:49 | boyscout | * Instructions for the C++ branch.; 6b5b318 |
| 09:27:35 | rubuildius_ppc | Eero Saynatkari: 6b5b318fd; 2534 files, 8411 examples, 28044 expectations, 0 failures, 0 errors |
| 09:30:23 | nicksieger leaves the room. | |
| 09:32:05 | dbussink | rue: did you get the tests running already? |
| 09:32:36 | rubuildius_ey64 | Eero Saynatkari: 6b5b318fd; 2534 files, 8412 examples, 28022 expectations, 0 failures, 0 errors |
| 09:32:56 | rue | Nah, have not tried, just doing minor stuff to get the building a bit smoother |
| 09:35:46 | michalw enters the room. | |
| 09:39:31 | antares_ enters the room. | |
| 09:40:34 | qwert666 leaves the room. | |
| 09:55:28 | gnufied enters the room. | |
| 10:03:15 | lchin enters the room. | |
| 10:08:28 | naeu enters the room. | |
| 10:33:12 | rubuildius_amd64 leaves the room. | |
| 10:38:15 | neelance enters the room. | |
| 10:43:30 | jtoy leaves the room. | |
| 10:43:34 | mutle_ enters the room. | |
| 11:00:42 | chris2 enters the room. | |
| 11:01:22 | mutle leaves the room. | |
| 11:08:13 | sholden enters the room. | |
| 11:12:03 | rue | Away a while |
| 11:12:09 | rue | Well, offline |
| 11:34:51 | Maledictus enters the room. | |
| 11:45:42 | yugui leaves the room. | |
| 11:50:21 | sholden_ enters the room. | |
| 11:51:04 | sholden leaves the room. | |
| 11:52:33 | qrush enters the room. | |
| 11:55:03 | krsh_ leaves the room. | |
| 11:56:33 | zimbatm enters the room. | |
| 12:01:31 | neelance leaves the room. | |
| 12:03:10 | rue leaves the room. | |
| 12:06:50 | rubuildius_amd64 enters the room. | |
| 12:09:02 | rue enters the room. | |
| 12:13:28 | sholden enters the room. | |
| 12:13:36 | sholden_ leaves the room. | |
| 12:15:58 | cremes leaves the room. | |
| 12:19:15 | neelance enters the room. | |
| 12:54:19 | dctanner enters the room. | |
| 12:58:54 | sholden leaves the room. | |
| 13:23:37 | scottholden leaves the room. | |
| 13:29:38 | cremes enters the room. | |
| 13:46:53 | AndrewO enters the room. | |
| 14:15:55 | sholden enters the room. | |
| 14:16:03 | blakewatters enters the room. | |
| 14:18:16 | benburkert enters the room. | |
| 14:20:04 | wmoxam enters the room. | |
| 14:34:58 | heycarsten enters the room. | |
| 14:41:07 | pauldix enters the room. | |
| 14:41:08 | Yurik enters the room. | |
| 14:44:34 | rue | Back |
| 14:44:57 | rue | dbussink: So the error message seems rather straightforward |
| 14:45:15 | dbussink | which one do you mean? |
| 14:45:19 | dbussink | the assert failure? |
| 14:45:27 | dbussink | because i fixed that one locally already |
| 15:01:46 | dctanner leaves the room. | |
| 15:02:43 | rue leaves the room. | |
| 15:02:49 | wmoxam leaves the room. | |
| 15:03:34 | rue enters the room. | |
| 15:04:23 | rue | dbussink: Ah, can you push the fix or patch? |
| 15:06:58 | dctanner enters the room. | |
| 15:08:39 | benburkert leaves the room. | |
| 15:11:44 | binary42 leaves the room. | |
| 15:15:06 | dbussink | rue: not easy now, i'm at work now |
| 15:16:21 | dbussink | what i did was only initializing a new mp and engine in llvm.cpp:63 |
| 15:16:29 | dbussink | only a new one if there isn't one |
| 15:16:39 | dbussink | but i don't really know if that's the correct fix |
| 15:21:39 | gnufied leaves the room. | |
| 15:23:57 | imajes_office leaves the room. | |
| 15:24:15 | lchin leaves the room. | |
| 15:24:56 | wmoxam enters the room. | |
| 15:27:15 | jackdempsey enters the room. | |
| 15:30:41 | ryanlowe enters the room. | |
| 15:33:35 | lchin enters the room. | |
| 15:33:37 | imajes enters the room. | |
| 15:38:46 | fbuilesv enters the room. | |
| 15:47:20 | dbussink | rue: any luck with it? |
| 15:50:43 | binary42 enters the room. | |
| 15:55:49 | moofbong enters the room. | |
| 16:00:52 | nexcastellan enters the room. | |
| 16:02:37 | rue leaves the room. | |
| 16:04:06 | botanicus enters the room. | |
| 16:04:08 | twbray enters the room. | |
| 16:05:01 | krsh enters the room. | |
| 16:09:06 | rue enters the room. | |
| 16:09:21 | edwardam leaves the room. | |
| 16:11:37 | headius leaves the room. | |
| 16:11:56 | headius enters the room. | |
| 16:13:00 | benburkert enters the room. | |
| 16:20:04 | twbray leaves the room. | |
| 16:23:39 | headius leaves the room. | |
| 16:25:02 | headius enters the room. | |
| 16:25:41 | enebo enters the room. | |
| 16:30:15 | jbarnette enters the room. | |
| 16:31:04 | rue leaves the room. | |
| 16:32:20 | lstoll enters the room. | |
| 16:38:50 | atmos enters the room. | |
| 16:41:07 | headius leaves the room. | |
| 16:41:25 | enebo leaves the room. | |
| 16:41:57 | headius enters the room. | |
| 16:47:59 | botanicus leaves the room. | |
| 16:51:51 | lchin leaves the room. | |
| 16:53:33 | rue enters the room. | |
| 16:54:09 | enebo enters the room. | |
| 16:55:04 | rue | dbussink: Sorry, went offline. Yeah, I think ensuring it is only created once is the correct approach.. I am reading the LLVM docs now |
| 16:55:09 | rue | --to verify |
| 16:55:28 | gnufied enters the room. | |
| 16:56:19 | twbray enters the room. | |
| 16:57:53 | naeu leaves the room. | |
| 17:01:19 | stouset enters the room. | |
| 17:03:36 | hemulen enters the room. | |
| 17:05:42 | twbray leaves the room. | |
| 17:06:44 | eventualbuddha enters the room. | |
| 17:07:12 | dbussink | rue: well, it was what the assertion basically said afaik |
| 17:10:15 | stouset leaves the room. | |
| 17:10:45 | c0sin_ enters the room. | |
| 17:12:45 | krsh leaves the room. | |
| 17:13:25 | rue | Pretty much |
| 17:14:28 | mass | waves hello |
| 17:19:58 | lopex enters the room. | |
| 17:20:34 | twbray enters the room. | |
| 17:21:22 | heycarsten leaves the room. | |
| 17:23:47 | neelance leaves the room. | |
| 17:31:31 | heycarsten enters the room. | |
| 17:32:44 | neelance enters the room. | |
| 17:43:09 | thehcdreamer leaves the room. | |
| 18:01:29 | nicksieger enters the room. | |
| 18:04:49 | edwardam enters the room. | |
| 18:07:52 | Yurik leaves the room. | |
| 18:09:02 | edwardam leaves the room. | |
| 18:09:31 | octopod leaves the room. | |
| 18:13:35 | jbarnette | gco cg |
| 18:13:54 | jbarnette | Wow, focus doesn't follow my mouse on Mac OS X. A revelation! |
| 18:15:31 | wycats leaves the room. | |
| 18:18:44 | edwardam enters the room. | |
| 18:24:42 | c0sin_ leaves the room. | |
| 18:28:06 | neelance_ enters the room. | |
| 18:28:42 | joachimm enters the room. | |
| 18:31:38 | headius | evan: what's in portland? |
| 18:32:07 | neelance_ leaves the room. | |
| 18:33:13 | neelance_ enters the room. | |
| 18:35:09 | jackdempsey leaves the room. | |
| 18:35:19 | c0sin enters the room. | |
| 18:35:37 | neelance | hi - can someone tell me what the sha1_hash_string check in cpu_unmarshal is used for? |
| 18:37:02 | neelance leaves the room. | |
| 18:38:31 | wycats enters the room. | |
| 18:38:50 | Defiler | neelance: The SHA1 hash for a compiled ruby file is stored in the .rbc file |
| 18:39:06 | neelance | for what purpose? |
| 18:39:08 | Defiler | but you can feel free to hack that out for the Wii if you want. It's just for paranoia, as far as I know |
| 18:39:13 | neelance | integrity check? |
| 18:39:20 | Defiler | Yeah |
| 18:39:21 | neelance | ah okay |
| 18:39:33 | neelance | because i already commented it out because it fails ^^ |
| 18:40:16 | octopod enters the room. | |
| 18:40:39 | Defiler | The rest of the code is expecting there to be however many bytes that digest takes (20?) at the top of the file |
| 18:40:55 | Defiler | but you can just change a little bit and ignore its value |
| 18:41:42 | nexcastellan | How does it fail? |
| 18:42:20 | neelance | the result value is simply wrong so rubinius does not load the file |
| 18:44:00 | gnufied leaves the room. | |
| 18:47:37 | neelance | is there some quick way to print out a readable version of binary data like the digest result of the sha function? |
| 18:47:58 | drbrain | neelance: inspect |
| 18:48:15 | drbrain | or, .hexdigest, if you have the object |
| 18:49:08 | neelance | in C code?? |
| 18:49:35 | Defiler | _inspect(sha1_blah_blah_thing_that_produces_a_string_object) |
| 18:49:40 | Defiler | is one way |
| 18:49:49 | neelance | ah okay |
| 18:50:43 | neelance | but there is no string object ^^ it ist stored in a simple char array |
| 18:50:54 | neelance | unsigned char cur_digest[20]; |
| 18:51:03 | Defiler | Well, then you can just printf it, right? |
| 18:51:44 | neelance | no, because printf on binary data doesn't really produce readable results |
| 18:52:16 | nakajima enters the room. | |
| 18:52:23 | thehcdreamer enters the room. | |
| 18:52:28 | binary42 leaves the room. | |
| 18:52:34 | Defiler | Oh, I see what you are saying. It is the binary digest in a char array |
| 18:52:39 | Defiler | Not the string digest |
| 18:52:43 | neelance | right |
| 18:52:49 | dfg59 enters the room. | |
| 18:53:28 | neelance | i just wondered if there is some quick way for example to print a char array as numbers from 0 to 255 or something like that |
| 18:53:44 | Defiler | Probably some arcane printf format string |
| 18:53:49 | neelance | ^^ |
| 18:54:02 | Defiler | but I would just copy and paste it into irb and convert it there :) |
| 18:54:31 | neelance | there is no copy+paste on the wii xD |
| 18:55:06 | bricolage enters the room. | |
| 18:55:14 | Defiler | I wouldn't bother, to be honest. Just delete the code that checks the signature in cpu_marshal.c |
| 18:55:51 | Defiler | line 614 in that file in my checkout, potentially elsewhere in the main branch |
| 18:56:30 | neelance | i already did so and rubinius works |
| 18:56:37 | neelance | but i want to know why it fails |
| 18:56:55 | neelance | because there may be other problems which have the same reason |
| 18:57:27 | nexcastellan | You could trivially write some C code to dump the values. Only "gotcha" is to output each as %d instead of %c. |
| 18:57:32 | Defiler | Oh, check out sha1.c in shotgun/lib |
| 18:57:44 | Defiler | There's some commented-out code at the bottom that looks right at first glance |
| 18:57:47 | Defiler | For printing what you wnat |
| 18:58:03 | joachimm_ leaves the room. | |
| 18:58:38 | neelance | seems to be some kind of quick check if sha works, i will try to run this on the wii... |
| 18:59:01 | Defiler | Yeah, but the printf there is producing a hex representation |
| 18:59:14 | gnufied enters the room. | |
| 19:02:18 | rue leaves the room. | |
| 19:02:53 | neelance | hmm, the test produces a different result on the wii than on my pc |
| 19:03:04 | rue enters the room. | |
| 19:03:51 | mutle_ enters the room. | |
| 19:05:12 | rue | Mooblers |
| 19:05:23 | Defiler | What kind of CPU is in the Wii? |
| 19:06:09 | bricolage | IBM "Broadway" |
| 19:06:14 | bricolage | it's the Nintendo Cube CPU |
| 19:06:30 | bricolage | PowerPC |
| 19:14:23 | mutle leaves the room. | |
| 19:17:08 | eventualbuddha leaves the room. | |
| 19:20:17 | wycats_ enters the room. | |
| 19:22:06 | mass | wii, ps3 and xbox 360 all have ppc-based ibm chips, all custom |
| 19:22:29 | mass | tri-core 360 chip, or the G3+bag of cells of the ps3 |
| 19:24:26 | dctanner leaves the room. | |
| 19:36:57 | wycats leaves the room. | |
| 19:38:29 | boyscout | 1 commit by Christopher Thompson |
| 19:38:30 | boyscout | * Add rb_cvar_defined, including specs.; e806d67 |
| 19:42:13 | jammi | i thought ps3's cell was ppc970-basec |
| 19:42:16 | jammi | based |
| 19:42:36 | jammi | 7 ppc970 "G5" cores |
| 19:42:42 | Defiler | Yeah, it is. |
| 19:42:52 | Defiler | Though cut down pretty far from the 'retail' 970 |
| 19:43:17 | wyhaines leaves the room. | |
| 19:43:27 | jammi | at least it scores pretty well in folding@home and likes |
| 19:43:34 | wyhaines enters the room. | |
| 19:43:50 | rubuildius_ppc | Christopher Thompson: e806d67ad; 2535 files, 8414 examples, 28047 expectations, 0 failures, 0 errors |
| 19:43:52 | drbrain | "pretty well" is an understatement |
| 19:44:42 | Defiler | Yeah, it performs extremely well with code that is well-scheduled and predictable |
| 19:44:45 | Defiler | Cool system |
| 19:45:32 | jammi | iirc, gc and wii on the other hand are "G3" -based |
| 19:47:27 | rubuildius_ey64 | Christopher Thompson: e806d67ad; 2535 files, 8415 examples, 28025 expectations, 0 failures, 0 errors |
| 19:48:25 | drbrain | a year ago the PS3 was doing 55% of all teraFLOPS on folding@home |
| 19:50:27 | drbrain | "[if folding] using the most efficient CPUs currently available, would use at least 2.8 megawatts of power per petaFLOPS" |
| 19:50:37 | drbrain | "slightly more than the world's first and only petaflop system" |
| 19:53:18 | ezmobius enters the room. | |
| 19:55:04 | neelance | hmm, the problem seems to have something to do with byte-order... |
| 19:56:02 | Defiler | The rbc files (and hence, the output of cpu_marshal, etc) are meant to be in network byte order |
| 19:56:11 | Defiler | but I can't recall how we detect/enforce/ensure that |
| 19:56:21 | neelance | no not with the rbc files themselves |
| 19:56:37 | Defiler | Yeah, I know you mentioned they were working |
| 19:56:39 | neelance | some memory copy operation in the sha algorithm produces a different result |
| 19:56:45 | Defiler | aah |
| 20:02:23 | neelance | the actual data is copied into a structure with a char and an uint32_t array - and the uint32_t values are wrong |
| 20:02:23 | rue leaves the room. | |
| 20:03:35 | rue enters the room. | |
| 20:05:57 | neelance | oh, it's not a struct, it's an union |
| 20:06:49 | nexcastellan | It's probably not taking byte order into account. You could probably just add a swap step. |
| 20:07:18 | nexcastellan | Though there's probably an sha1 implementation around somewhere that takes that into account already. |
| 20:08:07 | nexcastellan | Or wait, sha1.c has #if !CONFIG_BIG_ENDIAN. Have you tried toggling that? |
| 20:08:14 | wycats_ leaves the room. | |
| 20:09:22 | ijcd enters the room. | |
| 20:11:40 | twbray leaves the room. | |
| 20:12:28 | mutle enters the room. | |
| 20:13:09 | neelance | yeah i tried this, but it does not fully work |
| 20:13:48 | neelance | but this is the reason |
| 20:14:06 | dctanner enters the room. | |
| 20:16:11 | neelance | because the values i print out are right when reversed |
| 20:28:19 | wycats enters the room. | |
| 20:29:35 | dctanner leaves the room. | |
| 20:30:09 | dctanner enters the room. | |
| 20:30:10 | mutle_ leaves the room. | |
| 20:33:41 | nexcastellan | Are "it" tests in the specs always run in sequential order? |
| 20:34:37 | ezmobius leaves the room. | |
| 20:35:20 | gnufied leaves the room. | |
| 20:39:38 | nicksieger leaves the room. | |
| 20:43:28 | Defiler | nexcastellan: Generally, but it is up to the runner |
| 20:43:45 | Defiler | nexcastellan: In the CI process, we randomize it to avoid hiding any order dependence |
| 20:43:52 | nexcastellan | Okay. I've written my tests so that order doesn't matter. Seems to be the best general policy. :) |
| 20:45:15 | Defiler | Yeah, relying on order would be a bad idea |
| 20:48:13 | boyscout | 1 commit by Christopher Thompson |
| 20:48:14 | boyscout | * Add rb_cv_get, rb_cvar_get, rb_cv_set, rb_cvar_set.; a848feb |
| 20:48:24 | dctanner leaves the room. | |
| 20:49:29 | nexcastellan | Gah, rmagick just keeps on requiring unimplemented stuff. I wonder how much I have still to implement. |
| 20:51:07 | Defiler | rmagick is the rails of MRI C extensions |
| 20:51:13 | Defiler | The final borderline |
| 20:51:45 | jbarnette | I should really try out Johnson now; there's a fair amount of squicky C in there |
| 20:52:00 | nexcastellan | :) Well, that makes me feel a bit better. Is there any way to get it to spit out how many symbols it's not going to be able to lazy-symbol-bind? Right now, I'm just doing one or two at a time. |
| 20:53:37 | rubuildius_ppc | Christopher Thompson: a848feb0a; 2536 files, 8417 examples, 28058 expectations, 0 failures, 0 errors |
| 20:53:43 | twbray enters the room. | |
| 20:57:31 | rubuildius_ey64 | Christopher Thompson: a848feb0a; 2536 files, 8418 examples, 28036 expectations, 0 failures, 0 errors |
| 20:57:57 | Defiler | There's probably some fancy 'ld' magic to get it to give you that output |
| 20:58:02 | Defiler | but I have no idea what it would look like :) |
| 20:58:48 | ezmobius enters the room. | |
| 21:07:20 | neelance | hey, i got it working |
| 21:08:36 | neelance | seems like the current implementation of handling big/little endian in sha1.c is not working |
| 21:10:07 | neelance | should i create a patch? |
| 21:15:04 | drbrain | neelance: yes, if it is broken for you |
| 21:15:09 | nexcastellan | Definitely! |
| 21:16:19 | neelance | the only problem is that i don't know if the sha result is correct compared to the official specification / other sha implementations |
| 21:19:05 | drbrain | neelance: Digest::SHA1.hexdigest '' # => "da39a3ee5e6b4b0d3255bfef95601890afd80709" |
| 21:19:10 | drbrain | neelance: that is your test :) |
| 21:20:13 | neelance | is this from a spec? |
| 21:21:04 | neelance | because my current fix would make sha1 behave the same on big endian system like on little endian systems |
| 21:22:04 | drbrain | neelance: yes |
| 21:22:39 | drbrain | neelance: just compare to ruby, and you'll know when it's working |
| 21:23:27 | nexcastellan | two test vectors: http://www.febooti.com/products/filetweak/members/hash-and-crc/test-vectors/ |
| 21:24:15 | neelance | thx |
| 21:25:29 | neelance | ok, it is correct |
| 21:25:40 | wycats leaves the room. | |
| 21:25:54 | wycats enters the room. | |
| 21:26:38 | neelance | but why has no mac powerpc user complained yet? |
| 21:27:08 | neelance | theoretically the check should fail there, too |
| 21:27:57 | drbrain | could it be a cross-compiling problem? |
| 21:28:53 | rue | Interesting docs |
| 21:29:08 | neelance | you mean that normally the compiler automatically introduces some byte swapping? |
| 21:30:02 | cremes | neelance: i fixed a bunch of sha1/md5 endian problems many months ago; i also run rubuildius_ppc so it's pretty easy for me to test |
| 21:30:17 | drbrain | neelance: there was a problem in 10.4's ruby where it pack and unpack used the wrong endianness |
| 21:30:56 | drbrain | since 10.4 was cross-compiled for PPC from an intel machine, and there are bugs in pack/unpack |
| 21:35:22 | rue leaves the room. | |
| 21:36:06 | rue enters the room. | |
| 21:37:09 | neelance | maybe i should create a patch and someone wit a ppc mac could try it? |
| 21:37:22 | drbrain | neelance: please |
| 21:37:56 | drbrain | so, on the CPP branch, builtin_array.cpp errors with: |
| 21:38:06 | drbrain | builtin_nativefunction.hpp:4:17: error: ffi.h: No such file or directory |
| 21:38:28 | nexcastellan | How do I get rubinius to dump out the bytecodes, etc.? |
| 21:38:50 | imajes enters the room. | |
| 21:39:14 | drbrain | nexcastellan: bin/rbx describe ? |
| 21:39:20 | imajes leaves the room. | |
| 21:39:22 | nexcastellan | describe, right. Thanks. |
| 21:39:43 | imajes enters the room. | |
| 21:39:58 | gnufied enters the room. | |
| 21:41:17 | blakewatters leaves the room. | |
| 21:51:30 | blakewatters enters the room. | |
| 21:53:51 | radarek leaves the room. | |
| 22:08:31 | neelance | hmm, seems like a made mistake somewhere, no need for a patch any more |
| 22:11:13 | neelance | at least the problem is solved now |
| 22:12:39 | nexcastellan | What happened |
| 22:12:41 | nexcastellan | ? |
| 22:13:10 | neelance | the original version just seems to work now with the big endian flag set |
| 22:13:25 | nexcastellan | I've had days like that. :) |
| 22:13:31 | neelance | i thought i tried it before, but maybe i overlooked something... |
| 22:15:57 | Yurik enters the room. | |
| 22:17:19 | rubuildius_amd64 | Christopher Thompson: a848feb0a; bin/ci failed! http://rafb.net/p/56C1JD49.html |
| 22:17:20 | rubuildius_amd64 | Christopher Thompson: e806d67ad; bin/ci failed! http://rafb.net/p/uh76rG77.html |
| 22:17:59 | nexcastellan | Bah, rubuildius_amd64, you big lier. |
| 22:18:23 | bricolage leaves the room. | |
| 22:18:37 | nexcastellan | No cookies for you! |
| 22:20:19 | ijcd leaves the room. | |
| 22:21:58 | jbarnette_ enters the room. | |
| 22:22:42 | enebo_ enters the room. | |
| 22:23:59 | enebo leaves the room. | |
| 22:26:34 | ijcd enters the room. | |
| 22:26:46 | blakewatters leaves the room. | |
| 22:30:39 | ijcd_ enters the room. | |
| 22:33:05 | wycats leaves the room. | |
| 22:33:40 | chris2 leaves the room. | |
| 22:33:52 | dfg59 leaves the room. | |
| 22:35:03 | rue leaves the room. | |
| 22:35:36 | rue enters the room. | |
| 22:37:14 | octopod leaves the room. | |
| 22:38:52 | jbarnette leaves the room. | |
| 22:43:00 | wycats enters the room. | |
| 22:43:01 | jbarnette enters the room. | |
| 22:50:41 | ijcd leaves the room. | |
| 22:53:21 | AndrewO leaves the room. | |
| 22:54:21 | imajes_ enters the room. | |
| 22:55:10 | moofbong leaves the room. | |
| 22:59:04 | jbarnette_ leaves the room. | |
| 23:01:00 | imajes leaves the room. | |
| 23:02:01 | imajes_ leaves the room. | |
| 23:02:32 | yugui enters the room. | |
| 23:06:55 | Arjen_ leaves the room. | |
| 23:07:49 | boyscout | 1 commit by Ryan Davis |
| 23:07:50 | boyscout | * Minor refactorings.; 5fa92dc |
| 23:10:21 | zenspider | boyscout, you suck. |
| 23:11:18 | rubuildius_ppc | Ryan Davis: 5fa92dcbc; 2536 files, 8417 examples, 28058 expectations, 0 failures, 0 errors |
| 23:12:02 | zenspider | rubuildius_ppc, I have problems trusting you when you come back that fast |
| 23:13:25 | chovy_ enters the room. | |
| 23:13:58 | chovy | hello |
| 23:14:05 | chovy | is this for Ruby Rubinius? |
| 23:14:16 | nexcastellan | Yes it is! |
| 23:14:20 | chovy | heh |
| 23:14:22 | chovy | nice |
| 23:14:59 | nexcastellan | Evan's away at another conference today, so it's quieter than usual. |
| 23:15:18 | chovy | can I use rubinius to write a downloadable desktop app that is cross-platform? My understanding is rubinius is a runtime environment (like java)... |
| 23:16:00 | drbrain | it does not include its own widget set |
| 23:16:04 | nexcastellan | Rubinius is an alternate implementation of Ruby. Ruby isn't normally used for desktop applications, though TrollTech's Qt/Ruby bindings certainly allow it. |
| 23:16:18 | drbrain | you could do the same using a cross-platform gui toolkit on ruby |
| 23:16:29 | drbrain | or shoes |
| 23:16:30 | chovy | drbrain: like fx or wx? |
| 23:16:36 | nexcastellan | I'm not convinced it is the best platform for a cross-platform desktop app at this point, though. There are some deployment issues, for example. |
| 23:16:39 | ryanlowe | JRuby+Eclipse RCP would be interesting for cross-platform maybe |
| 23:16:55 | nexcastellan | I've done plenty of cross-platform desktop apps in C++ using Qt. |
| 23:17:14 | nexcastellan | Packaging is a pain, but your code pretty much just compiles across all three major platforms. |
| 23:17:20 | rubuildius_ey64 | Ryan Davis: 5fa92dcbc; 2536 files, 8418 examples, 28036 expectations, 0 failures, 0 errors |
| 23:17:24 | nexcastellan | What sort of app are you wanting to do, chovy? |
| 23:18:10 | chovy | nexcastellan: well, ease of installation would be ideal for the end-user (non-techies). but basically a simple app that does a SOAP request to a remote server and parses the results in a viewable format to the user. |
| 23:18:52 | Maledictus leaves the room. | |
| 23:19:01 | chovy | s/SOAP/RSS|WSDL|SOAP/ etc. |
| 23:19:29 | nexcastellan | Well, creating install packages would be up to you regardless of the language you decide on. And this can be a real pain in the behind. But Ruby (both the "standard" ruby and Rubinius) are slightly more work right now than, say, C++ to create install packages for your resulting application. |
| 23:19:38 | chovy | and perhaps send results of the request to a central db server that I run. |
| 23:20:01 | tarcieri | nex: hopefully .rba will fix that |
| 23:20:18 | nexcastellan | Yeah, Rubinius is certainly heading down a road that should make it much easier to deploy. |
| 23:20:32 | nexcastellan | As tar says. But I don't think it's there yet. |
| 23:20:50 | chovy | k, so I need to decide on a toolkit (like fx or wx) that works on mac/win/linux, and then decide on an installation package for the EU? |
| 23:21:00 | nexcastellan | EU? |
| 23:21:07 | chovy | the the rest is relatively straight forward? |
| 23:21:10 | chovy | End User |
| 23:21:39 | nexcastellan | Ahh. Well, you will need separate packages for each platform (OS X, Win, Linux, and probably multiple ones for Linux). |
| 23:21:53 | chovy | my only requirement really is that its dead stupid to install...like a browser or something. |
| 23:21:55 | nexcastellan | And of course, that means you'll need Windows, OS X, and Linux yourself. |
| 23:22:01 | chovy | download and double-click |
| 23:22:15 | chovy | k, i've got the three OSs at my disposal. |
| 23:22:34 | nexcastellan | Anyway, like I say, I don't think Ruby or Rubinius is the right choice for you at the moment, though Rubinius will certainly be worth looking at in the future for this sort of thing. |
| 23:22:38 | dysinger enters the room. | |
| 23:22:49 | tarcieri | The distant future... the year 2000 |
| 23:22:50 | zenspider | dead simple to install == no install or at least no installer |
| 23:23:03 | chovy | i don't mind being a guinea pig if its even close to being a realistic solution. |
| 23:23:22 | nexcastellan | For now, though, I'd suggest picking a different language you are familiar with, and then looking around at cross-platform toolkits that handle widgets and ideally, network stuff. |
| 23:24:00 | chovy | well, my users aren't techie, so they should be able to just pick "mac.dmg" or "win.exe" or "linux.deb, etc" to download the file, and double-clicking would do the rest of the install. |
| 23:24:04 | nexcastellan | Others here can probably give you a better idea of how close Rubinius is to a state where you could expect to easily create install packages for your own app, bundling Rubinius, for the three major platforms. |
| 23:24:24 | zenspider | to be fair... ruby itself isn't a very good choice for cross-platform gui/desktop apps... but I don't think any app is a very good choice for that |
| 23:24:28 | nexcastellan | Well, that part would be entirely up to you and really has nothing to do with Rubinius or C++ or anything else. |
| 23:24:55 | chovy | k |
| 23:25:06 | nexcastellan | zenspider, I had good luck with C++ and Qt. :) You still end up writing three (or in our case, many more than three) install things, though. What fun. |
| 23:25:19 | chovy | heh |
| 23:25:19 | nexcastellan | Chovy, worth looking at Java as well. |
| 23:25:22 | zenspider | chovy_: dmg isn't an executable... it is a disk image format. BUT... the standard for osx is to have a drag/droppable app inside and nothing more |
| 23:25:29 | zenspider | user copies app anywhere they want, plain and simple |
| 23:25:47 | nexcastellan | Java has the widget and network libraries built in. Only problem is actually bundling a Java runtime. |
| 23:25:52 | zenspider | I dunno if apple is still supporting the "internet" dmgs or not |
| 23:26:00 | zenspider | those unpacked themselved and dumped into your desktop |
| 23:26:12 | chovy | k |
| 23:26:22 | chovy | perhaps it isn't doable for my skill-level. |
| 23:26:37 | zenspider | the problem I've seen is that NO system out there produces 100% native widgets and layouts on every platform |
| 23:26:51 | chovy | was looking for java/perl/php/ruby solution that would allow a downloadable app cross-platform. |
| 23:27:05 | zenspider | and really... I don't think that is problem to be solved... each UI has it's own philosophy and guidelines and they aren't compatible |
| 23:27:12 | zenspider | chovy_: how about a web app straight up? |
| 23:27:19 | tarcieri | chovy: there's py2exe for Python |
| 23:27:22 | chovy | i've looked into GTK, WX, and FX really. |
| 23:27:25 | pauldix leaves the room. | |
| 23:27:28 | tarcieri | not exactly cross platform |
| 23:27:30 | nexcastellan | Oooh, yeah, web app straight up. That's a good approach. |
| 23:27:53 | headius | nexcastellan: gotta be fair to jruby here though...build once, package once, and it runs anywhere java does |
| 23:27:56 | nexcastellan | You'd need to host it yourself, and you'll end up fighting with browser incompatibilities, but that's perhaps an easier solution. |
| 23:28:10 | chovy | i'm doing a web app too...this is more of a downloadable tool to supplement the web site that they run on their own desktop. |
| 23:28:16 | zenspider | it is about the only way to really do it cross-platform and meet user's expectations (since they are lower/different for web apps) |
| 23:28:49 | nexcastellan | headius is right, jruby is worth a look as well. You'd still need to deal with end-users not having Java runtime installed (just as you would with a Java solution), but at least lots of people have solved that problem. :) |
| 23:28:52 | chovy | jruby ? |
| 23:29:03 | chovy | k |
| 23:29:06 | nexcastellan | jruby, like Rubinius, is an alternate implementation of Ruby. |
| 23:29:29 | chovy | k |
| 23:29:43 | chovy | so i'd actually be writing ruby for a java interpreter? |
| 23:29:48 | nexcastellan | MRI Ruby is the "standard" version of Ruby. There are a number of alternate implementations. JRuby is Ruby done in Java. Rubinius is Ruby done in Ruby. That's not the whole story, of course, but still. |
| 23:30:16 | nexcastellan | Yes, as I understand it. Headius is the jruby man. :) |
| 23:30:25 | chovy | cool |
| 23:30:27 | headius | I dabble |
| 23:30:29 | chovy | thanks for the insight |
| 23:30:48 | nexcastellan | Worth considering as well is writing a java web applet. Though I haven't seen one of those in years. |
| 23:31:32 | headius | you can deploy jruby as an applet also |
| 23:31:58 | chovy | or flash too, depending on what the resource's crossdomain.xml policy is. |
| 23:32:01 | NoKarma | wasn't there a java irb applet somewhere? |
| 23:32:09 | nexcastellan | Ooooh. That probably shouldn't surprise me given how easy it is to convert a Java app to an applet, but it's still cool, Headius. |
| 23:32:17 | headius | NoKarma: yeah, works fine |
| 23:32:35 | headius | and more stuff, like full screen opengl |
| 23:33:00 | nexcastellan | Chovy, what programming languages do you know right now? |
| 23:33:16 | chovy | just web scripting languages |
| 23:33:24 | chovy | php, perl, ruby. |
| 23:33:29 | chovy | little java, but not much |
| 23:34:11 | NoKarma | ooh, that HotRuby Ruby JS VM thing came just to my mind |
| 23:34:20 | NoKarma | it wasn't touched since January :( |
| 23:34:42 | imajes enters the room. | |
| 23:34:51 | headius | hotruby is a toy and probably will never be more than that |
| 23:34:53 | chovy | does rubinius support FX (if that question even makes sense)? |
| 23:35:02 | rue leaves the room. | |
| 23:35:42 | drbrain | chovy_: AFAIK, nobody has tried |
| 23:35:46 | NoKarma | headius: true. But it's a damn cool tool :) |
| 23:35:55 | nexcastellan | Well, it may be worth your while taking a look at QtRuby. I just think you aren't quite aware yet how frustrating it can be to create installation packages, even bad ones. :) |
| 23:35:57 | NoKarma | *toy |
| 23:35:59 | drbrain | chovy_: at this point, you don't want to use rubinius for a production app |
| 23:36:06 | rue enters the room. | |
| 23:36:13 | chovy | probably won't work, since I need it to get around any same-origin security restriction. |
| 23:36:27 | chovy | drbrain: even just for a proof-of-concept? |
| 23:36:40 | zenspider | chovy_: let me say outright... rubinius is NOT production ready and won't be anytime soon. |
| 23:36:42 | drbrain | chovy_: not really, no |
| 23:36:46 | chovy | k |
| 23:37:29 | chovy | sounded like a cool project from the Deploying with Capistrano book's "Future of Ruby" section at the end. |
| 23:37:37 | heycarsten leaves the room. | |
| 23:37:55 | NoKarma | zenspider: Are you planning to further worn on multiruby? |
| 23:38:00 | NoKarma | *work |
| 23:38:00 | nexcastellan | That said, as Rubinius is "just" a reimplementation of Ruby, if you decide to write your application in Ruby, you will one day be able to run it in Rubinius. :) |
| 23:38:12 | chovy | k |
| 23:38:49 | cremes | zenspider: rubuildius_ppc comes back so fast because i have it polling every 2 minutes for updates; please trust it! :) |
| 23:38:57 | chovy | any other ideas on getting a middle-man scenario? <xml_feed> <= client's IP => <my site> |
| 23:39:19 | chovy | hitting <xml_feed> <=> <my site> would result in an IP ban if it got any traffic. |
| 23:39:56 | drbrain | chovy_: not really on-topic for #rubinius |
| 23:40:11 | chovy | true |
| 23:40:22 | chovy | thanks for the feedback :) |
| 23:40:33 | nexcastellan | Good luck, Chovy! |
| 23:41:24 | chovy | thanks |
| 23:42:44 | rue | drbrain: Update your cpp checkout |
| 23:43:04 | cremes leaves the room. | |
| 23:44:47 | drbrain | rue: no different |
| 23:44:58 | drbrain | builtin_nativefunction.hpp:4:17: error: ffi.h: No such file or directory |
| 23:45:09 | drbrain | I ran rake clean; rake build |
| 23:45:16 | drbrain | after git pull |
| 23:46:47 | antares_ leaves the room. | |
| 23:47:24 | wycats_ enters the room. | |
| 23:48:41 | wycats__ enters the room. | |
| 23:48:46 | rue | drbrain: e373793 ? |
| 23:49:46 | drbrain | git log | head -1 says: commit e3737937f698c4cd0342eeb6761ee710e8f2d0a4 |
| 23:49:51 | drbrain | rue: so yes |
| 23:49:59 | wycats___ enters the room. | |
| 23:50:07 | drbrain | do I need to install ffi somewhere? |
| 23:50:13 | wmoxam leaves the room. | |
| 23:50:29 | rue | Hm, that is the external libs libffi |
| 23:51:15 | rue | drbrain: Should be external_libs/libffi/include/ffi.h, see if a manual configure works |
| 23:52:24 | wycats____ enters the room. | |
| 23:53:28 | wycats leaves the room. | |
| 23:53:36 | drbrain | rue: well, I might be confused |
| 23:53:46 | drbrain | in step 5 in README-C++ I did cd vm |
| 23:53:50 | drbrain | then rake build |
| 23:54:01 | drbrain | ... but if I do rake build from toplevel I get this: |
| 23:54:12 | drbrain | http://rafb.net/p/qKEAzY53.html |
| 23:54:16 | wycats____ leaves the room. | |
| 23:54:25 | wycats_ leaves the room. | |
| 23:54:58 | wycats enters the room. | |
| 23:55:33 | drbrain | switching that Dir.mkdir to mkdir_p gets me along a bit, but I end up erroring in the same spot |
| 23:55:57 | wycats___ leaves the room. | |
| 23:56:42 | imajes leaves the room. | |
| 23:57:13 | neelance | zenspider: hi, still interested in rubinius on the wii? |
| 23:57:49 | drbrain | rue: eep! external_libs/libffi/include/ffi.h: No such file or directory |
| 23:58:07 | drbrain | so, some dependency is missing |
| 23:59:42 | wycats leaves the room. |