[7:06]<eddyb> looking at Binary/*... most of them implement ByteString and ByteArray [7:07]<eddyb> is there any reason to have ByteString along ByteArray? [7:11]<eddyb> they're mostly compatible and actually ByteString looks to me like having a subset of ByteArray's methods and being immutable [7:11]<eddyb> I like Binary/F, yet it's too simple... [7:14]<eddyb> I'd take ByteArray from one of the implementations and make different versions of it (Byte, Short, Int, Float, Double, or (U)(Int|Float)(8|16|32|64) like WebGL's TypedArray) [7:15]<ondras> the reason for having both string and array is the (im)mutability, as far as i recall [7:15]<ondras> on the other hand, i chose binary/f for v8cgi due to its simplicity :) [7:53]<eddyb> well, I definitely need Float/Double arrays for GL, and implementing them inside GL is too hackish [7:55]<ondras> there's nothing wrong with that need, but it is definitely different from Binary stuff :) [7:55]<eddyb> right... yet they belong together for obvious reasons [7:56]<eddyb> you may need to access floats from a ByteArray/Buffer while reading a file [7:57]<eddyb> or let's say the whole file is a bunch of doubles [7:58]<ondras> hm, the Number is not sufficient? [7:58]<ondras> js already has a floating point datatype, as opposed to a binary one [7:58]<eddyb> how do you get a Number from a ByteArray? [7:59]<eddyb> you don't :P [7:59]<ondras> typeof(myByteArray[index]) == "number" ? [8:00]<eddyb> but is it a double? [8:00]<eddyb> it's actually uint8_t :| [8:01]<eddyb> on v8, that's not even stored as a double, merely a Smi [8:02]<eddyb> OOI, how do you find this descriptive format: https://github.com/eddyb/v8-gearbox/blob/master/src/modules/GL.gear ? [8:03]<eddyb> I've seen a few implementations using macros all over the place, some others having huge code which was 90% not functionality-related :| [8:08]<eddyb> some node.js guy replied after a while something like "pretty, but we already rule this stuff" [8:10]<eddyb> I could convert your socket module in a few minutes... I suppose it took longer to write :) [8:10]<eddyb> not to mention documentation and maintenance [8:14]<eddyb> https://github.com/eddyb/v8-gearbox/blob/master/src/modules/Network.gear << sketchy implementation of sockets [8:16]<ondras> :) [8:17]<oberhamsi> eddyb, cool! didn't know about v8-gearbox [8:17]<eddyb> ssshh [8:17]<eddyb> I don't freakin' have documentation or wiki pages [8:17]<eddyb> don't tell everyone until I have a stable release or something [8:18]<oberhamsi> are you planning commonjs compatibility? ;) [8:18]<eddyb> sure, as long as it doesn't make everything awful [8:18]<oberhamsi> lol okay [8:18]<ondras> hmm, the idea of v8 gearbox is nice [8:19]<oberhamsi> would love v8 with decent commonjs... for the rare task that needs superspeed [8:19]<eddyb> I've worked all my winter holiday writing an API filled with "C++ magic", debugging it and optimizing [8:19]<ondras> oberhamsi: node/v8cgi not sufficien? :) [8:19]<ondras> *sufficient [8:19]<oberhamsi> ondras, should try node again.. last time it wasn't very commonjs [8:20]<ondras> v8cgi is more commonjs than node .) [8:20]<eddyb> v8-gearbox spins faster [8:20]<ondras> but node is definitely more trendy [8:20]<eddyb> I don't like it :P [8:21]<oberhamsi> meh.. don't care about trends. i'm mostly a ringojs man but every now and then i peak into v8 and try stuff [8:27]<eddyb> http://kwhq.net/gear/gearboxGL.png << a test I've just done [8:29]<eddyb> a million triangles = 3(points/triangle)x(1(index)+3(vertex)+3(normal))x1M =21M doubles [8:29]<eddyb> in half a second or so [8:31]<eddyb> that's actually 160MB of doubles :| [8:31]* eddyb faints [8:35]<eddyb> actually, the index is an integer, half the size, and I only get 76MB of memory usage because of v8's Smi's [8:35]<eddyb> (immediate small integer, that is) [8:37]<eddyb> actually, that horrendous usage is caused by a bug, the terrain pieces stack up and the triangle count increases [8:39]<eddyb> and I don't even have Value::to<double>() inlined [8:39]<eddyb> I want my testcase to be added to commonjs [8:41]* eddyb is awesome without trying [9:55]<eddyb> so? [9:55]<eddyb> what's up? [10:14]<eddyb> ondras: btw, do you happen to have a channel dedicated to v8cgi? [10:15]<eddyb> I have one, mainly for feeling proud whenever CIA starts spiting out commit messages :D [10:20]<ondras> eddyb: i do not [10:56]<eddyb> too bad. feel free to join #v8-gearbox [18:07]<Wes> deanlandolt: around today parchance? [20:14]<Wes> "4.6.1 Is an object which is referentially identical to the main module?s exports object. " [20:14]<Wes> Is there a better way to say crap like that in JS land? [20:14]<Wes> like "Is a freaking POINTER"! [20:30]<deanlandolt> Wes: hey man [20:30]<deanlandolt> can't you just "is a reference to"? [20:30]<Wes> deanlandolt: hey [20:31]<Wes> deanlandolt: And, hm, I think that *IS* better language [20:31]* Wes sucks at this stuff [20:40]<Wes> anybody know offhand what's different between Modules/1.1 and Modules/1.1.1? [21:09]<Wes> I need a better name than "pluggable module provider" to describe a group of functions which can overlay on top of a commonjs environment and alter the way modules are loaded [21:10]<Wes> alter - because we want to add new semantics (packages), different transports, etc