00:00:01 * ircretary quit (Remote host closed the connection) 00:00:08 * ircretary joined 00:09:15 * defunctzombie_zz changed nick to defunctzombie 00:10:37 rvagg: var stream = require("read-stream/array")([buffer]) 00:11:16 * ins0mnia quit (Ping timeout: 240 seconds) 00:12:25 will that emit an 'end' automatically Raynos? 00:13:42 * rclosner quit (Read error: Operation timed out) 00:14:49 * rclosner joined 00:18:46 * defunctzombie changed nick to defunctzombie_zz 00:22:14 yes 00:22:17 on the next tick 00:22:19 once its consumed 00:22:26 it returns a streams2 stream 00:22:32 so you have to consume the buffer before it emits end 00:22:40 i.e. pipe it 00:27:49 too much code invested in my own impl, going with mine for now 00:35:38 * AvianFlu quit (Remote host closed the connection) 00:38:36 * tilgovi joined 00:48:51 rvagg: we need to rewrite all the levelup streams code to streams2 when 0.10 hits. You have written so much stuff that's already in streams2 and has unit tests in node core. 00:49:22 need to maintain 0.8 compatibility for a while tho 00:57:10 the streams in levelup are going to be so much cleaner with 0.10 -> nice! 00:58:11 hopefully streams everywhere are going to me much nicer post 0.10, writing stream implementations is stupid crazy now 01:05:08 agree 01:09:33 we could have a core-0.10 branch to play around in for now and just merge it into master when we're ready 01:12:03 mbalho: I was just about to submit a PR for concat-stream a Buffer('... Array ...') bug but I see it's fixed! 01:12:19 rvagg: yep published earlier 01:12:23 rvagg: (to npm) 01:12:29 mmm, tied to ~0.0.9, hence no update for me 01:12:32 rvagg: such a dumb mistake hehehe 01:12:35 good stuff! 01:17:48 * yorick quit (Remote host closed the connection) 01:20:17 mbalho: the funny thing is that it's been working for me because the Buffers that I'm using in LevelUP that get passed to concat-stream actually have a .concat method, so the arr.reduce() in concat-stream works as it should 01:20:26 bufferstream adds a concat method to buffers 01:20:41 but when I remove bufferstream for my simple-bufferstream there is no .concat and the bug shows up! 01:26:07 * dguttman quit (Quit: dguttman) 01:32:37 rvagg: I think we should remove the sqlite3 benchmarks completely 01:32:52 we already know they are slow as dirt 01:33:03 ralphtheninja: you don't enjoy mocking the speed? 01:33:42 I guess we can comment them out and let people run them if they want to see, but it's nice to be able to give an accurate answer to: "why leveldb and not sqlite?" 01:34:09 I enjoyed it the first time :) 01:34:15 now it just takes time from me 01:35:06 commenting out is a good workaround 01:35:16 yeah, fair enough, perhaps comment them out and push to master, as long as they can be easily run if desired 01:35:43 can have a command line flag to index.js 01:36:35 just comment out all the sqlite lines in test/benchmarks/tests/index.js and it should be good to go 01:36:52 'node index.js --sqlite3' or something 01:37:01 nah, just comment in the code 01:37:08 check 01:40:29 * tilgovi quit (Remote host closed the connection) 01:52:43 rvagg: pushing directly to rvagg/master then 01:53:07 ✔ 02:03:29 * nk109 quit (Quit: Computer has gone to sleep.) 02:16:47 defunctzombie: I thought some more about widgets 02:17:24 I think i'll make a polymorphic view function where view(thing) -> DOMElement 02:17:43 that way insert can use that and it's not hardcoupled to thing.view 02:24:15 substack: idea! 02:24:37 what if tape used a library for outputting TAP 02:24:52 that did the buffering of the TAP end message 02:25:09 then multiple TAP outputting test libraries can be used together as long as they all use the same tap outputter library 02:25:28 which means I can use multiple test libraries / frameworks and run them in a single test suite on testling ci 02:36:21 somethign is wrong :( 02:36:25 I want to write some code 02:36:30 and im writing modulare code depth first 02:36:48 so im not like 3 modules deep and I need to write and finish 3 modules before I can write the code I wanted to originally writ 02:56:19 Raynos: seems a bit too abstract 02:56:25 tap itself it too abstract 02:56:37 tape is imperative and self-contained 02:57:18 isaacs: when someone logs in to npm-www do they get an npm session created to do stuff with? I'm wondering if things like profile changes are done via that or if they're done by a couch admin user on behalf of the user 02:58:44 substack: I want it to be able to use two different tap exporting test libraries 02:58:53 but able to run one test suite made out of both of them 02:59:09 right now these two libraries both write their own TAP tests done message to console.log 02:59:13 which breaks in testling ci 02:59:17 * evbogue joined 03:03:27 substack: what do you mean by self-contained? 03:05:56 Raynos: maybe each of the test files should just run separately 03:06:04 substack: can testling CI do that? 03:06:05 that's an issue with testling-ci, not tape 03:06:30 the problem is tape pipes into this global thing called console.log 03:06:40 so it's not a bad idea to allow multiple people to share the global resource 03:07:22 solving that shouldn't involve changing tap 03:07:24 *tape 03:07:31 it should involve changing the runner in testling-ci 03:12:42 isaacs: never mind on that question, think I got it 03:29:35 * intabulas quit (Remote host closed the connection) 03:31:04 * intabulas joined 03:37:17 * jibay quit (Quit: Leaving) 03:41:41 * ralphtheninja quit (Ping timeout: 245 seconds) 04:35:15 substack: I cant PR the runner in testling-ci, I can PR tape 05:01:11 * devaholic joined 05:13:00 * evbogue quit (Ping timeout: 244 seconds) 05:18:26 substack: https://github.com/substack/node-browserify/pull/275 05:25:34 oh neat I didn't even node had that 05:32:18 * st_luke quit (Remote host closed the connection) 05:36:18 substack: it doesn't work in IE8 in testling-ci which is weird :/ 05:36:35 well by doesn't work I mean console.time / console.timeEnd doesn't work 05:36:59 I should actually figure out which one failed 05:39:58 I made the tests more explicit so I can see what fails 05:46:36 http://ci.testling.com/Raynos/console-browserify 05:46:38 IE8 ! 05:52:46 substack: what do you think of https://github.com/substack/node-browserify/issues/276 ? 05:53:23 I don't like that at all. 05:53:31 browserify used to shim things 05:53:38 it just bloats the bundles 05:53:56 there's no stopping once you've got .bind() what stops you from shimming everything else? 05:54:04 there's no obvious stopping place 06:00:06 substack: I'm refactoring this https://github.com/substack/tape/blob/master/lib/default_stream.js into a module called console-stream 06:00:10 how should I credit you? 06:00:28 substack: there is no obvouis stopping place but .bind() is a painpoint for me because of phantom and saf5 06:01:20 I'm not too worried about credit 06:01:23 just do whatevs 06:09:57 substack: what about https://github.com/substack/node-browserify/issues/277 ? 06:10:04 i.e. jsonify vs window.JSON 06:13:00 * defunctzombie_zz changed nick to defunctzombie 06:17:53 I don't think tools like browserify should do anything other than bundle in the most minimal way possible 06:18:37 defunctzombie: well all the builtins should be in npm. but should those builtins in NPM favor size or browser support 06:19:21 substack: the awesome thing about npm + ci.testling is that I can refactor parts of tape out and test them using tape and testling so some parts of tape are being tested in isolation even though tape isn't tested on testling itself 06:19:26 I would say support without the expense of language crap 06:19:36 i.e. if you want .bind() just make the consumer shim it 06:19:47 and try to keep crazy things to a minimum 06:20:01 it isn't unreasonable to say older browsers will need some shims 06:20:10 you always have some browser baseline you will target 06:20:49 defunctzombie: is that baseline whatever tape and ci.testling.com support? 06:20:57 ? 06:21:00 because that's the baseline substack cares about because that's what he runs in production 06:21:06 what do you mean? 06:21:14 the browser baseline. 06:21:38 I think the test tools must support the broadest range 06:21:42 I mean I don't care, but I feel bad when tape depends on modules that don't have failing tests in IE6 06:21:57 yes, that is bad imho 06:21:59 it doesnt break tape because tape doesnt use the breaking feature 06:22:28 are you saying tape doesn't work in IE6? 06:22:38 I was under the impression it worked in all the environments 06:23:06 maybe I don't fully follow the issue 06:23:07 defunctzombie: it does 06:23:20 but it may appear it doesnt work because the testling badge on one of its dependents fails 06:23:35 i.e. should it depend on a module which breaks but it doesnt use the breaking features 06:23:57 I think that is fine 06:24:05 why does it matter? 06:24:15 tape's dependencies are only your problem if they cause problems for you 06:24:25 otherwise they are of no concern to you since you only use tape 06:24:33 true it doesnt matter 06:24:45 it just raised a bigger question of whats the browser support for builtins in browserify? 06:25:11 * AvianFlu joined 06:25:38 personally, as much as people want to submit patches for 06:25:55 but really the idea that you can just seemlessly package a builtin for the browser doesn't work 100% of the time 06:25:59 tape will be on testling-ci soon 06:26:07 unless you set out knowing that was the goal imho 06:26:13 I started swapping out tap for tap-parser in the tape test suite 06:26:19 you have to be careful with what you do and how you do it 06:26:37 then I'll fork tt to work in ie6 06:27:02 im writing a version of tt that has a way simpler api 06:27:12 oh cool 06:27:15 I can make it work in IE6 06:27:19 depends whether assert works in IE6 06:27:36 I just need a thing I can use for tape to output tap 06:27:50 But first I need to refactor out tape/lib/render 06:27:52 so I can re-use that 06:27:56 in this new tt guy :P 06:28:58 mbalho: HERETIC! JAVASCRIPT IS PERFECT, RENOUNCE YOUR LIES OR BE FOREVER SHUNNED! 06:29:23 I dunno why you guys care about IE6 honestly 06:29:30 no one is gonna care if you say no to IE6 06:29:35 no one cares about IE6 06:29:58 defunctzombie: I don't care but a testing service does 06:30:14 rvagg: lol 06:30:15 because you make \$ for the for the green IE6 symbol 06:31:06 I don't know that a testing service does either honestly, but again, if someone wants it and will pay for it or do it 06:31:07 then why not 06:31:58 I need a good markdown css theme 06:32:02 why do they not exist haha 06:32:57 * AvianFlu quit (Remote host closed the connection) 06:39:48 * dguttman joined 06:48:13 * dominictarr joined 06:54:53 * dguttman quit (Quit: dguttman) 07:15:38 * intabulas quit (Remote host closed the connection) 07:37:12 Raynos: it is amazing, markdown support 07:37:19 pong 07:37:25 what is amazing? 07:37:34 I added markdown rendering to tryme 07:37:43 so now you can give basic instructions or guides 07:37:48 for the code examples 07:38:10 haven't pushed that version yet.. but is is cool haha 07:40:07 yes its cool 07:40:15 I hope your thing is a better examplifier :p 07:40:35 Raynos: http://imgur.com/wi7jXBq 07:40:39 defunctzombie: can you add a "feature" where it renders a big red box somewhere if an exception is thrown 07:40:47 haha 07:40:56 that means I can use it for my testing needs :p 07:41:05 open the page, is there a red box? test failed 07:41:47 actually I can just add a tiny tap parser to all my things :p 07:41:54 or check the console 07:42:03 i need a tap gui :D 07:44:11 substack: do you have a module that turns console.log into a readable stream? 07:44:21 we should add that to console-stream! 07:48:42 defunctzombie: looks good! 07:49:12 defunctzombie: this is going to be a massive win for my workflow btw 07:49:25 dominictarr: Raynos :D 07:52:04 oh… this is actually EXACTLY what I need right now… 07:52:20 there is some sort of psychic transmissions going on in stackvm 07:52:28 haha 07:55:24 http://ci.testling.com/Raynos/tap-render :D 07:55:26 IE6. 08:13:34 impressive 08:15:03 testling has an evil effect because that little red flag compels you to make those tests pass 08:19:50 yay 08:20:23 dominictarr: it infects you with the "make this code work in browsers that I don't personally use" virus 08:20:30 best kind of virus 08:20:39 yes 08:21:03 you need mobile browsers too, though 08:21:15 pkrumins is working on it 08:21:23 execlent 08:24:41 substack: https://github.com/substack/tape/pull/18 08:25:03 Next is a tap-assert module that works in IE6 08:25:19 neat 08:26:25 Actually maybe next is sleep 08:26:26 at least this will get IE6 users using browserify 08:26:26 maybe not :D 08:26:45 dominictarr: indeed 08:29:13 substack: http://browserify.org/search search for tap 08:29:22 tap-render has the as testling thing but it's not shown :( 08:29:34 also that search with test results is fucking genious 08:29:40 we need that as a standalone thing 08:29:45 and also with travis-ci information 08:30:02 actually that just needs to be added to npm-search, cc isaacs 08:36:38 Raynos: it only polls npm for changes every 5 or 10 minutes I think 08:36:50 I see 08:36:58 it already is a standlone thing in fact! 08:37:24 well it's a tiny thing that uses https://github.com/substack/npm-package-sync and https://github.com/substack/npm-package-search 08:38:57 so many duplicates too 08:39:06 I'll have to squish that bug at some point 08:39:22 travis-ci badges in search would be pretty great too 08:39:40 npm search could be much better 08:40:01 well the fact that, the search there is fast 08:40:04 is fucking win :p 08:46:20 what I need are tiny modules to replace this npm crap 08:46:37 first module is "read package.json" and give me metadata breakdown of the dependencies 08:46:49 is it a registry dep, tarbal, or github dep 08:52:46 defunctzombie: can you push your tryme thing? I want to use it. 08:56:39 dominictarr: Raynos: http://tryme.jitsu.com/shtylman/tryme/doc/intro/ 08:56:45 dominictarr: https://github.com/shtylman/tryme 08:56:46 dominictarr: What do you think of datomic? (relevant: http://www.infoq.com/presentations/Datomic-Database-Value) 08:57:04 it is still rough around the edges.. and the local only mode (in the bin folder) is broken currently I think 08:58:25 um, sure it's okay 08:58:48 node view.js is where you probably want to start 08:59:05 I guess it's an interesting take on a traditional database - but it's not really revolutionaly, I think. 08:59:10 still centralized, etc 08:59:18 defunctzombie: thanks 08:59:28 Raynos: https://github.com/shtylman/tryme/blob/master/doc/intro/index.js that is the tryme doc dogfooding itself :) 09:00:02 Raynos: also, you can do arbitrary dirs now 09:02:21 defunctzombie: if you select the markdown 09:02:24 it renders in text 09:02:27 and doesnt render back to markdown 09:02:42 Raynos: yea, known bug in how I render markdown stuff currently 09:03:12 defunctzombie: can I use that with browserify? 09:03:22 dominictarr: what do you mean? 09:03:45 dominictarr: http://tryme.jitsu.com/shtylman/typeahead/example/ 09:03:49 dominictarr: point it at any js file. It will browserify it. and it will git clone your repo and run npm install 09:03:50 see line 1 09:03:58 yes, what Raynos said 09:04:06 except in a different order :p 09:04:52 ah, yes that is what I want 09:05:32 I WANT IT TO 09:05:33 IT'S EBLIZZLE! 09:07:47 k, it is pretty late.. I am out 09:07:56 if you have comments open issues :) 09:08:24 and make some tryme examples! 09:08:29 defunctzombie: to be honest, I find the zig zag and the transition from dark to light a bit hard on the eyes 09:08:58 I'd go dark-dark or light-light 09:09:21 dominictarr: all that is carry over from the interactive module with no styling changes yet 09:09:31 if it suits your example better you can just style that differently 09:09:42 by having a style.css in your project folder 09:09:43 of course 09:09:46 but yea 09:09:51 styling will need to be worked on 09:10:01 I might go with solarized light 09:10:08 to make it easier on the eyes 09:10:12 with the white backgrounds 09:11:43 * defunctzombie changed nick to defunctzombie_zz 09:24:53 defunctzombie_zz: this is pretty good, but i'd rather generate a static site, rather than a server 09:27:42 dominictarr: You should be able to use it locally too 09:27:56 https://github.com/shtylman/tryme 09:28:02 I want to deploy it as a static page 09:28:11 https://github.com/shtylman/tryme/blob/master/view.js view command 09:28:53 oh wait 09:28:56 thats not how you do local 09:29:27 https://github.com/shtylman/tryme/blob/master/bin/tryme 09:32:15 you have to make the router work statically, that's the challenge :p 09:32:52 I just want to pass a path to the file to use 09:56:48 FUCK 09:56:54 im writing another test framework 09:56:56 how did this happen 09:58:24 Raynos: WHY? 10:00:07 because i dont like tapoe's api 10:00:08 * fotoverite quit (Quit: fotoverite) 10:00:13 nor tt's api 10:00:17 and wanted to write something really simple 10:00:20 except its not really simple 10:00:22 so I failed 10:00:24 I will finish it 10:00:27 then cut my wrists 10:07:33 dont do that raynos 10:07:40 TOO LATE 10:07:40 HE'S ALL "WANNA POUNDA DOPE" AND I SAY YES SIR AND THE NEXT THING I KNOW HE'S REALLY POUNDING IT INTO MY FACE!!!!!! THEN I REALIZE I AM THE DOPE. 10:07:42 IT IS BEING DONE 10:07:42 HOWEVER THAT WORD IS SPELLED 10:07:56 SOMEONE CALL THE HOSPITAL 10:07:56 I AM TRYING TO RUN A LEGITIMATE BUSINESS HERE 10:08:24 WE GOTTA GET RAYNOS TO A CIVILLIZED NATION, ASAP 10:08:24 MY UNCLE USED TO TOUCH MY FESCUE WHENEVER HE'D BABY SITE ME WHILE MY PARENTS WOULD GO TO A MOTEL 10:09:45 Raynos: if you are going to make a test framework, please make it declarative and functional 10:12:45 wrong problem 10:12:48 not now 10:12:51 I want to finish this 10:12:53 OCD 10:22:19 name the test framework ocd-test 10:28:37 https://github.com/Raynos/tap-assert 10:30:16 * ins0mnia joined 10:34:06 * fotoverite joined 10:37:16 Raynos: okay, good one. 10:37:32 that is gonna make porting some old tests way easier 10:37:33 dominictarr: still in vietnam? 10:37:44 fotoverite: back in NZ! 10:37:53 Ah hope you're enjoying 10:38:10 it's summer time again! 10:38:10 * ralphtheninja joined 10:38:18 yay 10:38:36 it's fucking freezing here. :( 10:38:50 yeah 10:39:06 it's amazing how much effect the summer time has on people's happyness 10:39:10 (sorry to rub it in) 10:39:26 when are you off on your trip? 10:39:26 it'll be warm soon enough 10:39:42 the tropics is different 10:40:05 it doesn't feel like that in the tropics, because it's just hot all the time 10:42:40 * ins0mnia quit (Ping timeout: 252 seconds) 10:43:08 still, the tropics is great, wish I was coming to india! 10:43:19 or thailand 10:43:24 we'll miss you there. 10:43:28 dominictarr: I'm going to patch pause-stream to be IE6 tolerant 10:43:29 you still can come to india! 10:43:36 Raynos: cool! 10:44:13 fotoverite: too busy + I already have my flights to ireland 10:44:24 when you going to ireland? 10:44:29 march 10:44:29 will be there in april for ull 10:44:53 I'll be there, I don't if i'll go to ull 10:45:11 you should it's going to be amazing I mean it's paul 10:45:30 excited to see what cian is up too. 10:45:46 is it remotely related to realtime / mobile stuff? 10:45:54 mobile design 10:46:19 oh i see 10:47:03 Actually, I've become interested in that recently. 10:47:13 then go! 10:47:23 Ask paul if he can still get you an earlybird price. 10:47:35 I'll get cian to pull some strings 10:47:58 if you do that you might end up speaking. ;D 10:48:06 he's good at that kind of stuff 10:58:09 ull? 10:58:26 http://2013.ull.ie/ 10:58:32 danke 11:03:27 dominictarr: https://github.com/dominictarr/pause-stream/pull/2 11:03:29 I think that's the only one 11:09:04 merging 11:10:55 Raynos: one day your biographers might read that PR so you should have mentioned IE compatibility in the PR 11:11:04 :D 11:11:06 lol! 11:18:25 hehe 11:33:21 * ins0mnia joined 11:48:57 * ralphtheninja quit (Ping timeout: 276 seconds) 11:50:15 * fotoverite quit (Quit: fotoverite) 11:52:26 * intabulas joined 11:52:54 ok https://github.com/Raynos/assert-tap <- is kind of done now 11:57:06 * intabulas quit (Ping timeout: 256 seconds) 12:24:10 https://github.com/Raynos/assert-tap#example-with-test-interface 12:28:35 * fotoverite joined 12:34:33 substack: https://github.com/Raynos/assert-tap <- I finished it 12:53:06 * shuaib joined 13:09:28 * yorick joined 13:09:28 * yorick quit (Changing host) 13:09:28 * yorick joined 13:23:37 * intabulas joined 13:43:58 * evbogue joined 13:48:03 * dominictarr quit (Quit: dominictarr) 14:01:38 * AvianFlu joined 14:16:12 * evbogue quit (Remote host closed the connection) 14:23:14 * evbogue joined 14:30:59 * evbogue quit (Remote host closed the connection) 14:42:14 * mikolalysenko joined 14:49:00 * tilgovi joined 14:49:21 Ok, quick question: What is the easiest/most portable way to create a named fifo in node.js? 14:49:45 I could just call mkfifo but I don't think that works on windows (unless I am wrong?) 14:50:02 basically by writing a c wrapper 15:03:08 mikolalysenko: why not just use an Array? also i have seen https://github.com/trevnorris/cbuffer 15:04:18 it implements pointers with fixed size array 15:43:57 guybrush: well, I need them in order to interface with LaTeX 15:44:03 which is kind of a terrible program... 15:44:24 basically it has no good way to redirect its output to stdout 15:44:44 I've decided to give up on using streams with it and instead I am just running the whole mess from a temporary directory 15:45:23 oh i think i misunderstood your usecase 15:45:51 yeah, basically I want to create a simpler module for calling latex 15:46:09 so you can do something like: require("latexify")("A x = b") 15:46:28 and you get a image? 15:46:34 and it will give you a stream 15:46:41 probably in dvi format 15:46:54 that you can then pass through image magick or something to convert into whatever format you like 15:47:19 I am debating whether I should try to massage the output into something more manageable than DVI 15:47:29 since 99% of the users are probably going to want a png anyway 15:47:38 but dvi is a little more flexible since it can be scaled 15:47:48 and there are ways to conver it directly to jpg or svg 15:47:53 there is also this mathjax lib or whats it called 15:47:56 and it is also easier 15:47:57 im sure you know it 15:47:59 yeah, but it is different 15:48:15 mathjax is for web pages, and doesn't really implement latex syntax 15:48:26 I just want a thing to quickly compile and render mathmode expressions 15:48:31 with full latex flexibility 15:49:38 for example, one application I am thinking of for this is to use it to generate images for equations so I can preprocess markdown files 15:49:50 then I can use latex in my github readmes 15:50:05 i think i cant help you at all, but maybe you can look into other modules which interact with such kind of programs - like gm https://github.com/aheckmann/gm 15:51:43 basically it spawns image/graphics-magic with require('child_process') and pipes in your command 15:51:50 yeah 15:52:05 I think that is probably the right way to do it 15:56:58 mikolalysenko: haha! once i did a php-app where you can put in latex-syntax in a form and it prints the image into a directory with a hash of the input, it was badass :p 15:57:28 neat 15:57:38 I am thinking about a more direct application though 15:57:53 just base64 encode the images as a data url, and then stick those directly in the document 15:58:05 so you could have github markdown formatted readmes with latex equations 15:58:07 oh i think that would be pretty usefull 15:58:31 yeah, I want to make a preprocess using this library to add math to my github pages 16:01:18 the thing with latex is, its hard to install (sure if you use it all the time you really know how to do it well) 16:01:41 yeah, though on linux it isn't so bad 16:01:55 at least via debian you can just install the latest package 16:02:00 at least its a lot, with all those extensions and stuff 16:02:07 that is true 16:02:11 its like 500mb 16:02:12 latex is a beast 16:02:28 or even a gig, didnt do much latex lately 16:02:31 yeah, I freely acknowledge that it is a terrible piece of software 16:02:42 so i think it would be cool to have a box running somewhere 16:02:45 with a webapi 16:02:49 yeah 16:02:55 where you paste your stuff and get the image pdf or what ever 16:03:07 I think there are a few services that already do this 16:03:27 but sometimes you want to run it locally 16:03:35 right 16:03:38 maybe you want custom packages, for example to do commutative diagrams 16:04:19 also maybe you just want the extra certainty that some remote service isn't going to go down and kill your site with it 16:04:30 * dguttman joined 16:04:38 since many of these services don't have a clear profit model, and don't seem likely to live too long 16:06:18 damn profit 16:07:03 well, I think it is something you should look for if you are planning on using a service 16:07:16 otherwise you can't really count on it to be there indefinitely 16:07:24 i agree 16:08:18 although I have been messing around with building service wrappers... 16:08:34 like this one: https://github.com/mikolalysenko/ShapeWaysJS 16:08:40 3d printing in javascript! 16:09:03 ha i read your blogpost about it, enjoyed it a lot :D 16:09:27 yeah, I've been meaning to write a more detailed tutorial on how to use ShapeWays in node 16:09:38 i like to use http://www.random.org/ for funprojects (like a dice-ircbot) 16:10:16 do they have a REST API? 16:11:01 they do but i cant find it right now 16:11:19 ah, there is a wrapper for it 16:11:24 https://npmjs.org/package/node-random 16:11:46 ah nice 16:35:37 * fotoverite quit (Quit: fotoverite) 17:02:04 * shuaib quit (Ping timeout: 256 seconds) 17:03:09 * defunctzombie_zz changed nick to defunctzombie 17:03:10 * shuaib joined 17:08:56 * ins0mnia quit (Ping timeout: 255 seconds) 17:23:40 * ins0mnia joined 17:27:51 * tilgovi quit (Remote host closed the connection) 17:28:41 * mikolalysenko quit (Ping timeout: 252 seconds) 17:29:15 * calvinfo quit (Ping timeout: 240 seconds) 17:31:21 * fotoverite joined 17:41:04 * ralphtheninja joined 17:41:12 * mikolalysenko joined 17:48:57 * calvinfo joined 17:55:43 pkrumins: https badges yet? 18:00:26 * mikolalysenko quit (Ping timeout: 245 seconds) 18:05:52 https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-snc6/774735_10200223866576567_396730662_o.jpg :D 18:06:28 wow 18:06:45 My friend Daisy made that 18:14:32 Alright friends I am going to bed! 18:14:35 It's that time 18:18:41 * mikolalysenko joined 18:23:17 * yorick quit (Remote host closed the connection) 18:34:11 * mikolalysenko quit (Ping timeout: 245 seconds) 18:52:28 * mikolalysenko joined 18:57:06 * intabulas quit (Remote host closed the connection) 19:02:18 * mikolalysenko quit (Ping timeout: 256 seconds) 19:09:25 isaacs: is there a module to read package.json and return metadata info about the types of dependencies(ie github, tarbal, registry, etc) and would you be interested in such a module? 19:09:43 defunctzombie: there's read-package-json 19:09:52 defunctzombie: give it a file, it'll give you the object 19:10:05 defunctzombie: parses /**package **/ comments, loads defaults, etc. 19:10:39 what does it return for dependencies? 19:10:44 defunctzombie: just the object from the json 19:11:00 ah.. I am talking about something that will tell me what the type of the dependency is 19:11:04 based on the "version" string 19:11:17 so you can know if it is a github dep, tarbal, or registry lookup 19:11:23 defunctzombie: npmjust parses the values to get the type. it has to do that anyway, though, since you can do npm install [email protected]://github.com/isaacs/node-glob or npm install isaacs/node-glob or npm install [email protected] 19:11:37 would you consider that in scope of read-package-json 19:11:39 on the command line 19:11:43 not really 19:11:58 maybe a separate module or something 19:12:13 basically I want to simplify npm install programatic running and such 19:12:14 defunctzombie: it'd have to repeat the logic that's already in lib/cache.js, so i probably wouldn't use it in npm 19:12:29 defunctzombie: how would that sipmlify npm programmatic running? 19:12:41 defunctzombie: you can just do npm.commands.install([any, old stuff], cb) 19:12:47 so right now the npm api relies on quite a number of globals 19:12:57 globals? 19:13:05 yea 19:13:11 id on't follow 19:13:12 what's global? 19:13:34 https://github.com/shtylman/tryme/blob/master/npm.js#L20 19:13:42 so calling .load two times doesn't do anything 19:13:48 the module 'npm' is basically a global 19:14:00 .load just initializes it but doesn't return you an "instance" 19:14:05 that is independent of other instances 19:14:14 so I had to do the thing on line 29 19:14:25 before I was trying to load twice 19:14:31 defunctzombie: oh, ok, so that's a very different issue. 19:14:43 defunctzombie: i'd be happy to take a patch to make load() return a new instance. 19:14:44 well, that is cause config is global to npm 19:14:49 defunctzombie: exactly 19:14:51 that would be cool 19:15:09 defunctzombie: but you can create a new config that inherits from some other one 19:15:12 cause that gave me some minor headache. I was able to patch around it but it was totally unexpected 19:15:37 also, line 13 19:15:46 where I have to explicitly make the node_modules dir 19:15:52 because I think it gets created on .load 19:16:08 defunctzombie: you can set the prefix explicitly in your conf obj 19:16:20 isaacs: doesn't work on multiple calls 19:16:31 cause of the if (loaded) check in npm.js 19:16:35 (npm.js in the npm repo) 19:16:40 the loaded var is a global 19:16:50 I tried making it per config but that broke other stuff 19:16:51 defunctzombie: yes, npm is a singleton 19:17:08 defunctzombie: npm.load() should return an isolated instance. 19:17:13 defunctzombie: but it doesn't 19:17:18 right 19:17:35 defunctzombie: then you could do npm.load({prefix:wherever}, function(er, mynpm) { ... }) 19:17:36 would it be a challenge to make it return an isolated instance? 19:17:40 correct 19:17:43 that is what I tried at first 19:17:45 defunctzombie: not for me, if you send a patch, that works :) 19:17:51 but then discovered the issues 19:17:57 (i mean, it would not be a challenge for me to accept a working patch that does this) 19:18:01 * mirkok joined 19:18:11 isaacs: cool, do you have any thoughts on what would be the biggest "problem" 19:18:13 as for how much of a challenge it would be to implement? i don't know 19:18:18 looking at the code it seemed almost there 19:18:21 defunctzombie: yeah 19:18:27 the only tricky thing is getting all the config shit working right 19:18:31 just maybe need to have an object that is the "npm" isolated instance 19:18:34 yea 19:19:01 defunctzombie: so what you need to do is load all the config files etc, then have each npm instance have their own cli confi, and their own npmconf object that inherits from the "root" one 19:19:17 k 19:19:22 defunctzombie: since you probably don't want to read the npmrc files over and over again 19:20:05 is there a notion of an "instance" currently 19:20:14 I didn't really find it in the npm.js file 19:20:22 defunctzombie: no, it's kind of assumed to be a singleton 19:20:26 gotcha 19:20:34 defunctzombie: it's just sort of evolved that way, and i never needed more than once instance of npm 19:20:39 so i never bothered to build it that way 19:20:44 yea, from a CLI that makes sense 19:20:51 but if YOU need that, then you should build it :) 19:20:55 :) 19:24:21 isaacs: question about node module lookup, when inside a child dir of project foo and you do require('foo'), it looks in all the node_modules folders starting from where you are up the tree for a folder called 'foo', any reason folders with package.json are not checked for name 'foo' ? 19:24:27 * AvianFlu quit (Remote host closed the connection) 19:25:46 isaacs: I often find that in examples I will write require('../') to access the project versus require('foo') which is what I really want to write 19:26:20 * mikolalysenko joined 19:26:20 defunctzombie: require('foo') would work if your package is installed in a node_modules folder 19:26:32 defunctzombie: but often if you're the top-level app, or in development etc, it's not 19:26:42 defunctzombie: internally in your package, you should always use require('./whatever') 19:26:56 defunctzombie: require('top-level') should only be for builtins and dependencies 19:27:05 defunctzombie: ie, "external" to your current package 19:27:28 right, but in the case of examples, if you want to make them look "stand alone" 19:27:31 if that makes sense 19:27:53 https://github.com/shtylman/typeahead/blob/master/example/index.js 19:28:06 defunctzombie: in the README.md, I do require('foo'). in examples/blah.js i do require('../') 19:28:19 I like having the require('typeahead') there cause require('../') would be kinda useless 19:28:50 basically from an actual code example running/using/copying standpoint I suppose 19:32:22 "npm selflink" could be kinda interesting 19:32:31 to make a symlink in node_modules back to self haha 19:33:10 imho a good example should be copy/pastable :D 19:36:12 defunctzombie: then write your example in a ` in your README file 19:36:30 defunctzombie: if you need many files of examples, then maybe your lib is too complicated. 19:44:11 * ins0mnia quit (Ping timeout: 245 seconds) 19:50:15 * shuaib quit (Ping timeout: 260 seconds) 19:52:39 * shuaib joined 19:55:17 isaacs: it isn't about many files.. it is about an example being something is a copy/paste code snippet 19:56:12 if I want to provide many examples that says nothing about my lib 19:56:19 it just means i might want to provide many examples 19:57:25 * ins0mnia joined 19:58:16 defunctzombie: i usually put the example in the readme 19:58:21 defunctzombie: so it is copy-pasteable 19:58:29 and also shows up by default when someoen looks at the docs 19:58:44 isaacs: this is about interactive examples and the stuff I am trying to do with tryme :) 19:58:59 readme examples are cool, but interactive are way better :) 19:59:29 defunctzombie: sure. 19:59:38 in that case, just do requirE('../') 19:59:48 * yorick joined 19:59:49 * yorick quit (Changing host) 19:59:49 * yorick joined 19:59:58 defunctzombie: i mean... you want them to run by default when the user checks out your git repo, right? 20:00:30 less about the user checking it out 20:00:37 and more about using the online tool if you want 20:01:29 depends on the target of the example 20:01:38 in this case I am focusing on web based things 20:01:47 which don't just "run" without some harness or such 20:02:03 isaacs: http://tryme.jitsu.com/shtylman/tryme/doc/intro/ 20:02:21 defunctzombie: ok. so, there are basically two options: use require('../') or put the module in a node_modules folder. 20:02:27 so the demos are all "node" modules 20:02:28 defunctzombie: the node module system is locked. 20:02:32 k 20:02:36 yea, I got that part 20:02:55 I just wanted to know if there was a reason for not referencing the package.json in a dir if available? 20:03:01 defunctzombie: because it's another thing. 20:03:08 defunctzombie: and we wnat to have fewer things 20:03:14 * mikolalysenko quit (Ping timeout: 252 seconds) 20:03:22 defunctzombie: require('foo') --> something at .../node_modules/foo 20:03:33 * st_luke joined 20:03:36 gotcha 20:03:37 defunctzombie: not something with "name":"foo" in a package.json file 20:03:51 defunctzombie: locked since 0.4 :) 20:04:01 yea, I know it hasn't changed 20:04:06 :) 20:04:20 I think npm selflink could be cool 20:04:49 basically 20:04:56 npm link && npm link "foo" 20:05:42 defunctzombie: meh. 20:05:51 defunctzombie: i just have all my node modules in a folder called "node_modules" 20:06:05 ln -s ~/projects ~/node_modules 20:06:06 done 20:06:36 hm, seems like a hackish thing to get around what you really wanted to do :) 20:06:48 it's actually nice 20:06:54 i can access all my modules all the time 20:07:15 so you just wnat to globally install them :p 20:08:28 i just npm install to ~/node_modules after i publish, just to keep ongoing projects separate 20:09:17 * mikolalysenko joined 20:09:26 I just npm install -g since npm/node are already in my home dir 20:09:32 if I really want some module 20:09:45 but generally I don't do that 20:09:52 I like to keep deps on a per project 20:10:05 and don't want random leakage from anything I might have installed globally 20:10:14 makes it easier to forget to add deps 20:15:53 substack: ping 20:16:02 * ITpro joined 20:25:05 * yuriy_nemtsov joined 20:26:27 * alunny joined 20:34:12 * mikeal quit (Quit: Leaving.) 20:35:14 * mikolalysenko quit (Ping timeout: 256 seconds) 20:39:54 * mirkok_ joined 20:42:03 * exit2 joined 20:42:10 * mirkok quit (Ping timeout: 256 seconds) 20:42:10 * mirkok_ changed nick to mirkok 20:44:11 * alunny quit (Ping timeout: 245 seconds) 20:53:35 mbalho: your video is up 20:53:47 yay empire videos! 20:59:56 * shuaib quit (Quit: Textual IRC Client: http://www.textualapp.com/) 21:00:25 st_luke: lololol 21:00:37 st_luke: xoxo xXhugsXx 21:00:59 mbalho: it looks great max 21:01:12 mbalho: let me fix the title actually 21:01:29 have a million fucking google accounts now 21:01:58 mbalho: I'm trying to get phone gap and node working, where do I begin (or how do I) install node to it? 21:02:52 exit2: i havent done that before 21:03:12 mbalho: oic, I thought you used node with gather? 21:04:06 exit2: yea but just on the server 21:04:15 mbalho: look at the category i assigned to the video 21:04:25 LOL 21:04:27 * mikeal joined 21:04:36 https://twitter.com/maxogden/status/295638297588408322 21:04:54 that's probably why those related videos are showing up haha 21:05:24 mbalho: do you think it would be possible to use express with phone gap? 21:06:01 exit2: i used flatiron/director in my client side code but i dont think express would run in a browser 21:06:18 isaacs: npm uses graceful-fs 21:06:23 gmail reported a 'suspicious login from oakland' heh 21:06:27 which monkey patches the environment 21:06:27 defunctzombie: yes 21:06:38 holy balls.. is there a way to have it not do that? 21:06:51 defunctzombie: meh. 21:06:53 i dunno 21:07:05 I am all for monkey patching on your own project.. but a lib.. bah! 21:07:20 not really "meh" imho 21:08:41 I mean.. why not just use graceful fs within your project? 21:08:57 defunctzombie: patch welcome 21:09:09 defunctzombie: imo, fs should just behave that way 21:09:13 EMFILE is stupid 21:09:28 well, that is a different discussion 21:09:35 unrelated to bad library behavior :) 21:10:45 * ins0mnia quit (Ping timeout: 252 seconds) 21:15:56 isaacs: from a CLI standpoint again it doesn't matter, but it just seems really annoying when the lib does these things if it doesn't have to 21:20:31 * ins0mnia joined 21:22:11 * yuriy_nemtsov quit (Quit: yuriy_nemtsov) 21:32:06 * ralphtheninja quit (Ping timeout: 245 seconds) 21:33:39 * AvianFlu joined 21:38:28 * mirkok quit (Quit: mirkok) 21:39:19 * xerver joined 21:41:39 * [1]rolnaaba joined 21:42:06 * rolnaaba quit (Ping timeout: 264 seconds) 21:42:06 * [1]rolnaaba changed nick to rolnaaba 21:44:34 * xerver quit (Ping timeout: 260 seconds) 21:56:59 * ITpro quit 21:58:20 * yuriy_nemtsov joined 22:00:54 * yuriy_nemtsov quit (Client Quit) 22:09:00 * exit2 quit (Remote host closed the connection) 22:10:16 * ralphtheninja joined 22:40:36 isaacs: sent a PR with a tiny fix on npmconf due to a missing dep, was causing an issue on something I'm using it for 22:47:52 isaacs: can I capture npm log output? 22:48:02 I see the npm.registry.log stuff 22:48:12 but what about things logged during install, not from the registry? 22:49:14 >> file 22:49:15 st_luke: ReferenceError: file is not defined 22:49:25 lmao wut 22:49:42 >> / 22:49:43 st_luke: SyntaxError: Invalid regular expression: missing / 22:49:58 >> /.*/ 22:49:59 st_luke: (object) /.*/ 22:52:30 >> 1+2 22:52:30 substack: (number) 3 22:52:44 defunctzombie: pong 22:53:12 substack: nvm, I found a different solution :p (or at least better understand hte problem) 22:57:22 * devaholic quit (Read error: Connection reset by peer) 22:57:50 * devaholic joined 23:09:54 * mikolalysenko joined 23:12:07 >> 1/0 23:12:08 ralphtheninja: (number) Infinity 23:12:12 cool :) 23:24:49 * dominictarr joined 23:37:45 isaacs: I am still seeing that error with "module is not in the npm registry" when I try to install something using the shortform git syntax 23:38:06 isaacs: npm -v 1.2.3 23:38:17 * ins0mnia quit (Ping timeout: 256 seconds) 23:39:33 * nk109 joined 23:49:38 * AvianFlu quit (Remote host closed the connection)