00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:01:56  <dominictarr>absolutely
00:03:28  <dominictarr>tests are the key to project scale
00:04:00  <substack>and smallness
00:04:13  <substack>breaking things up into tiny pieces that have independent tests and independent versioning
00:04:55  <chrisdickinson>the only thing that bites me with small modules is when i have to bump the version of one that several others depend on, who themselves depend on each other
00:05:21  <chrisdickinson>and it's not really a "bites me" sort of thing, it's more of a "i am going to be spending dedicated time to bumping all of the appropriate versions" thing.
00:06:11  <substack>annoying but better than the alternative
00:06:25  <chrisdickinson>yeah
00:06:28  <substack>where you update everything at once everywhere
00:06:42  <substack>google's core code base is actually like that from what I've heard
00:07:28  <substack>and they have very good static analysis tools to make sure that all methods will be updated appropriately whenever an api changes
00:08:27  * mikolalysenkojoined
00:17:02  * thl0joined
00:17:43  * thl0quit (Remote host closed the connection)
00:17:57  * mikealjoined
00:19:10  * sorensenquit (Ping timeout: 252 seconds)
00:19:13  <jesusabdullah>interesting approach for sure
00:19:45  * thl0joined
00:19:49  * chapelquit (Read error: Operation timed out)
00:22:41  * thl0quit (Remote host closed the connection)
00:27:06  * no9quit (Ping timeout: 264 seconds)
00:30:59  * mikealquit (Quit: Leaving.)
00:46:27  * thl0joined
00:47:10  * timoxleyquit (Quit: Computer has gone to sleep.)
00:49:04  * chapeljoined
00:50:46  * thl0quit (Ping timeout: 252 seconds)
00:51:24  * tmcwquit (Remote host closed the connection)
00:51:25  * sorensenjoined
00:56:55  * ralphtheninjaquit (Ping timeout: 264 seconds)
00:57:03  * ralphtheninjajoined
01:05:00  * shuaibquit (Ping timeout: 252 seconds)
01:16:15  * timoxleyjoined
01:17:10  * dguttmanquit (Quit: dguttman)
01:19:52  <dominictarr>we can easily build tools like that to show which nodes in your $DEV folder depend on this change
01:46:19  * jxsonquit (Ping timeout: 245 seconds)
01:55:09  * thl0joined
02:04:16  * shuaibjoined
02:10:47  * shamaquit (Remote host closed the connection)
02:13:52  * tmcwjoined
02:24:56  * timoxleyquit (Quit: Computer has gone to sleep.)
02:25:22  * ralphtheninjaquit (Ping timeout: 276 seconds)
02:27:21  <rvagg>"@joyent: "The next stable version [of #nodejs] will be the last one to make any semantic changes." - @izs #nodestack"
02:27:45  <rvagg>I interpret that to say: "The next stable version of Node will be the version where we start to see people move off to the next hot new technology"
02:28:19  <Raynos>I'm trying to implement the naive efficient relay server to do basically pubsub
02:28:26  <rvagg>time for No.js eh?
02:28:29  <Raynos>I implemented it using TCP ( https://github.com/Colingo/relay-server#benchmarks ) but it has a really high CPU usage
02:29:04  <Raynos>i cant understand how to do this using low CPU usage
02:34:57  <creationix>I can't wait for no.js
02:35:04  <creationix>raw libuv bindings to js
02:35:28  <creationix>bonus points if libuv is poll style instead of callback style
02:37:32  <creationix>calling into the vm from libuv is always tricky. It's been hard in every language I've written bindings for
02:37:44  <creationix>and it seriously slows down luajit's bindings
02:38:23  * chapelquit (Read error: Operation timed out)
02:39:31  * sorensenquit (Ping timeout: 264 seconds)
02:39:53  * tmcwquit (Remote host closed the connection)
02:48:59  <rvagg>so why are we still talking about no.js and not working on it?
02:49:20  <rvagg>waiting for someone who can be bothered messing in C++ land perhaps
02:49:42  <rvagg>waiting for the Node core team to get sick of Node becoming all enterprisey and ready to move on to something else
02:51:28  * chapeljoined
02:52:07  * sorensenjoined
03:02:06  <thl0>so now us browserify folks can use 'const' without having to worry about compatability: https://github.com/thlorenz/varify
03:07:28  <jesusabdullah>weird
03:10:05  * mikealjoined
03:11:19  * owen1quit (Ping timeout: 264 seconds)
03:18:03  <niftylettuce>Can you guys upvote my brother's webapp for League of Legends called "Draft Demacia" on Reddit? http://www.reddit.com/r/leagueoflegends/rising/ /cc pkrumins substack jesusabdullah elliottcable mbalho Nexxy sorensen tanepiper <3 u guys
03:19:15  * mikealquit (Quit: Leaving.)
03:26:04  * owen1joined
03:30:47  * thl0quit (Remote host closed the connection)
03:55:45  * tilgovi_quit (Ping timeout: 248 seconds)
03:59:18  * tmcwjoined
04:00:23  * fallsemojoined
04:03:08  * tmcwquit (Read error: Connection reset by peer)
04:03:12  * tmcw_joined
04:07:29  * tmcw_quit (Remote host closed the connection)
04:09:58  <Raynos>substack: http://osrc.dfm.io/substack
04:10:09  <Raynos>So in the future when I have an issue I will do it on thursday in the evening
04:10:45  * thl0joined
04:10:59  <mbalho>im glad that dfm.io site removed 'brogrammer' from the descriptions
04:11:24  * timoxleyjoined
04:12:06  <jesusabdullah>I think it's slightly broken, it looks like my code contributions to big company aren't being included
04:12:14  <jesusabdullah>so it thinks I'm a "weekend warrior"
04:12:30  <jesusabdullah>because that's when I'm more likely to push for-me-only code
04:12:43  <Nexxy>at least it doesn't call you a brogrammer anymore
04:13:14  <jesusabdullah>yeah that's good
04:15:21  * thl0quit (Ping timeout: 256 seconds)
04:16:28  <Nexxy>(which was absurd in the first place, ruby is way more bro infested than JS)
04:18:39  <rvagg>cause Ruby doesn't have a Nexxy to keep them on their toes?
04:19:22  <Nexxy>I try to do my part but it's a lot more than just me
04:19:35  <Nexxy>the only reason I'm here in the first place is the difference between ruby & JS
04:19:37  <Nexxy>ruby shoved me out
04:19:51  <Nexxy>to put things politely
04:21:07  <substack>Raynos: I think those graphs are really skewed by outliers
04:22:58  <substack>when I did some ruby I wasn't ever invested in the community
04:23:32  <substack>didn't really pull me in the way that node did
04:23:41  <Nexxy>yeah
04:23:46  <substack>although node was really crappy in the early days before npm came around
04:23:46  <Nexxy>I went to the community to learn
04:23:54  <Nexxy>and was told very clearly that I wasn't supposed to
04:24:12  <Raynos>substack: thats just because you landed commits on a project that uses ruby
04:24:15  <Raynos>not because you did ruby
04:24:24  <substack>ruby has this unfortunate coddling streak where you aren't supposed to ask questions, you're supposed to follow recipes
04:24:58  <substack>Raynos: I created some ruby apps and some modules for some GIS stuff
04:25:34  <substack>my coordinate system module is on a gitorious server still
04:25:37  <substack>BSD licensed
04:25:37  <Raynos>I see
04:26:08  <substack>converts between epsg codes/wkt/that other thing that people use
04:27:46  <mbalho>i like ruby, i could do most of the stuff i do in node in ruby probably, but node is a better fit overall in most areas. and there are lots of nice ruby people. its just that rails got really popular and it created a much larger community really quickly that didnt share the ruby values
04:28:22  <jesusabdullah>I mean for me I just wanted the encouragement
04:28:31  <jesusabdullah>"yeah @jesusabdullah you're workin' hard KEEP AT IT"
04:28:50  <jesusabdullah>instead, "YOU are a 'weekend warrior'"
04:29:37  <mbalho>why is weekend warrior a bad thing? its just describing the data
04:29:51  <jesusabdullah>because it suggests I don't work
04:29:57  <chrisdickinson>i like python, but i don't like how it regards other language communities
04:29:59  * timoxleyquit (Quit: Computer has gone to sleep.)
04:30:34  <mbalho>jesusabdullah: i think youre reading into it too much :D
04:30:35  <chrisdickinson>and a lot of the things i took for granted in the django/flask/python world now strike me as absolutely insane after so long working with node modules
04:30:45  <jesusabdullah>oh, yeah probably
04:30:59  <jesusabdullah>It *is* weird that I push code on Saturdays at 2:00am though
04:31:01  <mbalho>chrisdickinson: i think every language community has a holier-than-thou complex
04:31:02  <jesusabdullah>not sure what that's about
04:31:07  <chrisdickinson>mbalho: true
04:31:16  * timoxleyjoined
04:32:57  * dguttmanjoined
04:33:24  <substack>chrisdickinson: I always found it really hard to do things right in other platforms
04:33:39  <jesusabdullah>okay guys what is this doing Based on this average weekly schedule, we can describe Marak as a fulltime hacker. Since Marak's most active time is around 11pm, I would conclude that Marak works best in the late evening. It is important to note that an attempt has been made to show the daily schedule in the correct time zone but this procedure is imperfect at best.
04:33:45  <jesusabdullah>The following chart shows number of events of different types in Marak's activity stream. In the time frame included in this analysis, Marak's event stream included a total of 103 events and they are all pushes, following, issue comm
04:33:47  <substack>like all the advanced users in perl and python and ruby set up a vendored local package directory
04:33:49  <jesusabdullah>acccchhdjsakldf
04:33:51  <jesusabdullah>fuck
04:33:51  <substack>but that is really freaking hard
04:33:52  <jesusabdullah>you
04:33:53  <jesusabdullah>x11
04:33:54  <jesusabdullah>paste
04:33:54  <substack>in npm it's the default
04:34:16  <jesusabdullah>https://github.com/1602/jugglingdb/blob/master/lib/adapters/cradle.js#L112-L139 This
04:34:24  <jesusabdullah>What is the goal here
04:34:42  <mbalho>looks like it sorta stuff
04:34:45  <mbalho>sorts*
04:35:41  <mbalho>mostly options parsing code
04:35:42  <jesusabdullah>yeah but look deeper, what are those regexpes for? What is it trying to sort against? I feel like I'm running into a nonsequitur here
04:35:53  <mbalho>ascending/descending
04:36:02  <jesusabdullah>ohhhhhh
04:36:08  * dguttmanquit (Client Quit)
04:36:17  <jesusabdullah>well that sounds annoying
04:36:24  <jesusabdullah>oh well at least I know what it's doing now
04:36:29  <jesusabdullah>thanks mbalho
04:37:01  * defunctzombie_zzchanged nick to defunctzombie
04:37:55  <jesusabdullah>yeah, okay
04:44:59  * shuaibquit (Ping timeout: 252 seconds)
04:45:20  * tilgovijoined
04:50:10  <defunctzombie>juliangruber: the way forward for browser-resolve/browserify is for those things to be in browserify
04:50:39  <defunctzombie>juliangruber: I suppose since I removed them from browser-resolve I should make a pull request to browserify
05:06:22  * jxsonjoined
05:06:44  * jxsonquit (Remote host closed the connection)
05:11:43  <defunctzombie>mbalho: I am near a cat
05:12:10  <mbalho>defunctzombie: pics or it didnt happen
05:18:20  <defunctzombie>mbalho: https://www.dropbox.com/s/jjwo95jdmftzr19/IMG_20130521_221309.jpg
05:20:26  <mbalho>whoa
05:20:30  <mbalho>defunctzombie: excellent cat
05:20:46  <defunctzombie>mbalho: it is Raynos's roommates cat
05:22:40  * shuaibjoined
05:23:37  <substack>check this shizzle out http://ci.staging.testling.com/substack/dnode
05:24:01  <mbalho>oooh
05:24:31  <substack>staging all handled by ploy yay
05:24:36  <substack>and a * dns record
05:24:52  <substack>that was pretty freaking cool, I just did `git push ploy master:staging`
05:24:57  <substack>and it totally worked
05:26:55  <defunctzombie>substack: nice
05:27:04  <defunctzombie>substack: when you getting those fancy gif badges :p
05:28:02  <substack>hmmm some bugs in the new rendering, figuring these out
05:28:19  <substack>defunctzombie: need to get the profesh stuff out the door properly first
05:29:29  <defunctzombie>substack: profesh?
05:31:00  * fallsemoquit (Quit: Leaving.)
05:31:11  <substack>defunctzombie: the version for teams with private repos
05:31:19  <defunctzombie>substack: ah, cool
05:31:37  <substack>and by version I mean exactly the same code except they pay us
05:31:57  <defunctzombie>with bitcoins?
05:32:16  <substack>what's an easy way to accept bitcoin?
05:32:35  <substack>such that said bitcoins end up in our bank account so we can pay for hosting etc
05:33:17  <defunctzombie>substack: coinbase or bitpay if you just wnat the dollars
05:33:20  * timoxleyquit (Quit: Textual IRC Client: www.textualapp.com)
05:33:50  * brianloveswords_quit (Excess Flood)
05:33:56  <defunctzombie>substack: I know bitpay does the dollar payout route
05:34:25  <defunctzombie>not sure about coinbase tho but I think they do too iirc
05:34:38  <mbalho>i think the websocket response type is decided by the server
05:34:49  <mbalho>whereas with xhr you can override it to force arraybuffers etc
05:34:58  <mbalho>can anyone verify?
05:35:43  * brianloveswordsjoined
05:35:57  <mbalho>ahhh yea you can only say arraybuffer or blob, but if you are receiving binary you cant get it as ascii
05:37:28  * jcrugzzquit (Ping timeout: 240 seconds)
05:46:04  * jxsonjoined
05:47:03  <mbalho>pretty sweet module https://npmjs.org/package/stringstream
05:52:18  * defunctzombiechanged nick to defunctzombie_zz
06:07:58  <juliangruber>substack: the old version of browser-resolve doesn't have the querystring fixes
06:18:46  * tilgoviquit (Ping timeout: 256 seconds)
06:21:31  * jxsonquit (Remote host closed the connection)
06:38:02  <mbalho>substack: 1787ms 2.52MB /world-bundle.js -> ./node_modules/.bin/browserify ./world.js --fast --noparse=three
06:38:27  <mbalho>substack: 6595ms 6.86MB /world-bundle.js -> ./node_modules/.bin/browserify ./world.js -d
06:38:51  <mbalho>substack: 2122ms 2.52MB /world-bundle.js -> ./node_modules/.bin/browserify ./world.js --fast
06:39:17  <mbalho>substack: 5302ms 2.49MB /world-bundle.js -> ./node_modules/.bin/browserify ./world.js
06:39:49  * mikolalysenkoquit (Ping timeout: 240 seconds)
06:40:23  * tilgovijoined
06:42:03  <substack>mbalho: and the code does require('three')?
06:42:34  <substack>mbalho: try using the absolute file path to three.js
06:42:49  <mbalho>substack: yep
06:42:52  <substack>without --fast
06:42:56  <mbalho>substack: will do
06:43:12  <substack>try just --noparse=three without --fast too
06:43:33  <mbalho>substack: 3833ms 2.49MB /world-bundle.js -> ./node_modules/.bin/browserify ./world.js --noparse=three
06:43:55  <substack>is there just one version of three in your directory tree?
06:44:24  <mbalho>lemme double check, there are lotsa modules at play here
06:45:10  <substack>there could be some other slow bottlekneck files in the pipeline too
06:46:54  <substack>find -name \*.js -type f -exec wc -c {} \; | sort -n
06:53:51  <mbalho>substack: cool got it down to 1619ms 1.54MB /world-bundle.js -> ./node_modules/.bin/browserify ./world.js --fast --noparse=three
06:54:33  <substack>what is it without --fast?
06:54:48  <mbalho>substack: 3346ms 1.5MB /world-bundle.js -> ./node_modules/.bin/browserify ./world.js --noparse=three
06:55:05  <substack>are there any other big files that could be bottleknecks?
06:55:34  <substack>I suppose if you have a giant dependency graph it's just going to take time at any rate
06:56:06  <substack>I'll have the live reload api working soon enough and then it won't matter since you'll only take the up-front hit once
06:58:27  <mbalho>substack: there are 105 modules in the final bundle
06:58:33  <substack>yikes!
06:58:35  <mbalho>substack: three.js is by far the biggest one
06:59:05  <substack><2 sec is pretty good for that many modules I guess
06:59:13  <substack>could always be better of course
06:59:17  <substack>but not doing so terribly
06:59:38  <mbalho>yea
06:59:48  <chrisdickinson>would be great to be able to see where it's actually spending its time
07:00:07  <chrisdickinson>one assumes it'd be the filesystem but it'd be nice to verify
07:00:24  <chrisdickinson>or even to get a graph of the fs calls
07:00:37  * djcoinjoined
07:03:52  <mbalho>heres the distribution of modules http://i.imgur.com/8H2I54R.png
07:03:56  * shuaibquit (Ping timeout: 252 seconds)
07:04:12  <mbalho>the big gap int he middle is three.js
07:04:42  <mbalho>there are some other big-ish ones bug mostly its three.js
07:07:41  * shuaibjoined
07:15:13  <substack>couchdb indexing is taking forever and a half to update >_<
07:16:34  <substack>finally
07:16:44  <substack>fixed! http://ci.staging.testling.com/juliangruber/queryselector
07:17:07  <juliangruber>looks good!
07:19:43  <jesusabdullah>maan this code totally works >:) I feel dirty but it's also kinda awesome
07:19:54  <jesusabdullah>dark magicks indeed
07:20:36  <substack>MAGIX
07:21:15  <jesusabdullah>yeah
07:21:26  <jesusabdullah>EAT IT COUCH
07:21:27  <LOUDBOT>NO LUNCH FOR YOU GET BACK TO WORK
07:23:32  <jesusabdullah>dammit maaan
07:26:41  * no9joined
07:33:11  <substack>juliangruber: looking closely, it seems that now the project results are more accurate than the badge results
07:33:22  <substack>it was the opposite before
07:33:38  <substack>there must be a bug in the badge rendering
07:34:32  <juliangruber>yeah, sometimes the badge is grey although the results are there
07:35:05  <juliangruber>oh btw, can you make the badges double the size, for retina displays?
07:35:13  <juliangruber>the individual browser logos already seem to be
07:35:56  <substack>that part is all in http://github.com/substack/browser-badge if you want to make a pull req
07:38:20  <chrisdickinson>spent like 20-30 minutes with a weird bug in my git-read-pkt-line code. realized it's because i hadn't been sending caps properly to github, so they weren't sending me ofs-deltas, which apparently were secretly broken.
07:38:37  <chrisdickinson>but then things got better.
07:40:46  <jesusabdullah>well that's good
07:46:26  <dominictarr>substack: the new ci.testling is great!
07:46:29  * mikolalysenkojoined
07:51:19  * mikolalysenkoquit (Ping timeout: 245 seconds)
07:51:43  * chapelquit (Ping timeout: 260 seconds)
07:51:54  <substack>all using hyperglue and hyperstream server-side
07:52:20  <substack>so I can repurpose all the rendering logic to make realtime updates work client-side
07:52:34  <dominictarr>oh, this is great, I might use this is my streams talk tomorrow
07:53:56  * chapeljoined
07:54:39  <dominictarr>substack: on the server it just streams text?
07:55:51  <substack>https://gist.github.com/substack/5625947
07:56:26  <substack>the first one is a snippet from the projectPage stream
07:57:38  <substack>there's a couchdb history map/reduce that gets fed into the second example that uses hyperstream which gets fed into the first example stream
07:57:39  <dominictarr>would help if the example included the index.html
07:59:04  <substack>updated
08:00:54  <dominictarr>gotta go get on a bus!
08:00:54  * stagasjoined
08:01:04  <dominictarr>mbalho: see you in a few hours
08:01:05  * dominictarrquit (Quit: dominictarr)
08:01:31  * sorensenquit (Ping timeout: 260 seconds)
08:02:32  <substack>when I do the client-side part of it I'm going to wrap all this hyper{stream,glue} stuff into something more coherent
08:03:08  * sorensenjoined
08:04:15  <substack>I'll use slice-file for the example since it has a very simple tail/follow model that maps well to a simple breakdown of reading existing content and subscribing to new updates
08:06:58  <substack>which should also map well to the couchdb changes feed
08:15:23  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
08:17:03  * dfggquit (Ping timeout: 240 seconds)
08:20:50  <jjjjohnn1y>so creepy https://campaign.soylent.me/soylent-free-your-body
08:21:21  <jjjjohnn1y>the video, that is
08:23:58  * no9quit (Read error: Operation timed out)
08:24:26  * ralphtheninjajoined
08:32:23  <substack>thinking of a good way to hide away the private repo stuff without requiring auth
08:32:52  <substack>an obscure uri secret gist style could work
08:33:32  <substack>or maybe I shouldn't even care about that
08:33:39  <substack>leaking test output seems pretty unimportant
08:37:07  <jjjjohnn1y>depends what the FBI can learn about you form your tests
08:37:35  <jjjjohnn1y>better encrypt that output in case...
08:38:06  <substack>if a company really doesn't want their test output to be accessible they can just pay us lots of money
08:39:57  <jjjjohnn1y>substack's security service
08:40:26  <jjjjohnn1y>is a litte like mob
08:40:30  <jjjjohnn1y>the mob
08:40:40  <jjjjohnn1y>open source mob
08:41:06  <Nexxy>sure is a nice test suite you got here...
08:41:15  <jjjjohnn1y>its good enough for us, its bux 2 b u
08:41:22  <Nexxy>would be a shame if something were to... happen to its output
08:41:54  <jjjjohnn1y>you don't have any special data in there, do you?
08:42:03  * shuaibjoined
08:42:09  <jesusabdullah>heh
08:42:26  <jesusabdullah>how ur Nexxy ?
08:42:49  <Nexxy>jesusabdullah, fantabulous!
08:42:53  <Nexxy>how about yourself
08:43:20  <jesusabdullah>reasonable!
08:43:34  <Nexxy>that makes one of us!
08:43:38  <jesusabdullah>hah!
08:44:05  <jjjjohnn1y>prbably makes one you a liar too >.<
08:45:40  <jjjjohnn1y>reasons who needs em
08:45:41  * mcollinajoined
08:47:35  <jjjjohnn1y>he visible buldge of the bureaucracy, that's who
08:47:38  <jjjjohnn1y>the
08:47:56  <jjjjohnn1y>*goes back to work*
08:52:34  * shuaibquit (Ping timeout: 252 seconds)
08:54:07  <jesusabdullah>umm
08:54:10  <jesusabdullah>words
08:54:16  <jesusabdullah>also low values of "reasonable"
08:54:57  * shuaibjoined
08:56:32  * tmcwjoined
08:58:55  <jjjjohnn1y>LOL http://thenico.me/
09:00:50  * tmcwquit (Ping timeout: 256 seconds)
09:03:02  <jjjjohnn1y>its funny because i clicked an ad to go to that site
09:03:55  <jjjjohnn1y>and i thought it was an ad until I followed thru to the vimeo site and saw its somebody's art project
09:06:34  <substack>scams upon scams
09:07:21  * nicholasfjoined
09:08:55  <jesusabdullah>I'm so confused
09:10:18  <substack>pushing new staging code yay
09:10:38  <jesusabdullah>That's cool
09:11:30  <substack>http://ci.staging.testling.com/substack/dnode
09:11:41  <substack>build output toggle button woo
09:12:37  * shuaibquit (Read error: Connection reset by peer)
09:17:50  * shuaibjoined
09:20:53  * shuaibquit (Read error: Connection reset by peer)
09:26:00  * mcollinaquit (Remote host closed the connection)
09:27:25  * shuaibjoined
09:28:05  <juliangruber>substack: https://github.com/juliangruber/tape-run has a browser option now! so you can do `browserify test/*.js | tape-run -b chrome`
09:28:11  <juliangruber>thanks to browser-launch
09:29:01  <jesusabdullah>that's neat
09:29:03  <substack>nice!
09:29:42  <substack>I should just refactor the testling command to just require tape-run
09:29:57  <juliangruber>browser-run got the same options
09:29:57  <juliangruber>hehe :)
09:30:06  <substack>plus all the extra harnessy things and the package.json logic and integrating with the testling servers
09:30:06  * shuaibquit (Read error: Connection reset by peer)
09:31:46  * jibayjoined
09:35:19  * shuaibjoined
09:42:20  * shuaibquit (Read error: Connection reset by peer)
09:45:56  * mcollinajoined
09:48:21  * shuaibjoined
09:49:06  * ins0mniajoined
09:50:16  <juliangruber>yes!
09:50:21  <juliangruber>substack: https://github.com/substack/hyperglue/pull/10
09:50:55  <juliangruber>this makes the browser verion behave like the server version when doing hyperglue('<td></td>') or glueing other elements that need to be wrapped
09:53:45  * shuaibquit (Read error: Connection reset by peer)
09:56:59  <substack>juliangruber: why not depend on the version from npm?
09:57:38  <juliangruber>substack: which library are you talking about? browser-launcher?
09:57:53  <substack>hyperglue
09:58:32  <substack>nevermind, that commit was overwritten
09:58:44  * shuaibjoined
09:59:05  <juliangruber>where do I depend on the hyperglue git version?
09:59:16  <substack>I was mistaken
09:59:24  <substack>also your patch breaks one of the tests
10:00:04  <substack>browserify test/browser/*.js | tape-run -b chrome
10:00:58  <substack>oh wait the second time it worked
10:01:02  * tilgoviquit (Ping timeout: 252 seconds)
10:01:31  <substack>nevermind again, I was on master
10:03:25  <juliangruber>the only problem with tape-run/browser-run atm is that it doesn't work on travis
10:03:43  <juliangruber>browser-launcher tries to launch firefox although phantomjs was specified
10:10:05  * shuaibquit (Read error: Connection reset by peer)
10:13:39  * dominictarrjoined
10:15:14  * shuaibjoined
10:16:22  * dfggjoined
10:17:37  * nicholasfquit (Ping timeout: 248 seconds)
10:20:10  * dominictarrquit (Ping timeout: 256 seconds)
10:22:24  * stagasquit (Read error: Connection reset by peer)
10:26:04  * shuaibquit (Read error: Connection reset by peer)
10:31:14  * shuaibjoined
10:33:13  * spionjoined
10:48:29  <juliangruber>omfg substack: https://github.com/substack/browser-badge/pull/3
10:48:44  <juliangruber>browser-badges in retina resolution!!1
10:49:47  * mcollina_joined
10:50:40  <substack>can you make that configurable?
10:50:47  <substack>with an option
10:53:17  * mcollinaquit (Ping timeout: 252 seconds)
10:58:33  <jesusabdullah>substack: http://www.unicorn-cove.com/ holy shit
11:08:36  * thl0joined
11:45:38  * nicholasfjoined
11:47:19  * spionquit (Remote host closed the connection)
11:49:51  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
11:58:18  * ins0mniaquit (Ping timeout: 264 seconds)
12:00:40  * ins0mniajoined
12:14:41  <juliangruber>substack: will do
12:15:37  * shuaibjoined
12:15:49  * nicholasfquit (Remote host closed the connection)
12:32:58  * thl0quit (Remote host closed the connection)
12:33:53  * mikolalysenkojoined
12:51:03  * tmcwjoined
12:55:59  * tmcwquit (Read error: Connection reset by peer)
13:03:57  * shuaibquit (Ping timeout: 252 seconds)
13:07:39  * shuaibjoined
13:23:31  * shuaibquit (Quit: Computer has gone to sleep.)
13:29:25  * thl0joined
13:40:17  * mikolalysenkoquit (Ping timeout: 248 seconds)
13:40:18  <juliangruber>substack: i added a scale option to lib and cli so you can create retina badges or thumbnails or whatever things!
13:43:53  <thl0>rvagg: wanted to use leveldb for my project, but I suppose if I do a lot of querying it's not the best option?
13:46:25  <mcollina_>thl0: levelup is insanely fast on read operations (50000 results/seconds on my 2011 MBA). What kind of querying you need?
13:47:07  <thl0>basically am going to store module ratings, user credits, etc. and need t query on that
13:47:56  <thl0>i.e. you search for a module and I reorder whatever npm search returns by ratings that were derived for the module by an analytics step done daily or so
13:48:46  <thl0>mcollina_: this is the project: https://github.com/thlorenz/modurater (may give you a better idea of what I need)
13:55:35  * mikolalysenkojoined
13:56:01  <juliangruber>thl0: levelup can iterate over entries in order in no time
13:56:09  <juliangruber>thl0: just depends on what indexing mechanisms you need
13:56:41  <thl0>but filtering would be done outside of leveldb i.e. on the stream?
13:57:09  <thl0>cause I'd need to first query and then sort
13:57:36  <mcollina_>thl0: you have to create one "index" for each of your query.
13:58:15  <thl0>mcollina_: ok
13:58:48  <thl0>juliangruber: since you understand what I'm trying to do I'll trust you if you tell me that leveldb is a viable option
13:59:10  <thl0>juliangruber: I'll go with it then and show up here with all my questions ;)
13:59:30  <juliangruber>thl0: sure, but you're welcome in ##leveldb as well :)
13:59:40  <mcollina_>I will do something similar to stars:10:modulename stars:11:modulename2 stars:12:modulename3.
13:59:52  <thl0>oh, didnt' know about that channel
14:00:01  * kevino80joined
14:00:02  * thl0joins #leveldb
14:00:21  <mcollina_>Then you can go with a range search start: 'stars:10' end: 'stars:20'
14:01:22  <thl0>mcollina_: don't see any of this in the API (looking at the readme of levelup)
14:01:39  <thl0>mcollina_: are there any examples on how to query leveldb out there?
14:02:10  <mcollina_>It's the approach I'm using for https://github.com/mcollina/node-levelgraph
14:02:31  <mcollina_>You can also use that, if you prefer. I need to update it to levelup 0.9, though.
14:03:01  <thl0>mcollina_: cool, some code to read - exactly what I needed :)
14:16:18  * nicholasfjoined
14:16:44  * jibayquit (Remote host closed the connection)
14:20:30  * kanzurequit (Ping timeout: 264 seconds)
14:20:44  * kanzurejoined
14:20:55  * nicholasfquit (Ping timeout: 252 seconds)
14:31:17  * dguttmanjoined
14:35:51  * mikolalysenkoquit (Ping timeout: 260 seconds)
14:36:35  * dguttmanquit (Quit: dguttman)
14:36:40  * fallsemojoined
14:50:11  <juliangruber>thl0: db.createReadStream({start:'stars:10', end:'stars:20'}).pipe(...)
14:51:28  <juliangruber>thl0: if you really want to sort and search based on many criteria, something like elastic search or lucene/solr will work
14:52:48  <thl0>juliangruber: thanks, currently reading rvagg's article http://dailyjs.com/2013/04/19/leveldb-and-node-1/
14:53:09  <thl0>juliangruber: wasn't aware of the sorted tables idea - makes more sense now
15:17:52  * mikealjoined
15:23:05  * kevino80quit (Remote host closed the connection)
15:28:01  * AvianFlujoined
15:30:15  * thl0quit (Remote host closed the connection)
15:32:18  * mikealquit (Quit: Leaving.)
15:33:24  * mikolalysenkojoined
15:38:01  * thl0joined
15:47:16  * defunctzombie_zzchanged nick to defunctzombie
15:49:41  * AvianFluquit (Ping timeout: 256 seconds)
16:11:58  * shamajoined
16:17:00  <jjjjohnn1y>who here is into audio dsp, live scripting, etc?
16:18:51  * stagasjoined
16:25:40  <mikolalysenko>jjjjohnn1y: I'm interested in learning more about that stuff, but have never tried it myself
16:26:33  * mikealjoined
16:31:03  * mikealquit (Client Quit)
16:32:34  * mikolalysenkoquit (Ping timeout: 245 seconds)
16:33:18  * thl0quit (Remote host closed the connection)
16:39:06  <elliottcable>substack ⑊ Around?
16:39:24  <elliottcable>substack ⑊ crypto-browserify screws up IE6; "the least I can do is make error messages for the rest of the node.js/crypto api"
16:39:31  <elliottcable>uses .forEach(), which isn't available
16:46:10  <rowbit>/!\ ATTENTION: (default-local) kevin@... successfully signed up for developer browserling plan ($20). Cash money! /!\
16:46:10  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
16:52:10  <juliangruber>jjjjohnn1y: I am!
16:53:01  <juliangruber>elliottcable: you can create an issue here: https://github.com/dominictarr/crypto-browserify
16:54:32  <elliottcable>ah, he already fixed it
16:54:35  <elliottcable>thanks, juliangruber
16:54:38  <elliottcable>who're you? (=
16:54:53  <elliottcable>er, not, to be, offensive or anything. Just don't recognize your name, and I'm in here once in a while, I'd think I would ...
16:54:59  <elliottcable>friend of substack's?
16:56:41  <jjjjohnn1y>juliangruber: what do env/platform fo you use?
16:57:07  <jjjjohnn1y>juliangruber: have you ever wished you had commits of all your compiles for sessions?
16:57:24  <juliangruber>jjjjohnn1y: i've mostly played with it in the browser and with some unix tools, nothing serious
16:57:43  <juliangruber>I'm more interested than into :D
17:02:29  * mikolalysenkojoined
17:04:06  <elliottcable>man ick
17:04:12  <elliottcable>everything about everything is broken in IE6
17:04:31  <elliottcable>for some reason I thought Browserify explicitly supported ancient browsers, that that was a flagship feature or something. Was a bit off-base. GUH.
17:04:35  * elliottcablegoes to fix ALLLLL of the things
17:05:38  <jjjjohnn1y>why does anybody care about 1E6,7,8?
17:06:39  * shuaibjoined
17:07:04  * elliottcableshrugs
17:07:08  <elliottcable>don't ask me. Because they're insane.
17:07:16  <elliottcable>But unfortunately, *I* have to care about *those people*.
17:07:30  <elliottcable>Which means supporting them with my library, when they want to use my library in their development for IE**
17:07:33  <elliottcable>ick.
17:11:15  * shuaibquit (Ping timeout: 260 seconds)
17:11:34  <elliottcable>substack ⑊ when running across compat bugs in stuff (working on one in buffer-browserify right now), what should I do? Do you *wish* to support old IEs and such? I don't want to file a bug if you officially Don't Care™, y'know?
17:12:10  <jjjjohnn1y>IE ICKS
17:12:10  <LOUDBOT>ONLY OXYGENE QUALIFIES AS SOMETHING YOU "NEED"
17:13:41  * shuaibjoined
17:15:37  <jjjjohnn1y>juliangruber: get into it! https://gist.github.com/NHQ/5610708
17:16:39  * st_lukejoined
17:18:30  * shuaibquit (Ping timeout: 256 seconds)
17:18:40  <jjjjohnn1y>juliangruber: con http://secret.synth.fm
17:20:43  * shuaibjoined
17:21:45  <elliottcable>https://github.com/toots/buffer-browserify/issues/16
17:25:38  <substack>elliottcable: everything should work down to ie6
17:27:27  * thl0joined
17:30:26  <elliottcable>substack ⑊ hm. So, I'll take that as “pull requests accepted?”
17:30:28  <elliottcable>(=
17:31:55  * brianloveswordsquit (Excess Flood)
17:34:17  * brianloveswordsjoined
17:44:11  * kevino80joined
17:44:52  <defunctzombie>Raynos: where is the cat :(
17:44:59  <Raynos>I do not know
17:45:00  <Raynos>is it dead?
17:45:04  <Raynos>dont go into yi's room
17:45:06  <Raynos>she might be sleeping
17:45:51  <defunctzombie>I figured cause hte door is closed
17:46:00  <defunctzombie>that or everyone else is dead
17:57:14  * tilgovijoined
17:58:10  * jcrugzzjoined
18:01:40  * tilgoviquit (Remote host closed the connection)
18:12:23  <pkrumins>we've simple user pages now like this: http://ci.testling.com/raynos
18:12:31  <Raynos>:O
18:12:52  <elliottcable>woah what happened
18:12:53  <Raynos>http://ci.testling.com/Colingo
18:12:57  <Raynos>my company does more then me
18:12:58  <elliottcable>design changed when I wasn't looking MIND BLOWN
18:13:27  <pkrumins>yes also redesigned project pages!
18:19:47  <thl0>pkrumins: just asked substack if you guys would allow me to PR on testling-web in order to get colored terminal via hypernal
18:20:15  <thl0>pkrumins: is that at all possible (I assume it is a private repo)?
18:25:50  <substack>best if I just do that I think
18:26:28  <thl0>substack: that's cool - should be fairly simple - you can either pipe into it or use write/writeln
18:32:09  <pkrumins>thl0: i dont really understand what you're asking?
18:32:45  <thl0>pkrumins: you could improve the testling output with https://github.com/thlorenz/hypernal
18:33:01  <thl0>pkrumins: it understands terminal colors (i.e. escape codes, etc.)
18:33:06  <pkrumins>oh!
18:33:06  <defunctzombie>Raynos: time to step up your game
18:34:02  <thl0>pkrumins: hyperwatch uses it, so if you want video proof ;) http://thlorenz.github.io/hyperwatch/
18:34:11  <pkrumins>thl0: but where in the testling exactly?
18:34:23  <pkrumins>it just runs the tests and tells you the tap output
18:34:58  <thl0>pkrumins: when I clidk on show build output and/or tap output
18:35:02  <pkrumins>oic, in case of failures, right?
18:35:24  <thl0>i.e. - not too important, but nice to have
18:36:02  <thl0>pkrumins: sometimes I include colored output in my tests as well (i.e. highlighted code) - also it'd be nice to see errors right away (when they are red)
18:36:34  <thl0>pkrumins: as I said, low priority, but nice to have and should be a trivial change
18:37:34  <pkrumins>yes, nice to have
18:37:36  * jolissquit (Quit: joliss)
18:38:33  <thl0>pkrumins: well, substack said he may do it, so I guess we'll see, if you guys are busy with more imp. stuff that is ok as well
18:41:43  * jibayjoined
18:44:33  <pkrumins>is it possible to have hypernal return html as a return value?
18:44:48  <thl0>pkrumins: no :(
18:45:18  <pkrumins>oh okay
18:45:19  <thl0>it's based on ttyjs and it basically simulates a real terminal to make things happen
18:45:30  <pkrumins>ah
18:45:52  * dguttmanjoined
18:45:54  <thl0>pkrumins: however you actually could hack it somehow to just do it's thing (i.e. in a hidden dom element) and then grab the html from there
18:46:34  <thl0>pkrumins: needs to be in the DOM though since it actually adds div elements and such
18:46:52  <thl0>otherwise lots of code would need to change (to no longer write to the DOM)
18:47:14  <pkrumins>i don't think i'll be able to do it then
18:47:58  <pkrumins>because the html page is rendered server side
18:48:09  <pkrumins>we don't render it client side anymore
18:48:17  <thl0>pkrumins: ah, didn't konw that
18:48:56  <thl0>pkrumins: so you only show the terminal once all the output is there (otherwise how would it update)?
18:49:25  <pkrumins>you just reload the page to get more updates
18:49:53  <thl0>pkrumins: ok I guess that is a much simpler model
18:50:06  <thl0>although a streaming terminal is nicer ;)
18:51:02  <pkrumins>yes well maybe substack can do it
18:51:07  <thl0>:)
18:51:18  <pkrumins>he knows these things much better than i do!
18:51:29  <thl0>got it
19:02:59  * mcollina_quit (Ping timeout: 245 seconds)
19:15:35  * jibayquit (Read error: Connection reset by peer)
19:28:00  * kenperkinsquit (Quit: Computer has gone to sleep.)
19:30:34  <hij1nx>anyone played with fs.watch? seems like it monopolizes the cpu
19:30:50  * jcrugzzquit (Ping timeout: 252 seconds)
19:33:44  <juliangruber>a 3 line node module: https://github.com/juliangruber/id. you're welcome peeps :)
19:33:46  <thl0>hij1nx: haven't seen that - as far as I understand it just reacts to events (i.e. is not polling) so not sure how it would monopolize cpu
19:34:41  <thl0>juliangruber: how is that useful? to save me from typing document.getElement ?
19:34:44  * fotoverite_joined
19:35:33  * ralphtheninjaquit (Ping timeout: 248 seconds)
19:35:43  <juliangruber>saves you var bind = require('bind-component'); var id = bind(document, document.getElementById);
19:36:00  <juliangruber>see this more as art, ok? :D
19:36:20  <thl0>juliangruber: also adding these alternatives for already existing API that everyone knows makes it harder for others to understand your code (i.e. when onboarding to a project)
19:36:32  <juliangruber>thl0: sure
19:36:37  <juliangruber>I'm am badass
19:36:40  <thl0>:)
19:36:59  * stagasquit (Read error: Connection reset by peer)
19:37:35  <juliangruber>thl0: basically I just want to get rid of lib/util.js in an app
19:38:03  * crank_joined
19:38:04  * jden_joined
19:38:08  * dools_joined
19:39:58  <juliangruber>Raynos will approve of this ^
19:40:04  <Raynos>THIS
19:40:06  <Raynos>IMPROVE
19:40:07  <Raynos>OF ALL THE THINGS
19:40:08  <LOUDBOT>YEA -- THERE'S A LINE. RIGHT THERE. YEA. SO GO STAND IN IT.
19:40:40  <Raynos>juliangruber: did you just require a component. I am sad
19:41:06  <juliangruber>Raynos: the bind component is nice
19:41:13  <juliangruber>it has bind(document, 'getElementById') too
19:41:18  <Raynos>juliangruber: https://github.com/Raynos/by#example
19:41:20  <Raynos>why you no search
19:41:33  <Raynos>no idea wtf "bind" is other then `Function#bind`
19:41:36  * jolissjoined
19:41:47  <juliangruber>yes it iiiiis
19:41:52  <Domenic_>es5-shim all the things all the time
19:42:39  <juliangruber>Domenic_: maybe for the next project, having the same like 5-10 requires at the top of every file sucks
19:42:44  * crankquit (*.net *.split)
19:42:44  * fotoveritequit (*.net *.split)
19:42:46  * doolsquit (*.net *.split)
19:42:46  * jdenquit (*.net *.split)
19:42:47  * fotoverite_changed nick to fotoverite
19:42:52  * yorickjoined
19:44:01  * ralphtheninjajoined
19:44:12  <thl0>Domenic_: why pull in the entire es5-shim for a small app when all you usually need is bind and trim?
19:44:12  <thl0>why is es5-shim not split up into separate modules?
19:44:39  * crank_changed nick to crank
19:45:14  * ralphtheninjaquit (Client Quit)
19:46:39  <Raynos>thlorenz: THIS https://github.com/thlorenz/dotfiles/blob/master/bashrc#L61
19:46:55  <juliangruber>haha :D
19:48:56  <Domenic_>thl0: because i don't want to think about whether or not i'm programming in a modern environment
19:49:19  <Domenic_>Date.parse/Date.now/Date, all the many array methods, ...
19:49:53  <Domenic_>the only array method i don't usually need is reduceRight
19:50:03  <Domenic_>Object.keys
19:51:08  <Domenic_>plus, as you say, using non-standard versions of all these is stupid
19:51:29  <Domenic_>i.e. hard for others to read
19:51:53  * dominictarrjoined
19:54:36  * jolissquit (Quit: joliss)
19:55:59  <defunctzombie>Raynos: I think your roommate is dead
19:59:01  * thl0quit (Ping timeout: 276 seconds)
19:59:35  * shuaibquit (Ping timeout: 256 seconds)
20:01:33  <hij1nx>[ANN] "0+0"
20:01:34  <LOUDBOT>ALL ANIMALS ARE EQUAL, BUT SOME ARE MORE EQUAL THAN OTHERS
20:01:46  * AvianFlujoined
20:07:35  * thl0joined
20:08:58  <jesusabdullah>https://github.com/joyent/node/pull/5531#issuecomment-18286948
20:09:11  <jesusabdullah>Is it just me, or... wut?
20:12:20  <st_luke>?
20:13:39  * kevino80quit (Remote host closed the connection)
20:14:35  <jesusabdullah>ugh not the comment the pull request
20:14:45  * jcrugzzjoined
20:17:53  * nicholasfjoined
20:22:09  * nicholasfquit (Ping timeout: 245 seconds)
20:22:15  * kevino80joined
20:24:40  * mikealjoined
20:29:34  * mikealquit (Ping timeout: 276 seconds)
20:34:24  * mikealjoined
20:39:27  <AvianFlu>jesusabdullah: that reminds me of that build of node that was out there for a while
20:39:30  <AvianFlu>that would throw errors like
20:39:40  <AvianFlu>"The child_process module has been removed for security reasons."
20:40:07  <st_luke>lmao
20:40:16  <AvianFlu>like, whoever did it just put `throw "The _____ module has been removed for security reasons` at the top of a bunch of modules
20:40:23  <AvianFlu>it was pretty hilarious
20:44:10  <st_luke>that's very creative trolling
20:44:15  <st_luke>I want to shake that person's hand
20:45:49  <AvianFlu>I think my favorite part of the PR jesusabdullah linked is this:
20:45:50  <AvianFlu>https://github.com/joyent/node/pull/5531/files#L0R480
20:45:59  <AvianFlu>IT TAKES 33 ARGUMENTS WITH THIS PATCH TO GET THE REPL TO START
20:45:59  <LOUDBOT>I DO NOT DEAL IN POLITICS. I DEAL IN PROGRAMMING LULZ AND EXCESSIVE DRINKING
20:46:08  <AvianFlu>LOUDBOT: twitlast
20:46:08  <LOUDBOT>http://twitter.com/LOUDBOT/status/337308418379505665 (dhoss/##turtles)
20:46:21  <AvianFlu>st_luke: yeah I was deeply amused at the time
20:46:33  <AvianFlu>said something along the lines of "BRO WHERE THE HELL DID YOU DOWNLOAD NODE FROM"
20:46:42  <st_luke>I'm not really into trolling on github, but a very creative one deserves a little bit of credit
20:47:46  <substack>seriously why do people not just write bash scripts more often
20:47:53  <substack>all this cake/jake/grunt noise
20:48:07  * tilgovijoined
20:48:11  <substack>package.json scripts field shelling out to bash works so well
20:48:14  <substack>and it's so freaking simple
20:48:41  <AvianFlu>a lot of people apparently hate learning languages
20:48:47  <AvianFlu>but yeah, I agree with you
20:49:11  <substack>but they ALREADY know bash
20:49:19  <substack>at least enough to do everything they could want to do
20:49:30  <substack>because what they actually want to do is just execute some commands in order
20:52:21  <AvianFlu>right
20:52:23  <chilts>I switched a fair bit of stuff from Grunt to bash (and make) in a recent project I inherited
20:52:28  <AvianFlu>a lot of people have mental blocks for that shit though
20:52:37  <chilts>grunt is being used for a lot of things it shouldn't be used for
20:52:38  <AvianFlu>OH MY GOD IT'S BASH IT MUST BE HARD I CAN'T DO IT
20:52:38  <LOUDBOT>SMALL CAPS IS LIKE A BANDAID FOR A DECAPITATION
20:55:20  <defunctzombie>Raynos: the roommate is alive
20:55:43  <defunctzombie>Raynos: I was thinking about heading over to wherever it is you guys are and checking out that area
20:56:23  <substack>bash is so good at executing commands in order
20:56:34  <substack>it is the best possible tool for executing commands in order
20:56:39  <AvianFlu>yeah it's true
20:56:43  <AvianFlu>CAUSE THAT'S WHAT IT WAS MADE FOR
20:56:44  <LOUDBOT>YOU BASTARD! I'LL KILL YOU!
20:56:53  <AvianFlu>FUCK YOU LOUDBOT I SPEAK THE TRUTH
20:56:54  <LOUDBOT>GOT THAT UPDATE FOR YOU SIR, LITTLE LATE...
20:57:29  <AvianFlu>DAMN IT LOUDBOT I WANTED THAT A YEAR AGO WHAT GOOD IS A NODE 0.4 PATCH NOW
20:57:29  <LOUDBOT>GUYS WE JUST EXPLAINED THE UNIVERSE I THINK THAT IS PRETTY PRODUCTIVE FOR AN AFTERNOON OF CHATTING ON THE INTERNET
20:59:38  * kenperkinsjoined
20:59:40  <dominictarr>substack: I have a new idea
20:59:51  <dominictarr>REPLACE BASH WITH JQUERY
20:59:52  <LOUDBOT>WE ARE PLEASED TO SEE THINGS COMING TOGETHER SO NICELY
20:59:56  * mikealquit (Quit: Leaving.)
21:00:47  <dominictarr>$('/**/*.coffee').rm() // <-- delete all .coffee files
21:00:55  <dominictarr>for example
21:01:13  * AvianFluquit (Remote host closed the connection)
21:01:40  <defunctzombie>dominictarr: +1
21:02:07  * jcrugzzquit (Quit: leaving)
21:02:30  <st_luke>+1
21:02:33  * jcrugzzjoined
21:03:15  <st_luke>Domenic_: when someone uses "wizard' for software terminology or personnel, I immediately think of the KKK
21:05:58  <Domenic_>this codebase... my eyes... whyyyyyy
21:07:39  <defunctzombie>Domenic_: sounds like tears of joy
21:09:37  <Domenic_>MOAR LIKE TEARS OF BLOOD AMIRITE
21:09:38  <LOUDBOT>I THOUGHT SO. YOURE JUST A RANDOM NUMBER GENERATOR WITH HARRY POTTER QUOTES
21:10:04  * defunctzombiechanged nick to defunctzombie_zz
21:11:22  <chrisdickinson>make can do some pretty smart things wrt to dependencies that bash doesn't do out of the box
21:11:29  <substack>st_luke: http://substack.net/images/browserify_logo.png
21:11:36  * shuaibjoined
21:11:37  <chrisdickinson>but every time in node i've used it its been overkill
21:12:07  <st_luke>substack: for some reason I never associated that with wizard, I always thought 'magician'
21:12:46  <dominictarr>substack: the worst thing about bash, is that it's really awkward to use dependencies in bash.
21:12:58  <st_luke>substack: oh also if you're still interested in coming out for a tech talk in July, let me know when in your schedule would be the most convenient
21:13:21  <dominictarr>if $BASH_SOURCE reliably pointed to the actual absolute file (doesn't work right with symlinks)
21:13:22  <substack>dominictarr: you can just use scripts from npm instead
21:13:30  <dominictarr>yes, that is what I do
21:13:50  <dominictarr>but I mean, it's difficult to manage your dependencies with bash
21:13:58  <dominictarr>hmmm....
21:14:13  <st_luke>dominictarr: do you mean . / source / export / all the globals are confusing?
21:14:24  <st_luke>ah wait
21:14:25  <st_luke>i misread
21:14:42  <dominictarr>PATH=./.bin:../node_modules/.bin:../../node_modules/.bin:$PATH
21:14:43  <dominictarr>maybe?
21:15:29  * jcrugzzquit (Ping timeout: 245 seconds)
21:15:29  <dominictarr>everything needs to use npm or we should just phase that thing out
21:17:32  * jcrugzzjoined
21:19:16  <st_luke>dominictarr: sometimes I want something where I can write a single function in a file and not make it a module, then use that function in bash
21:19:21  <st_luke>because I hate writing bash functions for aliases
21:19:23  <st_luke>so much
21:19:33  <substack>then don't do that
21:19:42  <substack>I hardly ever write bash functions
21:20:00  <st_luke>shit like this
21:20:01  <st_luke>function archivetag () { git tag archive/$1 $1 && git branch -d $1 ; }
21:20:27  <substack>just make an archivetag file and put that code in it
21:20:45  * AvianFlujoined
21:20:48  <st_luke>then I have to source it
21:22:03  * shuaibquit (Read error: Connection reset by peer)
21:22:09  <thl0>coolest thing about bash is that you can just pipe and combine tools written in any language
21:22:35  <thl0>i.e. https://github.com/thlorenz/format-json-stream#as-commandline-tool
21:24:27  <dominictarr>yes, and the async syntax is sort of interesting
21:24:37  <dominictarr>& ; and {...}
21:25:08  <dominictarr>might be interesting to apply that to an alt js lang
21:25:25  <jesusabdullah>one thing I will say about package.json and javascript as a build system
21:25:28  <jesusabdullah>one problem that is
21:25:31  <jesusabdullah>one unsolved problem
21:25:45  <jesusabdullah>is whole "mtime of file, oh this is already up to date" thing
21:25:53  <jesusabdullah>but that can be wrapped up in a simple enough API
21:26:05  <dominictarr>jesusabdullah: you can set the mtime to whatever you like.
21:26:09  <jesusabdullah>that's really what I want, is a library that tells me if files are up to date
21:26:33  <thl0>jesusabdullah: you mean like make? but you'd only need that if you have a build step no?
21:26:44  <jesusabdullah>thl0: yes exactly like make
21:26:53  <jesusabdullah>thl0: and sometimes you DO have build steps
21:27:28  <thl0>jesusabdullah: well in that rare case (given you are nodeing) you can use make ;)
21:27:35  <jesusabdullah>which I do
21:27:48  <jesusabdullah>but that's a case I can see for someone saying, "yeah I use grunt"
21:28:01  <jesusabdullah>unless of course grunt also has no concept of this in which case it's useless to me
21:28:12  <dominictarr>jesusabdullah: like, where you say X -> Y, so Y must always be newer that X?
21:28:19  <thl0>:) - don't think npm/node needs this feature since it's not a typical scenario to have a build
21:28:20  <jesusabdullah>dominictarr: yes
21:28:33  <jesusabdullah>thl0: it should be a userspace library
21:28:52  <thl0>jesusabdullah: like monocle?
21:28:58  <jesusabdullah>link?
21:29:00  <thl0>i.e. a file watcher?
21:29:14  <jesusabdullah>no not file watching
21:29:25  <jesusabdullah>like in a makefile where you might have,
21:29:32  <jesusabdullah>foo.pdf: foo.tex
21:29:39  <thl0>jesusabdullah: https://github.com/samccone/monocle
21:29:44  <jesusabdullah>\tpdflatex foo.tex
21:29:47  <jesusabdullah>and then
21:29:51  <jesusabdullah>foo.tex: some other files
21:30:06  <jesusabdullah>\tmaybe-this-is-procedurally-generated
21:30:13  <jesusabdullah>and you run 'make foo.pdf'
21:30:18  <thl0>jesusabdullah: got it, just query mtime right when you execute a build
21:30:20  <jesusabdullah>it's smart enough to see if foo.tex is up-to-date
21:30:30  <jesusabdullah>right thl0 that's the implementation
21:30:46  <jesusabdullah>but I don't want to have to think about dependency chains and implementing inline
21:30:50  <dominictarr>yeah, this is a good module idea
21:30:50  <thl0>jesusabdullah: trying to never have a build, instead refresh autom. when I hit a certain route on the server i.e. /bundle.js
21:31:09  <thl0>during prod I'll cache that stuff and serve straight from memory
21:31:13  <dominictarr>thl0: mikeal is into that
21:31:29  <dominictarr>he has modules for that somewhere
21:31:52  <jesusabdullah>dominictarr: yeah, would love to see your take on what that api should look like
21:31:55  <thl0>dominictarr: it's the way to go, otherwise you refresh and the build wasn't complete and you get incomplete things (i.e. half a css file)
21:32:21  <jesusabdullah>dominictarr: not sure maek.task('task', [ 'dep1', 'dep2' ], function (cb) {}); is the wtg
21:32:29  <thl0>dominictarr: it's simple, just use tools that produce streams and pipe into res (i.e. browserify)
21:32:43  <jesusabdullah>A lot of times I use "legacy tooling"
21:32:49  <dominictarr>yeah, there has to be a nicer way
21:33:09  <dominictarr>decouple it from tasks
21:33:09  <jesusabdullah>maybe if the mtime biz and the dep chain biz were reasonably separable...
21:33:12  <jesusabdullah>k bbiaf
21:33:19  <jesusabdullah>yeah dominictarr
21:33:29  <thl0>dominictarr: i.e. https://github.com/thlorenz/hyperwatch/blob/master/examples/express-app/app.js#L22-L25
21:33:41  <dominictarr>just say newer(A, [X, Y, Z])
21:34:02  <thl0>combined with a build script that only writes when run standalone: https://github.com/thlorenz/hyperwatch/blob/master/examples/express-app/build.js
21:34:18  * jxsonjoined
21:34:58  <dominictarr>thl0: but where is the caching?
21:36:15  * kevino80quit (Remote host closed the connection)
21:39:17  * nicholas_joined
21:39:52  <thl0>dominictarr: that's just a simple demo
21:40:22  <dominictarr>you could make a remember stream
21:40:32  <thl0>dominictarr: let me see if I have a sample with caching - in this one app we actually cached bundles for differnt browser scenarios
21:40:51  <dominictarr>that would call a thing that creates a read stream first time
21:40:56  <thl0>dominictarr: neat idea!
21:41:04  <dominictarr>and then just stream that the second time
21:41:24  <dominictarr>cache(function () {return build()}).pipe(...)
21:41:42  <thl0>dominictarr: here is with caching - quite simple: https://github.com/thlorenz/thlorenz.com/blob/master/routes/bundle.js
21:41:49  <dominictarr>only calls build once
21:41:57  <thl0>makes sense
21:42:01  <dominictarr>and then have cache.refresh()
21:42:41  <thl0>in the example I linked, if you need to serve diff. bundles for diff. browsers, all you do is to create a hash-cache keyed by the UA
21:42:55  <dominictarr>thats nice
21:44:44  <thl0>dominictarr: your idea reminds me of an RX replaysubject
21:45:04  <thl0>it hooks to an upstream and remembers the last value it got
21:45:24  <thl0>i.e. if I come too late, I get the last value in the stream (assuming object stream)
21:55:54  * thl0quit (Remote host closed the connection)
21:56:12  <jesusabdullah>dominictarr: yeah my thinking too
21:57:51  * djcoinquit (Quit: WeeChat 0.4.0)
22:11:18  <Raynos>defunctzombie: I work in soma
22:11:21  <Raynos>its kind of boring here
22:16:11  <st_luke>in san francisco?
22:18:27  <substack>Raynos: you're not on valencia anymore?
22:26:38  * mikealjoined
22:36:14  * ralphtheninjajoined
22:36:45  <Raynos>substack: now I'm on 5th & folsom
22:41:08  * nicholas_quit (Read error: Connection reset by peer)
22:41:28  * nicholas_joined
22:41:32  * jolissjoined
22:46:58  * jcrugzz_joined
22:49:06  <substack>yeah that area is super boring
22:49:44  <substack>and everything closes really early
22:50:13  * jcrugzzquit (Ping timeout: 248 seconds)
22:52:13  * nicholas_quit (Remote host closed the connection)
22:54:10  * defunctzombie_zzchanged nick to defunctzombie
22:54:59  <defunctzombie>Raynos: the cat came out to play and I forgot about everything else
22:55:19  <defunctzombie>substack: Raynos: do you guys want to do dinner tonight someplace?
22:55:45  <defunctzombie>isaacs: ^
22:55:46  * tilgoviquit (Read error: Connection reset by peer)
22:55:55  <substack>whereat?
22:56:13  <defunctzombie>substack: no idea, I am the tourist here
22:56:23  <defunctzombie>substack: I believe I am in the mission district
22:56:36  <defunctzombie>but would love to explore
22:58:42  <substack>I don't really "go to dinner" so I have no idea
22:59:34  <defunctzombie>:D
23:00:06  <substack>I'm also hardly ever in SF
23:00:31  * jcrugzz_changed nick to jcrugzz
23:04:32  <Raynos>im hardly in oakland myself
23:05:02  * thl0joined
23:06:57  * thl0quit (Remote host closed the connection)
23:07:42  <jesusabdullah>isaacs: What's your reaction to https://github.com/joyent/node/pull/5531 ?
23:07:59  <jesusabdullah>Ha! Ha! I don't live in the bay area!
23:08:22  <mikolalysenko>A quick post on ndarrays: http://0fps.wordpress.com/2013/05/22/implementing-multidimensional-arrays-in-javascript/
23:08:31  <mikolalysenko>still have more to say though, but this explains the basics
23:10:10  <mikolalysenko>let me know if you anyone sees any typos
23:10:50  <isaacs>jesusabdullah: i don't think this is such a good idea
23:10:55  <isaacs>jesusabdullah: let's take to #libuv :)
23:12:24  <Raynos>isaacs: does there exists a " good technical overview" of npm ?
23:13:50  * brianloveswordsquit (Excess Flood)
23:14:17  * brianloveswordsjoined
23:15:06  * mikealquit (Quit: Leaving.)
23:16:00  <isaacs>Raynos: i dunno. the docs are ok.
23:16:02  * mikealjoined
23:17:15  <substack>"When you design new APIs, you are forced to think about how the existing system can express most of the semantics. This cleanly separates what new power is genuinely needed and what isn’t. This prevents cluttering the semantics with unnecessary new magic"
23:17:21  <substack>Domenic_: ^^^
23:17:24  <substack>that was david herman
23:17:26  <substack>AND YET
23:17:26  <LOUDBOT>DID YOU GIVE IT AN OLINE OR WHAT
23:17:31  <substack>we get the clusterfuck of es6 modules
23:17:35  <substack>those seem completely ad odds
23:20:36  * stagasjoined
23:23:22  <substack>elsewhere: some people using browserify really shouldn't be >_<
23:23:53  <jesusabdullah>substack: what if he sees a divide between languages and in-language apis, in that he sees the language as a good place to create more existing system?
23:24:30  <substack>I really wish people would just stop working on things.
23:24:33  <jesusabdullah>substack: ie, do you think david herman would argue that languages and apis have different rules?
23:24:38  <Raynos>substack: what do you mean?
23:24:41  <substack>we wouldn't have these problems if programs stayed humble
23:24:56  <substack>jesusabdullah: he probably would and I think they have basically the same rules
23:25:17  <mikolalysenko>maybe it would help if they clearly stated their objectives and how they would measure them
23:25:32  <jesusabdullah>substack: Any ideas regarding his rationale?
23:25:34  <mikolalysenko>like for me, I would say only add features to the language if it makes programs faster or makes them smaller
23:26:03  <defunctzombie>substack: who is using it that shouldn't be?
23:26:05  <jesusabdullah>I don't profess to be a language designer
23:26:12  <jesusabdullah>I can tell when I wouldn't use something but
23:26:18  <substack>defunctzombie: see #node.js
23:26:22  <substack>should be very obvious
23:26:23  <jesusabdullah>I'm not there yet in terms of being knowledgable
23:27:01  <jesusabdullah>mikolalysenko: good deal with the strides in the ndarrays
23:27:20  <substack>polyfills for example are really impossible when the syntax changes
23:27:30  <substack>you've got to use source transforms
23:27:36  <mikolalysenko>jesusabdullah: thanks. I am a bit worried that there isn't much content in that post, but the next one will be more interesting
23:27:41  <jesusabdullah>mikolalysenko: my interests in ndarrays tend to focus more on api, I want to say that numeric project takes a good approach?
23:27:47  <jesusabdullah>I used it once
23:28:05  <mikolalysenko>I've used numeric.js quite a bit, and I don't think their approach is very good
23:28:11  <mikolalysenko>they use the array-of-arrays solution
23:28:14  <substack>and with desugaring/namespace exports it's pretty much impossible to write a simple polyfill
23:28:15  <jesusabdullah>under the hood or on the surface though?
23:28:19  <jesusabdullah>like I said, surface apis
23:28:20  <substack>it's got to be hideously complicated
23:28:25  <substack>with surprising, novel semantics
23:28:38  <mikolalysenko>jesusabdullah: it is arrays-of-arrays in numeric.js, both on the surface and underneath
23:28:46  <mikolalysenko>jesusabdullah: it looks nice, but it is super slow
23:29:00  <mikolalysenko>jesusabdullah: ndarrays are a much more efficient solution
23:29:13  <defunctzombie>substack: I think he just doesn't know what questions to ask really
23:29:31  <defunctzombie>substack: much of it is actually quite complicated if you are not familiar with just a few core concepts
23:30:45  <substack>no, he wants things that don't make any sense
23:31:05  <mikolalysenko>jesusabdullah: the downside though is that numeric.js has some stuff that isn't supported in ndarrays yet, like linear solvers and matrix algebra stuff
23:31:12  <substack>like a middleware that compiles bundles but also writes to static files and integrates with express.static
23:31:16  <substack>that doesn't make any sense
23:31:18  <mikolalysenko>jesusabdullah: but ndarrays are currently more than good enough to image processing stuff
23:31:41  <defunctzombie>substack: what he wants isn't all that hard, but it also isn't needed
23:31:49  <defunctzombie>substack: it doesn't need to "integrate" or anything
23:32:02  <defunctzombie>in either case, I pointed him at enchilada
23:32:05  <defunctzombie>to solve his issues
23:32:09  <defunctzombie>he will get over them
23:33:02  <jesusabdullah>mikolalysenko: yeah basic matrix algebra is a key thing to DO to ndarrays, though you COULD implement them as functions in a different module instead of ndarray methods
23:33:08  <jesusabdullah>mikolalysenko: hard to say which is better
23:33:43  <mikolalysenko>jesusabdullah: definitely as a separate module
23:34:03  <mikolalysenko>jesusabdullah: since there are many decisions you need to make regarding how you do it
23:34:07  * fallsemoquit (Quit: Leaving.)
23:34:23  <mikolalysenko>jesusabdullah: I have some ideas though, and I will probably do some experiments once I get a bit more time
23:34:32  <jesusabdullah>I think if you have really nice slicing/dicing methods for the ndarray that will help with a lot of the other things
23:34:46  <mikolalysenko>jesusabdullah: those are already there
23:34:51  <jesusabdullah>oh?
23:34:54  <mikolalysenko>yep
23:34:59  <jesusabdullah>you have a link to the gh?
23:35:06  <defunctzombie>substack: all you need to know is that he used leet in his nickname
23:35:10  <mikolalysenko>sure: https://github.com/mikolalysenko/ndarray
23:35:16  <defunctzombie>that should tell you everything you need to know :p
23:35:23  <mikolalysenko>.hi / .lo / .pick / .transpose
23:35:30  <mikolalysenko>those are the array slicing dicing stuff
23:35:43  <mikolalysenko>I avoided using .slice since that syntax is already overloaded
23:36:20  <mikolalysenko>and since the semantics of slice are to make copies of arrays
23:36:33  <mikolalysenko>the stuff there just changes the view of an array to something else
23:37:32  <jesusabdullah>ruh-huh
23:38:07  <mikolalysenko>basically to slice an array in a range you do:
23:38:19  <mikolalysenko>array.lo(a0, a1, ...).hi(b0, b1, ...)
23:38:22  <jesusabdullah>yeah what I had in mind was shit like, cutting ranges along all the axes, like, tensor[:, 3:5]
23:38:35  <jesusabdullah>that's how I've seen it in matlab slash numpy
23:38:43  <jesusabdullah>or syntax similar to that
23:38:58  <mikolalysenko>yeah
23:39:05  <jesusabdullah>or, tensor[1, :, 3:5]
23:39:12  <jesusabdullah>if I can do things like that I'm golden
23:39:13  <mikolalysenko>the super leet python syntax won't work in js due to lack of operator overloading though
23:39:18  <jesusabdullah>right, right
23:39:21  <mikolalysenko>you can still do that though
23:39:25  <jesusabdullah>so you need some nice way to describe it
23:39:30  <mikolalysenko>the way that expression would work is you do:
23:39:37  <jesusabdullah>yeah?
23:39:52  <mikolalysenko>tensor.pick(1).lo(0, 3).hi(-1, 5)
23:40:11  <mikolalysenko>not as slick as python, but the best I've come up with so far
23:40:41  <substack>I feel like poking at this streaming template stuff now in the park
23:40:43  * substack&
23:40:43  <LOUDBOT>STARBUCKS TO CLOSE 300 STORES, LAY OFF MORE THAN 6,000 PEOPLE WORLDWIDE.
23:41:25  <defunctzombie>jesusabdullah: mikolalysenko: all our nicks are the same lengths
23:41:29  <AvianFlu>DAMN IT LOUDBOT THAT MEANS I'LL HAVE TO GO TO THE GAS STATION FOR TERRIBLE COFFEE NOW
23:41:30  <LOUDBOT>I WILL SHARE MY FILES WITH YOU
23:41:33  <defunctzombie>looks cool with a wall of text
23:41:57  <jesusabdullah>ah, I see
23:41:57  <defunctzombie>AvianFlu: if they close 300 stores I doubt you would even notice it in nyc
23:42:04  <AvianFlu>hahahahaha true
23:42:09  <mikolalysenko>everyone should get a 13charactername
23:42:27  <jesusabdullah>.lo is for specifying the low ends for *all* the ranges, correspondingly with .hi
23:42:34  * AvianFluchanged nick to AvianFluuuuuu
23:42:41  <AvianFluuuuuu>OMG 13 CHAR
23:42:42  <LOUDBOT>PLUS THE GREEN BEANS AND THE SWEET POTATOES
23:42:54  <AvianFluuuuuu>MAKES FIFTEEN I THINK
23:42:54  <LOUDBOT>I AM PRETTY SURE THAT I DON'T EXIST YOU GUYS
23:43:02  <mikolalysenko>jesusabdullah: you can skip an index by omitting it or just setting it to 0
23:43:18  <jesusabdullah>I see
23:43:19  <AvianFluuuuuu>LOUDBOT: twitlast
23:43:19  <LOUDBOT>http://twitter.com/LOUDBOT/status/337353007874310144 (SubStack/##turtles)
23:43:23  <mikolalysenko>like if you only specify the first few indices, then the next will be dropped
23:43:34  <mikolalysenko>or they will be left intact I mean
23:43:47  <mikolalysenko>I think there is still some room to iterate on these ideas though
23:44:21  <jesusabdullah>mikolalysenko: another one is to be able to do something like, tensor.pick([1,3]) so you could pick off the first and third axes in the first dimension
23:44:35  <mikolalysenko>jesusabdullah: that could work
23:44:37  <jesusabdullah>mikolalysenko: after that is a reasonable way to do block matrices
23:47:40  <mikolalysenko>jesusabdullah: hmm... actually I just realized a problem with that syntax
23:47:56  * ryan2changed nick to felixn
23:48:02  <mikolalysenko>jesusabdullah: I don't think you can implement x.pick([1, 3, 7, ... ]) without making a copy
23:48:32  <mikolalysenko>jesusabdullah: and the current sematics are that slicing just creates a view, which is an O(1) operation
23:48:49  <mikolalysenko>jesusabdullah: or you could just implement non-linear indexing, but that is a huge headache
23:48:57  * felixnchanged nick to munro
23:48:58  <mikolalysenko>jesusabdullah: and then the views would get a lot more complicated
23:49:59  <jesusabdullah>mikolalysenko: yeah, at that point you're probably better off making stacks of ndarray views
23:50:24  <jesusabdullah>scipy has hstack and vstack and there might be an "nstack" of some kind as well
23:50:38  <jesusabdullah>my thing is a lot of times I don't immediately see the abstraction from 2d to nd
23:52:08  <mikolalysenko>jesusabdullah: images with multiple channels for one example
23:52:14  <mikolalysenko>and volume data
23:52:39  <mikolalysenko>jesusabdullah: also it can be useful to build ndarrays to do non-linear layouts/copying of data
23:52:58  <mikolalysenko>for example, you can create views with strides that overlap and use them to build many copies of some pattern
23:53:36  <mikolalysenko>there are also physical applications as well, like when dealing with tensor fields for example
23:54:01  <mikolalysenko>which are naturally expressed as n x n x n x 3 x 3 arrays
23:54:10  <mikolalysenko>or strain fields I mean
23:54:37  <mikolalysenko>this only really matters if you are doing stuff like mesh free finite element