00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:10:23  <dominictarr>substack: this LOTR approach makes me think about how to teach programming from day one
00:11:03  <dominictarr>maybe you start everyone doing a monotonous task, until the DEMAND to be shown how to automate it
00:21:36  * fallsemoquit (Quit: Leaving.)
00:41:32  * shuaibquit (Ping timeout: 252 seconds)
00:43:25  <Raynos>dominictarr, substack: http://www.xanthir.com/b4PV0
00:44:25  * jcrugzzquit (Ping timeout: 246 seconds)
00:44:26  <dominictarr>looks a bit enormous
00:44:45  * jcrugzzjoined
00:45:26  <Raynos>yeah
00:45:30  <Raynos>same with their Future spec
00:45:38  <Raynos>its like the say "what a future is" and 'what a stream' is
00:45:50  <Raynos>and then they say "fuck userland. here are 20 helper functions baked into the browser"
00:46:17  <dominictarr>no one except for people writing competing specs have time to read the spec too
00:46:42  <dominictarr>the better approach is to do nothing….
00:46:57  <dominictarr>and then implement what everyone figures out
00:47:04  <dominictarr>like querySelector
00:47:53  <dominictarr>way less work… and no "Web Standards Hackers" needed
00:48:47  <Raynos>I forgot i needed to lobby for better streams to the spec people -.-
00:49:05  <Raynos>dominictarr: https://gist.github.com/Raynos/6412cfd196cbf0379d76 do you think anything is missing from that?
00:51:36  <dominictarr>"That way we spec authors don't have to invent our own custom solutions"
00:51:41  <dominictarr>if only they did!
00:52:30  * ralphtheninjaquit (Ping timeout: 245 seconds)
00:53:38  <dominictarr>Raynos: I think dart has a streams that are a bit like this
00:53:46  <Raynos>i think so too
00:53:58  <dominictarr>which is probably his influence -- also bacon.js
00:54:04  <Raynos>well
00:54:08  <dominictarr>also, this has no back pressure
00:54:12  <Raynos>his design came out of a conversation
00:54:14  <Raynos>about signals
00:54:36  <Raynos>I started talking to him about using signals in the w3c api >_< on the mailing lists
00:54:40  <Raynos>and then he was like "an FRP signal is a stream!"
00:54:45  <Raynos>and now we have this 'stream spec'
01:02:49  * shuaibjoined
01:03:51  <dominictarr>Raynos: maybe you end up on the spec team when the people doing real work want to get you and your dumb suggestions out of their way
01:05:17  <rvagg>is that why katz is on tc39?
01:09:10  <Raynos>dominictarr: :D
01:09:42  * jibayquit (Quit: Leaving)
01:13:52  <substack>Raynos: whoa what is with all this futures noise
01:14:12  <substack>it's like spec people revel in writing over-engineered abstractions that nobody likes
01:14:50  <Raynos>substack: promises landed in the DOM spec scene
01:14:53  <Raynos>they are called futures
01:15:05  <Raynos>I think they are refactoring all their arbitrary events into futures
01:15:19  <substack>wow that sounds terrible
01:15:46  <Raynos>it happened
01:15:49  <substack>why don't they use events
01:15:50  <Raynos>xhr will be a promise soon
01:15:53  <substack>and callbacks
01:15:55  <substack>for fucks sake
01:15:57  <Raynos>indexeddb will be a bunch of promises soon
01:16:09  <Raynos>well either callbacks / promises
01:16:14  <Raynos>are better then custom events & state machines
01:16:23  <substack>custom events are great
01:16:33  <Raynos>when they make sense
01:16:55  <Raynos>http://www.w3.org/TR/IndexedDB/#request-api <- that is bad
01:17:07  <substack>why don't they just do nothing
01:17:16  <substack>why don't they just quit their jobs and go exploring
01:17:40  <Raynos>ANYWAY
01:17:41  <substack>userspace is fine without them
01:17:47  <Raynos>i think they will mail to es-discuss soon
01:17:51  <Raynos>to start discussion on a stream interface
01:18:33  <substack>they should get rid of all the functions
01:18:37  <substack>and just implement pipe()
01:18:44  <substack>and let userland take care of the rest
01:19:07  <Raynos>that may or may not make sense
01:19:26  <substack>mbalho already investigated it
01:19:44  <substack>all the extant apis can be expressed as .on() and .pipe()
01:21:02  <Raynos>pipe assumes writable streams
01:21:27  <substack>and?
01:21:39  <Raynos>then you need to spec out a writable stream :)
01:21:45  <substack>no you don't
01:22:07  <substack>you just say "here's how to make a writable stream"
01:22:20  <substack>writable streams don't need to be "a thing"
01:22:29  <substack>they can just fall out of some simple rules
01:22:32  * shamajoined
01:22:36  <Raynos>they do if you want an xmlhttprequest to be a writable thing
01:22:45  <substack>honestly streams2 falls into the same category of over-engineering
01:22:48  <substack>streams1 are fine
01:22:51  <Raynos>whatever the simple rules are
01:23:00  <Raynos>they need to specced out so that all browsers implement them correctly
01:23:10  <substack>streams1 are simple
01:23:23  <substack>if you want backpressure just use a lib like through
01:23:27  <dominictarr>just write a reference implementation in node.js
01:24:04  <dominictarr>it's my bedtime.
01:24:06  <Raynos>anyway the point is
01:24:09  <dominictarr>night all.
01:24:26  <Raynos>for simplifying the readable API to on() & pipe() you moved the contract to the writable API
01:25:04  <dominictarr>yes, streams2 is still rather complex
01:25:19  * dominictarrquit (Quit: dominictarr)
01:31:27  <st_luke>isaacs: https://github.com/isaacs/npm/issues/1727 is the main issue here not updating git dependencies?
01:31:47  <st_luke>Domenic_: ^
01:37:02  <substack>I think that none of the people complaining about my jquery post have used browserify
01:37:18  <st_luke>substack: what are the complaints
01:37:29  <substack>"32k isn't smal"
01:37:32  <substack>l
01:38:05  <substack>and then (paraphrasing) "well if you're so smart then how do you .addClasS()"
01:38:12  <substack>for fucking fucks sake
01:38:36  <substack>https://twitter.com/couchand/status/323606764085985280
01:38:37  <st_luke>they should say “if you’re so smart, why are you listening to us?”
01:39:01  <st_luke>...
01:39:07  <st_luke>a download builder isn’t the solution
01:43:21  <rvagg>heh, addClass() is a justification for jQuery, even I could come up with a dozen better justifications than that
01:48:44  <Domenic_>st_luke: yeah pretty sure
01:53:59  <st_luke>Domenic_: cool
02:01:03  <jez0990>In an eventually consistent universe, life *can* flourish! Behold: https://github.com/jez0990/crdt-monotonic-dag
02:03:19  * shuaibquit (Ping timeout: 245 seconds)
02:03:37  <jez0990>...I don't expect anyone other than dominictarr to care just yet, but I think this is how to make CRDTs universally useful :)
02:06:07  <jez0990>do npm install crdt-monotic-dag && node test.js to give it a spin
02:06:37  <jez0990>oops, *crdt-monotonic-dag
02:07:17  <st_luke>neat
02:11:51  <st_luke>substack: i dont know if i really understand that guy’s argument
02:12:39  <st_luke>its not as if jQuery is going away any time soon anyway
02:13:01  * fallsemojoined
02:14:11  <mbalho>#beforeitwascool https://npmjs.org/package/element-class
02:14:57  <st_luke>heheh
02:21:19  * tim_smartchanged nick to tim_smart|away
02:36:20  * thl0quit (Remote host closed the connection)
02:41:03  <Raynos>mbalho: dude. https://github.com/Raynos/class-list
02:41:32  <rvagg>Bonzo!
02:41:34  <Raynos>dont you use npm search? :D
02:47:22  <substack>if multiple people independently implement something with basically the same api something is very right
02:48:16  * jcrugzzquit (Ping timeout: 256 seconds)
02:53:23  <substack>wow I forgot how tiny this module was https://github.com/substack/node-shell-quote/blob/master/index.js
02:55:23  <mbalho>Raynos: class is a loaded term, thats why i put 'exactly like jquery addclass removeclass' so at least it would show up in more specific searches
02:55:48  <substack>put jquery in the keywords
02:55:49  * jcrugzzjoined
02:55:52  <substack>subversive
02:56:09  <mbalho>ya exactly
02:56:36  <mbalho>https://github.com/eldargab/component-as-module
02:58:36  <rvagg>mbalho: re Kindleberry Pi, do you get them to connect to a private Wifi network with your Nano router, and if so, how do you get the Kindle to connect when there is no internet connection?
02:59:16  <mbalho>rvagg: theres a ALLCAPS file you create on the usb root... i forget the name
02:59:26  <mbalho>rvagg: but it makes the kindle ignore the dns check
02:59:39  <rvagg>google didn't help me with that info so if you could recall the details that'd be great
03:03:42  <mbalho>rvagg: i dont have my kindle with me ATM but ill look next time i have it
03:03:49  <rvagg>cheers
03:38:40  * tilgoviquit (Remote host closed the connection)
03:41:24  <mikolalysenko>this question may be flame bait, but what is the purpose of component?
03:41:39  <mikolalysenko>I don't get what it adds that you don't get with just npm/commonjs...
03:41:55  <mikolalysenko>I guess you can bundle css stuff with commonjs modules together?
03:43:05  <mikolalysenko>I mean you can just write html inline using js anyway...
03:43:36  <substack>or brfs lets you inline files into your js
03:44:05  <substack>mikolalysenko: I think tj wants a walled garden for ui libraries away from npm
03:44:42  <substack>whereas browserify seeks to embrace npm for front end
03:44:51  <mikolalysenko>hmm
03:45:14  <mikolalysenko>he seems like a pretty smart guy, so I would like to give him the benefit of the doubt and assume that there is a good technical reason for component
03:45:46  <mikolalysenko>so maybe it was sort of built from a pre-brfs mind set
03:45:58  <mikolalysenko>which kind of makes sense
03:47:28  <mikolalysenko>but I don't really see any compelling reason to use it today, other than the fact that there are a few component-only libraries that are kind of nice
03:49:24  <substack>I think one of the reasons he built it was that it's sometimes hard to figure out whether a module works in the browser or not
03:49:44  <substack>I want to make a tagging service for browserify to solve that problem
03:50:11  <substack>a testling badge helps a bunch but requires setup on the package author's part
03:53:52  <mikolalysenko>interesting
03:54:09  <mikolalysenko>I need to figure out how to setup testling, but I'll deal with it tomorrow
03:54:16  <mikolalysenko>I am tired and need to sleep
03:57:10  * fallsemoquit (Quit: Leaving.)
03:58:18  <rvagg>tj's had a major problem with putting browser stuff into npm, as have other major players in browser-land, that's exactly why Bower exists, pressure from npm-haters
03:58:44  <substack>the problem is that there's a ton of overlap
03:59:02  <substack>and sharing is really hard across repositories
04:00:23  <substack>but it takes much more time to port a module from someplace else or write something from scratch than to sift through a few search results that won't work in the browser
04:01:07  <rvagg>TJ's probably just preparing for the inevitable future where he departs Node for the next hawtness
04:01:37  <substack>npm is good enough
04:01:40  <substack>worse is better
04:03:04  <substack>I would rather use something with more packages even if it has lower median quality
04:03:20  <substack>because reuse is about the long tail
04:20:54  * st_lukequit (Read error: Connection reset by peer)
04:21:00  * st_luke_joined
04:55:09  * jcrugzzquit (Ping timeout: 258 seconds)
05:27:54  <rvagg>juliangruber: what's your node stack under ws? are you using express or something a little more basic?
05:28:15  <substack>[email protected] now has scripts.stop support https://github.com/substack/ploy#scripts
05:28:33  <juliangruber>rvagg: everything hand written, socket.io didn't even exist when we started doing websockets
05:28:48  <juliangruber>I don't know the whole code though, someone else wrote it
05:28:53  <rvagg>juliangruber: ok, so you don't have much in the way that might impact performance
05:29:17  <juliangruber>afaik, nope
05:29:33  <juliangruber>I'll have to digg through the code though, and maybe make it run on a smartos vm
05:29:39  <juliangruber>to be able to dtrace
05:31:26  <rvagg>might be worth doing that before investing too much in Go eh?
05:31:39  <juliangruber>learning go has been fun though!
05:31:46  <rvagg>fair enough!
05:31:57  <rvagg>I've been tinkering a bit with Rust recently
05:31:59  <rvagg>syntax overload
05:32:13  <juliangruber>yeah
05:32:19  <juliangruber>go is simple
05:32:26  <juliangruber>like, for is the only loop available, not even while
05:33:40  <rvagg>Rust has 3 different types of pointers...
05:35:12  <juliangruber>:D
05:35:22  * shamaquit (Remote host closed the connection)
05:35:30  <juliangruber>so I def. wouldn't switch to go completely
05:35:47  <juliangruber>I need an easy language, like javascript
05:36:00  <juliangruber>but for special things, where performance or memory matters, go seems very nice
07:01:45  * wolfeidauquit (Remote host closed the connection)
07:14:49  * shuaibjoined
07:21:05  * wolfeidaujoined
07:21:48  * spionjoined
07:26:20  <st_luke_>npm issue 1727
07:26:26  <st_luke_>19 participants
07:26:33  <st_luke_>bunch of +1s
07:26:37  <st_luke_>a year old
07:26:43  <st_luke_>1 line fix
07:28:11  <jesusabdullah>link st_luke_ ?
07:28:18  <st_luke_>i didnt commit it yet
07:28:31  <st_luke_>i might wait till tomorrow now cause i spent a bunch of time on it, feels kind ridiculous
07:29:22  <st_luke_>ah fuck it
07:36:46  <jesusabdullah>I meant the issue
07:36:50  <jesusabdullah>but the # is good enough
07:37:26  <jesusabdullah>st_luke_: lol nice
07:41:00  <st_luke_>jesusabdullah: https://github.com/isaacs/npm/pull/3348/files
07:41:19  <st_luke_>github.com/isaacs/npm/issue/1727
07:41:37  <st_luke_>fwiw, _resolved wasn't there a year ago
07:44:02  * st_luke_quit (Remote host closed the connection)
07:53:32  <jesusabdullah>hah
08:03:11  * shuaibquit (Ping timeout: 252 seconds)
08:04:01  * ins0mniajoined
08:18:09  * cianomaidinjoined
08:24:15  * cianomaidinquit (Quit: cianomaidin)
08:36:44  * ins0mniaquit (Ping timeout: 252 seconds)
08:42:12  * ins0mniajoined
09:05:28  * ralphtheninjajoined
09:14:22  * spionquit (Ping timeout: 246 seconds)
09:31:23  * yorickjoined
09:33:45  * ins0mniaquit (Ping timeout: 276 seconds)
09:35:44  * dominictarrjoined
09:36:58  * jibayjoined
09:38:58  * devaholicjoined
09:39:54  * cianomaidinjoined
09:42:54  * nicholas_quit (Read error: Connection reset by peer)
09:43:27  * nicholas_joined
09:52:20  <rvagg>juliangruber: are you using leveldb in production?
09:52:57  <juliangruber>rvagg: not yet :(
09:54:52  <juliangruber>rvagg: you?
09:55:49  <rvagg>juliangruber: nearly, just swapped out couchbase for levelup now that we have a windows build, the project needs to deploy on windows (tragically)
09:56:08  <juliangruber>oh, sweet
09:56:20  <juliangruber>we're rethinking our currenct database stack atm
09:56:39  <juliangruber>we have oracle clusters and 10 other mysql servers, 3 mongos and 3 memcaches
09:56:49  <rvagg>ugh, that sounds like a mess
09:57:04  <rvagg>fun for devops
09:57:22  <juliangruber>we have master slave replication and sometimes there are too many connections on the master, and it goes down
09:57:28  <juliangruber>totally
09:57:46  <juliangruber>we run into problems our paid support can't help us with :D
09:57:48  * spionjoined
10:05:08  <substack>http://esa-matti.suuronen.org/blog/2013/04/15/asynchronous-module-loading-with-browserify/
10:06:40  <juliangruber>nice
10:16:44  <dominictarr>wow
10:18:22  <dominictarr>so, when you use externalize it can detect that in needs to remove the ./graph-vis from the main bundle?
10:19:20  <dominictarr>rvagg: mmcklegg uses it, and hij1nx too, and st_luke does too
10:19:49  <dominictarr>and wolfeidau, I think - those are the ones I know of.
10:21:02  <dominictarr>I'm also using it in live demos for rumoursdb.com
10:22:11  <rvagg>dominictarr: yeah, I'm aware of hij1nx and st_luke's activity with it and have chatted briefly with mmcklegg but I don't think he's quite got it into production yet, "soon" apparently
10:22:38  <rvagg>he has some interesting JSON mapping, filtering and validation stuff going tho
10:23:46  <dominictarr>hmm. I thought he was…
10:25:55  * cianomaidinquit (Quit: cianomaidin)
10:28:56  * thl0joined
11:01:19  * ins0mniajoined
11:05:14  <jez0990>dominictarr: https://github.com/jez0990/crdt-monotonic-dag
11:05:16  <dominictarr>substack: love how you through half your browserifyv2 before you show that exterminate is a chrome app
11:07:59  <dominictarr>jez0990: you need to have a few lines, and then a code example
11:09:41  <dominictarr>like "pastward" and "futureward"!
11:23:38  <rvagg>ninjablocks keep on talking about using levelup on all their devices too btw, haven't quite got there but they've just taken on board a bunch more programmers so perhaps soon
11:28:25  <jez0990>dominictarr: yeah you're right, I need more documentation and examples ....but it got to 4am and I decided to call it a night :)
11:31:12  <dominictarr>rvagg: awesome!
11:31:36  <dominictarr>jez0990: documentation is like code - more isn't always a good thing
11:32:01  <dominictarr>doing the same job with simpler docs is best
11:33:09  <dominictarr>jez0990: in the replication bit you copied from crdt has a bug
11:33:17  <jez0990>my guess is that the trick is having two or three examples which cover most of the API
11:33:19  <dominictarr>you do require('crdt').DAGDoc
11:33:27  <jez0990>aha
11:33:33  <jez0990>4am!!
11:33:33  <dominictarr>and you never use require('es')
11:33:54  <jez0990>did I not explain that I have no idea what I'm doing?!
11:33:59  <dominictarr>just link to that section in crdt's readme
11:34:04  <dominictarr>jez0990: no one does
11:34:23  <dominictarr>I'm just mentioning it so you can improve it
11:34:41  <jez0990>that's cool, appreciate it
11:34:54  <jez0990>does it feel useful to you yet?
11:39:46  <dominictarr>jez0990: not sure yet! But I am excited that there is another scuttlebutt and that another person is starting to understand how all this stuff works!
11:53:06  * kenperkinsquit (Quit: Computer has gone to sleep.)
11:57:50  <dominictarr>oh yeah jez0990 I'm gonna cruise down to london after scotland.js and hang out for a few days!
12:32:00  * AvianFlujoined
12:39:45  <jez0990>dominictarr: awesome
12:39:46  <jez0990>IT'S A DATE
12:39:46  <LOUDBOT>IT HURTS BUT IT HAD TO HAPPEN :'(
12:45:36  * defunctzombie_zzchanged nick to defunctzombie
13:06:26  * cianomaidinjoined
13:06:35  * thl0quit (Remote host closed the connection)
13:09:15  * calvinfoquit (Ping timeout: 258 seconds)
13:10:47  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
13:10:47  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
13:10:59  * ralphtheninjaquit (Ping timeout: 260 seconds)
13:14:29  <jez0990>dominictarr: oh man, I just realised I'll by soaking up sun in Rhodes then... :/
13:15:16  <jez0990>maybe life is more fun if you never meet internet people anyway?
13:15:34  <dominictarr>how long are you going for?
13:15:42  <jez0990>11 days
13:15:49  <dominictarr>what dates?
13:15:50  <jez0990>back on the 23rd May
13:16:00  <jez0990>leaving on the 11th
13:16:51  <dominictarr>oh, that is exactly the window I'll be in the area - oh well - there will be another trip!
13:17:37  * AvianFluquit (Read error: Connection reset by peer)
13:18:02  * AvianFlujoined
13:18:20  * ralphtheninjajoined
13:20:46  <jez0990>clearly meant not to be
13:20:50  * fallsemojoined
13:23:13  <jez0990>dominictarr: are you hanging around SF before/after nodeconf?
13:25:55  <dominictarr>yes probably - but also considering going to mexico!
13:25:58  * defunctzombiechanged nick to defunctzombie_zz
13:26:38  * calvinfojoined
13:29:52  * thl0joined
13:29:52  * thl0quit (Remote host closed the connection)
13:30:19  * thl0joined
13:35:41  * thl0quit (Ping timeout: 256 seconds)
13:38:13  * defunctzombie_zzchanged nick to defunctzombie
13:38:46  * thl0joined
13:42:48  * cianomaidinquit (Ping timeout: 264 seconds)
14:11:58  * keslajoined
14:16:02  * AvianFluquit (Remote host closed the connection)
14:19:52  * AvianFlujoined
14:23:48  * ins0mniaquit (Ping timeout: 252 seconds)
14:26:32  * keslaquit (Quit: Computer has gone to sleep.)
14:41:13  * tmcwjoined
14:58:22  * cianomaidinjoined
15:08:47  <mikolalysenko>I wonder: Do you think ther would be any way to emulate this es6 behavior in es5 efficiently?
15:08:50  <mikolalysenko>http://wiki.ecmascript.org/doku.php?id=harmony:binary_data#arrays
15:08:58  <mikolalysenko>I really want to have packed arrays of structs in JS...
15:09:14  <mikolalysenko>having to deinterleave all my objects across multiple typed arrays is driving me crazy
15:10:28  <mikolalysenko>that is really the only thing in harmony that I want
15:17:01  <jez0990>mikolalysenko: is there not some way to flatten your objects?
15:18:02  <jez0990>I should confess I've never used typed arrays before and am just speculating
15:27:09  * ins0mniajoined
15:39:19  <mikolalysenko>jez0990: you can flatten them, but it gets really annoying
15:39:49  <mikolalysenko>also if you have different types for the data in your objects, you have to do ridiculous stuff like create multiple typed array views
15:43:12  * keslajoined
15:44:52  <jez0990>well, if you have non-heterogenous objects, what degree of optimisation are you expecting over letting v8 do the hard work? surely it can't be that much?
15:46:49  * shuaibjoined
15:50:11  <mikolalysenko>consider for example a particle system
15:50:20  <mikolalysenko>where you may want to maintain order of the particles
15:50:43  <mikolalysenko>or perhaps a binary search tree built on top of an array
15:51:00  <mikolalysenko>though after looking around, it seems that v8 implements native arrays using b-trees anyway...
15:54:27  * jcrugzzjoined
15:54:36  <jez0990>mikolalysenko: does that make you happy or sad? I can't tell!
15:55:49  <mikolalysenko>it makes me happy, but I am reluctant to rely on that behavior since I can't find any info on how other browsers implement arrays
15:56:14  <mikolalysenko>but if it were true, then it would mean that the simplest/best way to implement a binary search tree in javascript would be to just an array with splice()
15:56:36  <mikolalysenko>ie maintain the array in sorted order, and just use binary search!
15:58:23  <jez0990>if it were true then lol at this advice: http://stackoverflow.com/questions/12369824/javascript-binary-search-insertion-preformance
15:59:09  <mikolalysenko>first, that advice is totally wtf
15:59:17  <mikolalysenko>binary search is log(n), not linear
15:59:58  <mikolalysenko>though he is right that the insertion would be linear
16:00:09  * Benviequit (Quit: Benvie)
16:00:16  <mikolalysenko>(maybe that is what he meant, after thinking about it; was not very clear)
16:00:40  <mikolalysenko>but yeah, if it is true that arrays = b-trees in v8, then really you should use them with binary search
16:01:01  <mikolalysenko>I guess one way to figure this out is to do a jsperf
16:03:42  <mikolalysenko>this benchmark is suggestive that there might be something funny going on: http://jsperf.com/splice-vs-manual-splice
16:05:01  <jez0990>:) are you talking about the safari results?
16:05:39  * shamajoined
16:05:58  <jez0990>because they sure are funny
16:06:34  <jez0990>but how does jsperf adjust to bias of hardware?
16:06:59  * kenperkinsjoined
16:07:14  <mikolalysenko>hmm
16:07:24  <mikolalysenko>I modified the benchmark to make the difference even more dramatic:
16:07:27  <mikolalysenko>http://jsperf.com/splice-vs-manual-splice/2
16:07:38  <mikolalysenko>at least on chrome it does look like array = binary tree of some variety
16:07:42  <mikolalysenko>(probably b-tree)
16:08:33  <mikolalysenko>I don't know if you can count on this to be true for other engines
16:08:48  <mikolalysenko>but at least on v8, binary search/splice is all you need :)
16:10:22  * Benviejoined
16:14:06  * kenperkinsquit (Quit: Computer has gone to sleep.)
16:19:05  * cianomaidinquit (Quit: cianomaidin)
16:21:36  * cianomaidinjoined
16:35:13  * heathquit (Quit: No Ping reply in 180 seconds.)
16:35:30  * heathjoined
16:56:36  <jez0990>mikolalysenko: are you using 'binarysearch' (npm)?
17:00:38  <mikolalysenko>no, lower-bound
17:00:41  * tilgovijoined
17:01:30  <mikolalysenko>the binarysearch module isn't *that* useful, since most of the time you are using trees to do range queries
17:01:47  <mikolalysenko>https://npmjs.org/package/lower-bound
17:02:10  <mikolalysenko>the whole point of having a tree (or any ordered sequence for that matter) is two fold:
17:02:21  <mikolalysenko>1. you want to be able to do fast in order iteration
17:02:29  <mikolalysenko>2. you want fast lower/upper bound queries
17:02:48  <mikolalysenko>if you are just testing if an item is present, a hash table/object is strictly better
17:08:29  <defunctzombie>leveldb peeps
17:08:40  <defunctzombie>if I have two processes and want to do some concurrent access
17:08:43  <defunctzombie>to the db
17:08:46  <defunctzombie>what do I do
17:19:34  <jez0990>defunctzombie: use a CRDT and 2 replicas :D
17:19:53  <defunctzombie>bah
17:19:59  <defunctzombie>I don't want more IPC :/
17:20:01  <defunctzombie>I want less
17:20:20  <defunctzombie>so here is the setup
17:20:25  <defunctzombie>I need to send outgoing emails
17:20:50  <defunctzombie>however, if the mail service sending the emails flakes out for a moment or something, I still need to make sure that email is sent
17:21:01  <defunctzombie>which means I need to queue them up and such
17:21:06  <defunctzombie>the queue is generally flushed quickly
17:21:22  <defunctzombie>and I would like to not maintain more services just to have this simple email queue feature
17:21:38  <defunctzombie>I thought about a file in /tmp per process with the queue, but if the process restarts or such
17:21:47  <defunctzombie>I need to be able to re-read those email files
17:22:06  <defunctzombie>and don't want contention with multiple processes reading the same set of emails that need ot be sent out
17:31:19  * defunctzombiethinks I might just use a lockfile
17:31:26  * thl0_joined
17:31:55  * thl0quit (Read error: Connection reset by peer)
17:34:31  * spionquit (Ping timeout: 246 seconds)
17:34:55  <mikolalysenko>ok, a non-data structure question: what is the simplest/most modular chat server for node?
17:37:33  <chrisdickinson>mikolalysenko: node-irc is the best i've seen, but it's gpl'd iirc
17:38:12  <mikolalysenko>hmm
17:38:19  <chrisdickinson>or maybe i am wrong
17:38:20  <chrisdickinson>hmm
17:38:23  * chrisdickinsonchecks
17:38:31  <mbalho>chat server meaning IRC?
17:38:48  <mikolalysenko>or something like that
17:38:50  <chrisdickinson>says ISC license: https://github.com/bleakgadfly/node-irc/blob/master/package.json
17:39:12  <mikolalysenko>there is a ludum dare coming up in 2 weeks, and I was thinking that it might be good to prepare a little bit
17:39:14  <defunctzombie>isaacs: https://github.com/isaacs/lockfile
17:39:41  <mikolalysenko>like getting together a basic multiplayer game lobby or something
17:39:42  <defunctzombie>isaacs: is this geared towards low number of lockfiles or would it be cool with a high amount too?
17:39:53  <defunctzombie>isaacs: like if I had to create 300 lockfiles or whatnot
17:40:00  <mikolalysenko>last time I tried, I finished but it was too much trouble setting everything up initially
17:40:11  <mikolalysenko>I'd rather have the basic modules ready to go so I can focus on the game instead
17:41:57  <mbalho>mikolalysenko: how does ludum dare work? ive never done it
17:42:15  <mbalho>mikolalysenko: also i have seen lots of multiplaer/chat apps in node but none of them stood out to me
17:43:05  * keslaquit
17:43:44  <mikolalysenko>mbalho: basically you have to make a game in 48 hours using only open source tools
17:43:53  <mikolalysenko>it is just for fun, there is no prize or anything for winning
17:44:22  <mbalho>mikolalysenko: ah cool, is there a theme or any other rules?
17:44:34  <mikolalysenko>yeah, there is a theme that is announced the day of the event
17:44:42  <mikolalysenko>and you are supposed to make all art/sound/assets yourself
17:44:55  <mikolalysenko>so no reusing art from other games or whatever
17:45:05  <mbalho>mikolalysenko: nice, is it solo or team based?
17:45:10  <mikolalysenko>there are two parts
17:45:15  <mikolalysenko>one is solo, the other is team based
17:45:26  <mikolalysenko>team based you get 72 hours and judging is less rigorous
17:45:32  <mikolalysenko>also you can reuse stuff if you want
17:45:50  <mikolalysenko>the games in that category are typically more polished though
17:46:17  <mbalho>ah so the 'essence' of it is a solo competition
17:46:20  <mikolalysenko>yeah
17:46:34  <mikolalysenko>but the team one is popular too
17:46:43  <mikolalysenko>typically it gets about 1/3 of the games as in the solo competition
17:46:59  <mikolalysenko>what makes it fun is that afterwards you get to play everyone else's games
17:47:06  <mikolalysenko>and other people will play your game and comment/rate it
17:47:26  <mikolalysenko>the more games you comment on, the higher up your game shows up on the page, and so the more people will play/rate your game
17:47:31  <mbalho>nice
17:48:14  <mikolalysenko>I've done it twice, and had a great time both times I did it
17:48:39  <mikolalysenko>the first time I used C++, and it wasn't too bad since it was what I was comfortable with
17:48:49  <mikolalysenko>the second time I used node.js, which worked out ok but it was quite bumpy
17:49:08  <mbalho>mikolalysenko: cool, i think i'll do it
17:49:14  * kenperkinsjoined
17:49:15  <mikolalysenko>yeah, you totally should!
17:49:20  <mikolalysenko>make something in voxel.js!
17:49:31  <mbalho>nah
17:49:34  <mbalho>(just kidding)
17:49:58  <mbalho>im working right now on a hosting service for voxel.js
17:50:03  <mikolalysenko>cool
17:50:05  * cianomaidinquit (Quit: cianomaidin)
17:50:17  <mikolalysenko>I've had mixed success with node hosting services...
17:50:27  <mbalho>but the most polished thing i've made so far is http://gifblocks.com/
17:50:36  <mbalho>and even that isnt really a game
17:50:54  <mikolalysenko>nice, I saw this earlier
17:51:19  <mikolalysenko>I think for the next ludum dare, I want to do a multiplayer game
17:51:28  <mikolalysenko>but I will probably just buy a linode instance and host it there
17:51:49  <guybrush>how long is ludum dare?
17:51:53  <mikolalysenko>48 hours
17:52:19  <mikolalysenko>which is also why I would like to sort out some stuff first before it starts
17:52:25  <guybrush>do they have some special rules? like how do they check if you didnt start before
17:52:28  <mbalho>whoa cool there is a ludum dare meetup in oakland this time around
17:52:39  <mikolalysenko>it is honor system
17:52:43  <mikolalysenko>and also not very serious
17:52:44  <guybrush>cool
17:53:00  <mikolalysenko>what is nice about it is that you have a specific deadline
17:53:08  <guybrush>lol i tried to make something in all the nko's and didnt finish haha
17:53:15  <guybrush>sucks but was pretty fun time though
17:53:20  <mikolalysenko>I've never done node knockout
17:53:29  <mikolalysenko>but I've finished all of the ludum dares I've attempted
17:53:36  <mikolalysenko>(which is only 2 so far)
17:53:36  <guybrush>i think its basically the same thing
17:53:45  * dominictarrquit (Quit: dominictarr)
17:53:47  <guybrush>ooh the evoland game
17:53:49  <mbalho>guybrush: aren't you still working on your last nko app? :P
17:53:49  <mikolalysenko>yeah, but probably nko has higher standards
17:53:51  <guybrush>was also a ludumdare entry :DD
17:53:59  <guybrush>mbalho: ahaha true :D
17:54:15  <guybrush>we started the game we are working on still at the last nko lol :DDD
17:54:19  <guybrush>so we are kinda slow
17:54:39  <mikolalysenko>here is the first ludum dare game I made: http://0fps.wordpress.com/2011/09/13/ludum-dare-21-results/
17:54:45  <guybrush>what i wanted to say, did you play evoland yet?
17:54:51  <guybrush>it won the last ludumdare i think
17:54:54  <guybrush>amazing game :D
17:54:54  <mikolalysenko>guybrush: I haven't
17:55:06  <mikolalysenko>didn't get to do ludum dare due to travel issues
17:55:17  <mbalho>mikolalysenko: HHAAHAH
17:55:25  <mbalho>mikolalysenko: awesome title
17:55:30  <mikolalysenko>then the last one I did was this: http://0fps.wordpress.com/2012/04/24/making-an-mmo-in-48-hours/
17:55:31  <guybrush>http://evoland.shirogames.com/classic you can play the first view "quests" for free
17:55:35  * keslajoined
17:55:44  <mikolalysenko>which is much crappier, but mostly because I spent a lot of time figuring out how to do multiplayer in node
17:56:01  <mikolalysenko>I think if I can sort some of that stuff out in advance, I can make a much better game
17:56:06  <guybrush>omg i actually played your entry i think
17:56:11  <mikolalysenko>which one?
17:56:18  <guybrush>the ball thing
17:56:23  <mikolalysenko>really?
17:56:27  <mikolalysenko>haha, that's weird
17:56:45  <mikolalysenko>it had some stupid issues
17:57:00  <mikolalysenko>like I used two separate parallel transport frames, which made the controls really confusing
17:57:23  <mikolalysenko>I should have just kept the camera stuck to the ball
17:57:47  <mbalho>haha this evoland game is funny
17:58:29  <guybrush>yes! its pretty amazing idea
17:58:38  <guybrush>im considering buying it
17:59:22  <mikolalysenko>yeah
17:59:47  <mikolalysenko>I am kind of excited about doing another persistent multiplayer game, since it is fun to see how people interact with the environment over time
17:59:49  <mbalho>best review of mikolas game "Really impressive use of the maths!"
18:00:57  <guybrush>playing such games motivates everyone to study maths :D
18:01:08  <mikolalysenko>I like how it is plural
18:01:13  <mikolalysenko>must be british or something
18:02:01  * kenperkinsquit (Quit: Computer has gone to sleep.)
18:02:08  <mikolalysenko>but anyway, this brings me back to the question which is what sort of multiplayer game infrastructure is available in node?
18:02:21  <mikolalysenko>as I see, there are basically two types of multiplayer games:
18:02:27  <mikolalysenko>1. persistent/always on worlds
18:02:32  <mikolalysenko>2. Lobby based games
18:02:53  <mikolalysenko>the second option is probably better for competitive games, and much easier to scale
18:02:57  <mbalho>are you looking for mostly front end or mostly back end when you say infrastructure?
18:03:01  <mikolalysenko>back end
18:03:09  <mikolalysenko>front end stuff is relatively easy if your backend is sane
18:03:24  <mikolalysenko>just use browserify/whatever to connect
18:03:43  <mikolalysenko>at least if you build your game on some common abstraction like streams/event emitters
18:03:43  <mbalho>i think its difficult to write generic multiplayer backends, ive seen a few but they were all really frameworky
18:03:48  <mikolalysenko>yeah
18:03:55  <mikolalysenko>unity has a nice solution
18:04:02  <mbalho>i'd love to see more multiplayer modules for node
18:04:08  <mbalho>and less giant multiplayer frameworks
18:04:11  <mikolalysenko>I think crdt may be a good solution
18:04:18  <mikolalysenko>but latency could be killer
18:04:50  <mbalho>im happy so far with the simplicity of https://github.com/maxogden/voxel-server and https://github.com/maxogden/voxel-client, though i need to do some perf tuning
18:04:56  <mbalho>too busy to work on it now though
18:05:03  <mikolalysenko>but the thing in rapid development is that you can waste a lot of time on trivial stuff
18:05:18  <mbalho>the goal is to have iframe embedded games that can cross domain play with other people
18:05:23  <mikolalysenko>like in that multiplayer game, I spent waaaay too much time on account management/logins
18:05:31  <mikolalysenko>yeah, I like that idea
18:05:33  <mbalho>mikolalysenko: well thats just web apps
18:05:45  <mikolalysenko>man, that stuff really sucks
18:05:57  <mikolalysenko>there has to be some way to make it modular and more efficient
18:06:13  <mbalho>mikolalysenko: jan____ who has shepherded the couchdb project for years just released http://hood.ie/ which i'm trying out now
18:07:07  <mbalho>mikolalysenko: its pretty new and rough around the edges but i'm currently building login/log out/forgot password etc UI modules for my app on top of it
18:07:19  <mikolalysenko>hmm
18:07:35  <mikolalysenko>well, my philosophy towards this (and I may be in the wrong here) is that I don't care about passwords
18:07:46  <mikolalysenko>I'd rather use oauth/openid/whatever to handle log ins
18:08:03  <mikolalysenko>and then just store a token in my database for each account
18:08:17  <mbalho>that works for small apps but if you have a certain number of hits you will lose signups if you only allow oauth
18:08:30  <mbalho>so its mostly a business decision i think
18:09:04  <mikolalysenko>what I was thinking was just having a temporary account, maybe saved using a cookie or keyed on some other non-secure identifier
18:09:13  <mikolalysenko>and then having a permanent account using oauth
18:09:20  <mikolalysenko>and have an upgrade path from temporary -> permanent
18:09:30  <mikolalysenko>perhaps with an in app incentive to upgrade
18:09:53  <mbalho>hah then they have to oauth in or else they lose their stuff
18:09:59  <mbalho>that is one way to do it :)
18:10:04  <mikolalysenko>yeah
18:10:11  <mikolalysenko>that is how I did it with my ludum dare entry
18:10:21  <mikolalysenko>but setting that up really sucked a lot of time
18:10:31  <mikolalysenko>so much boilerplate and nonsense
18:11:38  <mbalho>yea its funny because frameworks exist to solve those dumb problems but they create so many more problems in the process
18:11:56  <mikolalysenko>yeah
18:12:11  <mikolalysenko>I want to just solve *these* problems though, and not the other problems
18:12:30  <mikolalysenko>but solving them seems to rely on making lots of other assumptions
18:12:36  <mikolalysenko>like how you handle sessions, for example
18:12:46  <guybrush>haha at the last nko i spent 1,5 days with auth/sessions/lobby
18:12:59  <mikolalysenko>yeah, it is terrible
18:13:10  <guybrush>but it was pretty solid and cool thing, though it wasnt anything about the entry itself rofl
18:13:28  <guybrush>like anonymous players joining others and stuff
18:13:53  <mikolalysenko>I wish there was some more modular solution to this problem
18:14:05  <mikolalysenko>like unity has a nice built in thing called the "masterserver"
18:14:10  <mikolalysenko>that basically does all of this for you
18:14:23  <guybrush>right, but such a thing isnt good i think
18:14:30  <guybrush>there has to be 100 of those
18:14:30  <mikolalysenko>I'm not sure
18:14:34  <guybrush>so you can choose :p
18:14:40  <guybrush>and plumb and stuff
18:14:54  <guybrush>thats why i like github so much and npm
18:15:01  <guybrush>100001 solutions for the same problem
18:15:05  <guybrush>haha
18:15:17  <mikolalysenko>I kind of like this library: http://passportjs.org/
18:15:21  * pib1964quit (Remote host closed the connection)
18:15:43  <mikolalysenko>but it seems to assume you are using express
18:15:48  <mbalho>its really hard to use
18:15:56  <mbalho>well
18:16:05  <mbalho>unless you dont want to do anything fancy
18:16:09  <guybrush>mikolalysenko: authom is the best
18:16:16  <mikolalysenko>authom?
18:16:27  <guybrush>https://npmjs.org/package/authom
18:16:28  <mikolalysenko>ah, nice!
18:16:39  <mbalho>this is the oauth module pattern that i think is the most modular https://github.com/maxogden/github-oauth
18:16:58  <mbalho>(i wrote that as a response to the frameworkiness of passport)
18:17:01  <guybrush>or just like mbalho does it, write _everything_ yourself since oauth isnt SO hard
18:17:02  <guybrush>but still
18:17:09  * keslaquit (Quit: Computer has gone to sleep.)
18:17:12  <guybrush>you have to keep up with all those api-crap
18:17:21  <mikolalysenko>yeah, I don't want to do that again
18:17:45  <mbalho>no, the point is you write small modules
18:17:50  <guybrush>authom is small
18:18:10  <guybrush>also i think there is nothing wrong with grouping tiny things together to bigger things
18:18:14  <jez0990>mikolalysenko: if you're looking for a powerful crdt, then look no further - https://github.com/jez0990/crdt-monotonic-dag
18:18:31  <mikolalysenko>jez0990: thanks
18:18:35  <jez0990>it's still a WIP but will have tests soon
18:18:56  <mbalho>ahh yea authom looks nice, jed writes good code
18:20:18  <guybrush>yes, i still dont understand why fab isnt more popular
18:20:48  <mikolalysenko>ok, authom is a nice solution to the authentication problem and I will probably use it next time
18:22:06  <mikolalysenko>but what about lobbies and sessions?
18:22:31  <guybrush>maybe i should publish the crap im writting all day long instead of talking
18:23:21  <guybrush>but the whole lobbything i made is based on backbone
18:23:34  <guybrush>so i guess its nothing for you hardcore-nonjquery-nonframework guys :p
18:24:05  <jez0990>lobbies and sessions could be handled with the DAG thing pretty easily
18:24:18  <mikolalysenko>jez0990: interesting
18:24:32  <mikolalysenko>how would it work?
18:25:30  <jez0990>hmm
18:26:02  <mikolalysenko>I am really thinking more right now about the very mundane stuff
18:26:17  <jez0990>are you thinking about a standard multiroom lobby with private messages?
18:26:21  <mikolalysenko>like user logs in, server sets a session token, upon reconnecting session gets restored
18:26:28  <mikolalysenko>yeah
18:26:45  <mikolalysenko>but the rooms can also turn into games
18:26:54  <mikolalysenko>like imagine a multiplayer go server
18:27:06  <jez0990>so you can think of it like building a schema, and then you can tag Rows to that schema
18:27:21  <jez0990>and have other schemas that form views of the original schema
18:27:43  <jez0990>which is a very generic description :D
18:28:05  <jez0990>YOU'RE GOING TO BUILD GO?!
18:28:05  <LOUDBOT>I THINK I'M GOING TO GO PISS OFF THIS SIDE OF THE OVERPASS. BRB.
18:28:16  <jez0990>I would so play that
18:28:22  <jez0990>I was going to build that!!
18:28:40  <guybrush>mikolalysenko: i had it so, that everyone (also anonymous) could select a game they want to join or create a new one. so everygame ad max 10 players. when every player hits ready the game starts. the game-leader (first player or promoted) can kick and reserve slots
18:28:42  <mikolalysenko>no, I was just using it as an example
18:29:05  <mikolalysenko>guybrush: yeah, that is exactly what I want
18:29:21  <mikolalysenko>also with maybe some extra database crud to keep track of player and game stats
18:29:23  <guybrush>right i just used socketio backbone and redis/mongo
18:29:29  <mikolalysenko>hmm
18:29:30  <guybrush>anonymous players also get sessions
18:29:42  <mikolalysenko>socket.io is a bit awkward for games
18:29:50  <mikolalysenko>at least for real time games
18:29:51  <guybrush>really i just dont get how you nonframework-guys can implement such a nice thing with so little
18:29:57  <guybrush>why?
18:30:05  <guybrush>why is it awkward
18:30:08  <mikolalysenko>well, the xhr fallback is super slow
18:30:15  <mikolalysenko>so much so that it is unusable
18:30:17  <guybrush>you can tell it to not use it
18:30:21  <mikolalysenko>and the flash sockets aren't really stable
18:30:33  <mikolalysenko>so pretty much the only thing that is good in it (for games anyway) is websockets
18:30:34  <guybrush>right its not hard to just not use it
18:30:49  <guybrush>the one thing sio is good at, its simple to use
18:30:54  <mikolalysenko>and it adds a bunch of this extra stuff over the websockets that you don't really need
18:31:01  <mikolalysenko>debateably...
18:31:03  <guybrush>so if you want to make some proof-of-concept i would go with socketio
18:31:12  <mikolalysenko>I think the main advantage of it is that it is robust
18:31:20  <mikolalysenko>in that it has fallbacks for lots of different platforms
18:31:26  <mikolalysenko>but it is not face, and not especially simple
18:31:34  <mikolalysenko>*fast (not face)
18:31:54  <guybrush>right i know everyone has opnions on everything -- me for example, i want to get things done, not make everything perfect :D
18:32:10  <mikolalysenko>also, i've had problems with it chewing up lots of memory, though maybe this has been fixed
18:32:10  <guybrush>so i start doing proof of concept with the fastest/simplest tools
18:32:25  <guybrush>true
18:32:31  <mikolalysenko>like I made this demo with it long ago and had availability problems due to socket.io leaking all over the place
18:32:40  <guybrush>the whole sio lib is pretty bloated
18:32:43  <mikolalysenko>https://github.com/mikolalysenko/NodeMinecraftThing
18:32:52  <guybrush>hm weird
18:33:05  <jez0990>mikolalysenko: I'm going to write you an example schema
18:33:10  <mikolalysenko>the real problem is that it chews up tons of memory per client
18:33:13  <guybrush>i have pretty solid demo with a LOT conversations over sio
18:33:19  <mikolalysenko>jez0990: cool, I will take a look at it
18:33:41  <guybrush>but didnt test with lots of clients yet :p
18:33:53  <guybrush>still working on getting multiserver working
18:34:04  <mikolalysenko>socket.io is probably a good choice for chat rooms and games which tolerate a lot of latency
18:34:09  <mikolalysenko>(like chess, go, etc.)
18:34:18  <mikolalysenko>but for real time games it is pretty horrible
18:34:36  <guybrush>why would you use socketio if you are familiar with another lib that is better
18:34:49  <mikolalysenko>well, that is why I don't use it anymore
18:34:59  <guybrush>right
18:35:14  <guybrush>i like how reconnect/sessions and that kind of stuff just works
18:36:38  <mikolalysenko>it may be better these days
18:36:59  <mikolalysenko>last time I used it was like a year or so ago, and it was pretty unreliable then
18:37:41  <guybrush>i remember at the 2nd nko it was the time when a new websocket-spec came out and pretty much everyone was fucked at the contest because of that haha
18:39:41  <defunctzombie>isaacs: for lockfile: wait and stale, what are those checking?
18:40:15  <defunctzombie>isaacs: I tried to run two separate processes against a wait: 1000, stale 500 and both seemed to pass the lockfile state
18:42:11  * kenperkinsjoined
18:42:43  * st_lukejoined
18:43:08  <defunctzombie>isaacs: do I need to keep re-locking the file?
18:45:37  * kenperkinsquit (Client Quit)
18:53:42  * dominictarrjoined
19:00:42  <st_luke>isaacs: submitted a patch for https://github.com/isaacs/npm/issues/1727
19:00:44  <st_luke>1 line
19:08:48  * keslajoined
19:09:10  * fallsemoquit (Quit: Leaving.)
19:13:30  <guybrush>st_luke: nice!
19:14:08  <guybrush>the _resolved thing, is this also on non-git dependencies?
19:15:37  <guybrush>what i can read in the code its on every module, so it just solves the "npm install and update everything if necessary"-issue?
19:16:08  <st_luke>guybrush: _resolved is used on git dependencies
19:17:56  <guybrush>hm its everywhere :D
19:18:23  <guybrush>on tarballs and gits
19:18:38  <st_luke>guybrush: are you seeing it in a module's package json after installation?
19:18:56  <guybrush>oh i would have to look
19:19:01  <st_luke>guybrush: that is where that is checking
19:19:08  <st_luke>it is looking in the installed package's package.json
19:20:39  <st_luke>guybrush: _resolved only exists in the module's package.json if it is a git dependency
19:20:47  <st_luke>it can be confusing
19:20:55  * Raltquit (Ping timeout: 246 seconds)
19:21:18  <st_luke>if you have other questions put them on the PR or issue though cause that way other people can learn from it
19:22:36  <guybrush>st_luke: yes its also in none-git deps
19:22:55  * Raltjoined
19:23:02  <st_luke>guybrush: can you gist me the package.json you’re using
19:23:04  <st_luke>cant reproduce
19:23:34  <guybrush>https://gist.github.com/guybrush/c3ff25563d3c177a4cf7
19:24:03  <guybrush>"_resolved": "https://registry.npmjs.org/connect/-/connect-2.7.5.tgz"
19:24:11  <guybrush>"_resolved": "git://github.com/guybrush/objpath#c3c624e3643abeb20a0505ac6fdb45058e248538"
19:24:33  <st_luke>ah weird
19:24:39  <defunctzombie>st_luke: we need a like to "legacy" node version docs on the docs pages
19:24:48  * fallsemojoined
19:24:56  <defunctzombie>st_luke: tons of people still on 0.8 (myself included) and have very few plans of migrating anytime soon
19:25:58  <st_luke>defunctzombie: like on nodejs.org?
19:27:15  <st_luke>defunctzombie: you can go right to version here - http://nodejs.org/docs/
19:27:52  <jesusabdullah>substack: http://www.youtube.com/watch?v=RM5K68tp5eY
19:28:07  <jesusabdullah>WE EVEN TRIED CALLING WEST OAKLAND "LOWER TEMESCAL"
19:28:07  <LOUDBOT>HOLY SHIT, A FUCKING PIKACHU AT LAST!
19:28:52  <niftylettuce>WTF LINODE
19:28:53  <LOUDBOT>I TRIED REALLY HARD TO INSTAIN BUT STILL NO BABBY
19:29:04  <st_luke>staying on 0.8x is a huge waste of time though
19:30:01  <defunctzombie>st_luke: that isn't really found anywhere
19:30:10  <defunctzombie>st_luke: staying on 0.8 is actually the opposite of that
19:30:19  <defunctzombie>st_luke: updating for no fucking reason is a waste of time
19:30:24  <defunctzombie>st_luke: because it is likely shit will break
19:30:28  <defunctzombie>st_luke: and in my case it will
19:30:33  <defunctzombie>st_luke: cause dgram got fucked
19:30:36  <st_luke>pointing it out is like telling people that they shouldnt care about upgrading
19:30:44  <defunctzombie>st_luke: and I still don't trust any streams shit cause it is all way to complex
19:31:00  <defunctzombie>st_luke: everyone has different needs
19:31:08  <defunctzombie>upgrading for the sake of a larger number is stupid
19:31:15  <defunctzombie>0.10 has nothing I want at this moment
19:31:32  <defunctzombie>therefore the only things an upgrade would bring would be broken shit and downtime
19:32:37  <st_luke>well the docs arent deleted, you can still get to them
19:33:22  <defunctzombie>st_luke: sure, just saying it might be nice to have a link to the latest stable of each series on the left or something
19:33:36  <defunctzombie>I mean.. people are still using them and needs easy docs access
19:33:38  <jesusabdullah>inorite niftylettuce
19:33:38  <st_luke>i dont think you're gonna have much luck convincing joyent to care about making a link to old docs
19:33:50  <st_luke>i think it should be harder for people to access the old docs personally
19:33:59  <st_luke>like make them download them from github
19:34:19  <st_luke>via svn
19:34:27  <niftylettuce>0.8.x is what i have to use because 0.10.x has a lot of bugs right now /cc st_luke
19:34:29  <jesusabdullah>>_<
19:34:45  <niftylettuce>either in node itself or ppl's packages
19:34:47  <niftylettuce>not updated
19:34:49  <jesusabdullah>I use 0.8 because I've had a rough track record with early adoption of "stable" branches
19:35:06  <defunctzombie>st_luke: this is why node js gonna be bullshit for anything of long term sustainable value if you take this approach
19:35:23  <defunctzombie>st_luke: I don't give two shits about the latest number, I care about it doing what I want in a non broken way :)
19:35:30  <jesusabdullah>It's pretty easy to get ahold of 0.8 though
19:35:52  <jesusabdullah>st_luke: are you using big on 0.10 ?
19:36:01  <guybrush>ihve still running websites with 0.6 :D
19:36:07  <jesusabdullah>lawds
19:36:09  <guybrush>thats what i made n-semver for haha
19:36:14  <defunctzombie>guybrush: of course.. if they are working and you don't change them
19:36:17  <defunctzombie>why wouldn't you
19:36:19  <guybrush>right
19:36:20  <jesusabdullah>I'll switch to 0.10 when nodejitsu announces 0.10 support XD
19:36:23  <st_luke>jesusabdullah: the only time i used big was when i helped out with vendoring that dependency
19:36:25  <st_luke>i dont really use frameworks
19:36:34  <jesusabdullah>pfffffffffffffffffffffffffffffffsht
19:36:46  <jesusabdullah>I mean, on some level I feel that but, maan we could use you
19:36:48  * AvianFluquit (Read error: Connection reset by peer)
19:36:54  <st_luke>its nothing against big though
19:36:55  <st_luke>i like it
19:37:24  * AvianFlujoined
19:39:25  <st_luke>i like frameworks, they are neat, i just dont really use them. there are a lot of things i like but do not use except once in a while
19:39:28  <st_luke>like cars
19:39:37  <st_luke>or tractors
19:39:52  <guybrush>lol
19:40:04  <guybrush>frameworks are cars or tractors? -.-
19:40:39  <guybrush>i think everyone has its own definition of a framework
19:40:47  <dominictarr>frameworks are like john deer, a certified compatible set of tractors and harverters
19:40:55  <dominictarr>and plows and all that shit
19:41:12  <guybrush>right if you do tractors all day long, you might want to go with john deer - right?
19:41:39  <dominictarr>but… I'm sure you could pull a john deer plow with a massy fergison
19:41:44  <guybrush>if you create blogs all day long you might want to go with wordpress..
19:42:05  <dominictarr>or go live in the forrest instead
19:42:27  <defunctzombie>I will use anything and everything that I think is the simplest thing to get the job done
19:42:28  <st_luke>building software is more interesting than using software
19:42:36  <guybrush>what i want to say is, if i do one thing over and over again why not just use the same thing again and again?
19:42:40  <guybrush>and better even
19:42:47  <guybrush>fix bugs and deploy it on the old stuff
19:42:55  <guybrush>thats not possible with lots of tiny modules
19:43:14  <guybrush>you would have to reinvent the whole thing again and again
19:43:29  <guybrush>found 1 bug, fix it - but still this will fix the one application
19:43:46  <guybrush>not the others, because there it is implemented in some other crazy way
19:44:01  <st_luke>if reinventing something is a better experience than using something someone else wrote than ill reinvent
19:44:21  <guybrush>i agree, but really if i have a nice thing
19:44:24  <guybrush>i will use it again
19:44:26  <guybrush>and again
19:44:36  <st_luke>yeah sure
19:44:39  <st_luke>write your own thing if you want
19:44:54  <guybrush>its like, if you have a framework which solves a bigger problem - the problem is solved
19:45:04  <st_luke>we wrote a framework where i work now and we'll probably reuse it or most of it for other things
19:45:07  <guybrush>so for example a "forum"
19:45:14  <st_luke>but the framework is the app
19:45:19  <guybrush>is the kind of problem which you can solve with a framework i think
19:45:41  <st_luke>a framework you release for consumers is more of a marketing thing anyway
19:45:46  <guybrush>riiight thats maybe how i think.. framework == endproduct/app
19:45:48  <dominictarr>guybrush: why would you BUILD the same thing again and again?
19:46:00  <guybrush>because its the product i sell
19:46:06  <guybrush>i sell making websites
19:46:09  <guybrush>with entries
19:46:11  <guybrush>calendar
19:46:13  <guybrush>and what not
19:46:26  <guybrush>i dont implement the whole thing again and again
19:46:50  <guybrush>i fix one bug, and deploy it to all the production
19:47:00  <dominictarr>absolutely! this is a silly argument because defunctzombie doesn't do that.
19:47:10  <st_luke>I don’t do that for a living either
19:47:12  <dominictarr>if did sold websites he'd use frameworks too
19:47:30  <guybrush>well i dont know what defunctzombie does actually
19:47:36  <guybrush>i just talked about what frameworks are for
19:48:08  <st_luke>frameworks are for marketing teams
19:48:25  <dominictarr>guybrush: he runs bitfloor.com
19:48:29  <guybrush>ok
19:48:39  <guybrush>anyway i just want to say frameworks are not evil
19:50:49  <defunctzombie>everything is a framework :)
19:52:06  <dominictarr>disagree
19:52:31  <guybrush>what is the difference between a framework and a lib?
19:52:39  <dominictarr>compare a sport like javlin with a sport like soccer
19:52:54  <dominictarr>javlin has nearly no rules, it's just throwing a spear
19:53:28  <dominictarr>soccer has a bunch of rules, that are pretty much arbitary, they could be different - but they way they are is called soccer
19:53:34  * dguttmanjoined
19:53:36  * ralphtheninjaquit (Ping timeout: 264 seconds)
19:54:10  <guybrush>i like soccer :p
19:54:12  <dominictarr>all the things about a lib should be a result only of what it's doing
19:54:50  <dominictarr>but a framework, it's the result of making a decision because they had to pick one way
19:54:52  * ralphtheninjajoined
19:55:29  <guybrush>ok, lets say i want to make a lib that makes bitfloor.com
19:55:50  <guybrush>basically that wouldnt be possible with a lib like you say a lib is right?
19:56:07  <dominictarr>no, because there is a million ways you could make bitfloor
19:56:19  <guybrush>ok
19:56:23  <dominictarr>like what color should the background be? what if it was blue?
19:56:25  <dominictarr>or green?
19:56:29  <guybrush>i understand what you mean
19:56:34  <dominictarr>what color is a bikeshed?
19:56:53  <guybrush>but now the result is, there have to be frameworks
19:56:58  <dominictarr>yes
19:57:09  <guybrush>like i want a ready to use solution for user-management
19:57:20  <guybrush>so there are some decisions to make
19:57:32  <guybrush>so that would be a framework
19:57:33  <dominictarr>because you can scale a company that builds one type of bikeshed
19:57:55  <dominictarr>or you can scale one bike shed
19:58:01  <guybrush>but that also means frameworks are not bad?
19:58:11  <guybrush>i mean i dont get it that everyone just craps on frameworks
19:58:14  <mikolalysenko>I think the problem with frameworks is not bikeshedding
19:58:16  <mikolalysenko>it is complexity
19:58:35  <guybrush>like i really enjoyed the mdb package in php:pear
19:58:43  <guybrush>such a piece of usefull software
19:58:49  <guybrush>with the auth framework
19:58:51  <guybrush>really nice
19:58:54  <mikolalysenko>never used it myself
19:58:59  <guybrush>liveuser it was called i think
19:59:04  <mikolalysenko>have you seen this talk? http://www.infoq.com/presentations/Simple-Made-Easy
19:59:15  <mikolalysenko>It is a little fluffy, but I think he makes some interesting points
19:59:27  <dominictarr>A big part of the point of frameworks, to be fair is that we all do it one way, so when you are looking for a backbone dev, you'll find one
19:59:42  <mikolalysenko>maybe
19:59:45  <dominictarr>and if you are a dev looking for jobs, you can learn backbone
19:59:53  <mikolalysenko>though we could all just do it the same way without a framework
19:59:57  <guybrush>also paul irish talked about this recently, somehow
20:00:01  <mikolalysenko>that isn't really intrinsic to frameworks
20:00:01  <defunctzombie>dominictarr: guybrush: a lib generally is about "truth" and a framework about opinion
20:00:18  <dominictarr>defunctzombie: plato would agree with you
20:00:21  <guybrush>i mean that everyone roles a new thing for everything
20:00:33  <defunctzombie>as in, with a lib, it isn't so much about I think it should be this way or that so much as it is the lowest interface to something else
20:00:35  <mikolalysenko>another way to say that is that if someone knows a framework, and that framework solves your problem, then that person probably knows how to solve your problem
20:00:45  <jesusabdullah>oh you guys
20:00:47  <dominictarr>but like libs exist within the context of other things
20:00:56  <dominictarr>like … a stream lib could be a lib
20:01:03  <jesusabdullah>it IS a lib no?
20:01:06  <jesusabdullah>by definition?
20:01:08  <dominictarr>but "streams" is a framework
20:01:16  <jesusabdullah>framework is a loaded term
20:01:16  * keslaquit (Quit: Computer has gone to sleep.)
20:01:18  <jesusabdullah>just roll with it
20:01:23  <guybrush>ok i like that classification lib:no opinion, framework:opinionated
20:01:27  <st_luke>if you want to use a framework just use one, who cares
20:01:30  <guybrush>or rather lib:less opinions :D
20:01:41  <jesusabdullah>st_luke: I want you to use MY framework so you can help fix it when it sucks
20:01:48  <mikolalysenko>maybe one man's framework is another man's lib
20:01:56  <guybrush>see!
20:01:57  <jesusabdullah>st_luke: very self-centered here XD
20:02:14  <dominictarr>mikolalysenko: that is too wishy washy
20:02:17  <mikolalysenko>maybe
20:02:26  <mikolalysenko>how about: framework = I compose you, lib = you compose me
20:02:27  <st_luke>jesusabdullah: big doesn’t really fit what we’re building
20:02:33  <mikolalysenko>err reverse that
20:02:33  <dominictarr>something could be a lib within, or assuming a framework
20:02:42  <jesusabdullah>st_luke: what are you building ooc?
20:02:50  <st_luke>some app
20:02:57  <jesusabdullah>"some app" XD
20:02:59  <mikolalysenko>basically with libraries the user gets to make choices about control flow and higher level problems
20:03:23  <mikolalysenko>with a framework, you give that up and try to work within an existing system
20:03:29  <dominictarr>another key difference… is that libs can be used on their own
20:03:39  <guybrush>frameworks cant?
20:03:40  <mikolalysenko>dominictarr: exactly!
20:03:52  <jesusabdullah>http://www.jocm.org.uk/index.php/JOCM/article/viewFile/86/73 after talking to the dude I'm thinking about trying to build this as an express middleware, possibly in coffeescript for lulz
20:04:06  <dominictarr>guybrush: not really
20:04:14  <guybrush>you can use wordpress on its own
20:04:14  <dominictarr>I mean, you use one framework
20:04:20  <jesusabdullah>I'm not much of one for coffeescript but I can see its value for "easy-to-read embedded dsl's"
20:04:20  <dominictarr>one at a time
20:04:28  * wiwillia_joined
20:04:33  <dominictarr>like, you don't use angular and backbone
20:04:39  <mikolalysenko>working in a framework is like modifying an existing application
20:04:42  <jesusabdullah>CHALLANGE ACCEPTED
20:04:43  <LOUDBOT>AND IF YOUR SON DOESN'T, I BET YOUR DAUGHTER KNOWS
20:04:50  <mikolalysenko>like if you've ever written mods for video games or something
20:04:54  <guybrush>dominictarr: you could use angular and backone at the same time :p
20:04:56  <jesusabdullah>not always mikolalysenko <_<;
20:05:01  <dominictarr>jesusabdullah: please merge in ember too
20:05:11  <jesusabdullah>embularbone.js
20:05:19  <dominictarr>jesusabdullah: ++
20:05:20  <jesusabdullah>written in coffeescript
20:05:27  <dominictarr>guybrush: but is it a good idea
20:05:28  <guybrush>also you can use wordpress and joomla and some other thing
20:05:41  <dominictarr>jesusabdullah: of course, we want it to be easy to read
20:05:46  <mikolalysenko>jesusabdullah: I'd love to see that
20:05:54  <jesusabdullah>djangopress, requires both php and python but it's totally cool
20:05:58  <guybrush>dominictarr: right i know what you mean :p just trollin
20:06:09  <jesusabdullah>mikolalysenko: yeah me too, too bad I'm so busy hacking on this web framework XD
20:06:20  <mikolalysenko>oh no!
20:06:23  <guybrush>jed is talking! http://2013.texasjavascript.com/stream/
20:06:32  * st_lukequit (Remote host closed the connection)
20:06:54  <guybrush>it will be about some client-side server-stuff for sure :p
20:07:03  <mikolalysenko>ok, watching
20:07:13  <mikolalysenko>I think the bigger issue with frameworks is lack of composability
20:07:32  <mikolalysenko>which leads to them getting too many features
20:07:50  <mikolalysenko>the two worst offenders in this camp that I can think of are jquery and three.js
20:08:00  <mikolalysenko>but there are countless others
20:08:01  <guybrush>haha
20:08:42  <mikolalysenko>but it is harder to make libraries than it is to make frameworks
20:09:01  <mikolalysenko>because a framework is basically a shell of an application, with some stuff ripped out and a few hooks added in
20:09:12  <jesusabdullah>I mean
20:09:19  <jesusabdullah>as a framework author I would disagree
20:10:41  <jesusabdullah>it *can* be like that but it doesn't *have* to be
20:13:27  <mikolalysenko>well, the basic problem is that frameworks resist composition
20:13:34  <mikolalysenko>and so they tend toward enormity and complexity
20:13:53  <jesusabdullah>untrue, our framework is based entirely on being able to compose various pieces
20:14:07  <jesusabdullah>we have something like 30 resources, all of which are optional
20:14:11  <mikolalysenko>yes, but the composition comes from peer dependencies
20:14:20  <jesusabdullah>I mean
20:14:24  <jesusabdullah>have you even looked at big?
20:14:34  <mikolalysenko>no, and maybe it is better
20:14:41  <jesusabdullah>https://github.com/bigcompany/big
20:15:02  <jesusabdullah>https://github.com/bigcompany/resource <--you can use this on its own, but it's the meat/potatoes of big's functionality
20:15:21  <jesusabdullah>https://github.com/bigcompany/resources <--these are the built-in resources you can use to build up an application
20:15:30  <jesusabdullah>https://github.com/bigcompany/big ties these together
20:15:45  <jesusabdullah>and, yes I'll admit, big, resource and resources end up being peer dependencies due to some interesting things
20:16:27  <jesusabdullah>and I won't begin to claim that big is always the answer. I know for a fact that a lot of the people here would straight up not use it
20:16:34  <jesusabdullah>but it's no django
20:16:50  <jesusabdullah>most importantly, you do end up writing your own entry point
20:17:11  <jesusabdullah>we're going to be open sourcing some projects using it soon
20:17:15  <jesusabdullah>:3
20:22:51  * pib1951joined
20:24:32  <substack>frameworks are like when an idealist gives up and tries to "change things from the inside"
20:24:39  <substack>working within the rules of the system
20:25:10  <jesusabdullah>I still feel like you're mischaracterizing what I've been working on
20:25:14  <jesusabdullah>even if it's not your cup of tea
20:25:16  <jesusabdullah>and I know it's not
20:25:52  <substack>I haven't looked at big much
20:26:11  <substack>I haven't really had the problem that frameworks solve
20:26:23  <substack>I haven't really had the problem that promises solve
20:26:30  <substack>I haven't really had the problem that jquery solves
20:26:48  <tmcw>jesusabdullah: :/ https://github.com/tmcw/big
20:26:53  <mbalho>substack: "changing things from the inside" is sometimes a valid strategy, not everyone wants to see the world burn like you :)
20:26:59  <jesusabdullah>tmcw: lol inorite
20:27:19  <substack>mbalho: yes I am something of a software anarchist
20:27:25  <jesusabdullah>tmcw: I'm cool with it if you are <_<;
20:27:28  * tmcwshould always trademark, should always trademark
20:27:29  <substack>purely for aesthetic reasons
20:27:31  * wiwilliajoined
20:28:06  <jesusabdullah>substack: and I feel that, I really do
20:28:13  * tilgoviquit (Ping timeout: 240 seconds)
20:29:38  * wiwillia_quit (Ping timeout: 245 seconds)
20:29:43  <mbalho>lol
20:34:39  <mikolalysenko>my current feeling is that modules/libraries are strictly better, but for some problems I don't know how to solve them with frameworks
20:35:05  <jez0990>mikolalysenko: just re-published so please do test it, and here's the example https://github.com/jez0990/crdt-monotonic-dag/blob/master/example/generic-game/game.js
20:35:05  <mikolalysenko>like if you look at 3d rendering in general, I don't know how you would modularize it any sane way
20:35:16  <mikolalysenko>jez0990: awesome! checking it out
20:38:42  * shuaibquit (Quit: Computer has gone to sleep.)
20:40:03  <Raynos>Just going to leave this here https://mail.mozilla.org/pipermail/es-discuss/2013-April/029805.html
20:41:13  <juliangruber>omg
20:42:13  <juliangruber>it says "..kiiillll...m.e.eeeee"
20:48:51  <dominictarr>I wouldn't get particularily worried about any particular proposal
20:49:28  * tmcwquit (Remote host closed the connection)
20:49:45  <dominictarr>just focus on the important thing that is teaching people how to actually use streams
20:51:05  * st_lukejoined
20:54:40  <jesusabdullah>Why don't they just blatantly copy node?
20:54:46  <jesusabdullah>Not to say that node is perfect but, like
20:54:51  <jesusabdullah>seems like it would be easier no?
20:54:54  <jesusabdullah>fucking language architects
21:00:49  <dominictarr>because only hipsters use node, not spec designers
21:04:02  <mikolalysenko>not enterprisey enough
21:04:28  <mikolalysenko>those java dudes are the modern day version of cobol programmers
21:05:04  <mikolalysenko>PLEASE ADD 1000 TO LINESOFCODE
21:05:04  <LOUDBOT>THERE ARE EASIER WAYS TO ENGAGE IN MALE BONDING
21:05:31  <chrisdickinson>best module(s) to do a username/pw prompt?
21:05:47  <mikolalysenko>we had this conversation earlier, did not reach a conclusion
21:05:52  <mikolalysenko>though authom solves part of the problem
21:06:00  <mikolalysenko>https://github.com/jed/authom
21:06:09  <mbalho>chrisdickinson: im writing one right now
21:06:14  <chrisdickinson>ah cool
21:06:33  <chrisdickinson>this is just for cli
21:06:39  <chrisdickinson>not for website logins
21:06:50  <mbalho>oh
21:06:52  <mbalho>nvm
21:08:05  <dominictarr>contemplating eating metaphores for explaining streams
21:08:39  <dominictarr>like -- readFile is just like trying to stuff your whole meal into your mouth and eat it in one gulp
21:09:11  <dominictarr>(which we all tried to do as kids, right?)
21:09:13  <mbalho>americans think that is the correc tbehavior
21:09:59  <dominictarr>maybe you can fit a McCheese in your mouth at once, but not the fires too
21:10:22  * kenperkinsjoined
21:10:56  <jez0990>dominictarr: that metaphor can only end in disgust
21:10:56  <Raynos>dominictarr: Have you seen the americans?
21:11:23  <mikolalysenko>have any of you guys heard about the crazy stuff going down in boston?
21:11:40  <dominictarr>Raynos: I've never been to the flyover states, so the americans I have met seem pretty okay.
21:12:48  * tmcwjoined
21:12:55  <chrisdickinson>aw, kansas isn't entirely bad :|
21:12:55  <dominictarr>jez0990: absolutely… especially when you get to explaining errors
21:13:28  * kenperkinsquit (Read error: Connection reset by peer)
21:14:21  <mbalho>mikolalysenko: ya jlord used to live 4 blocks from where the car bombs went off... super sad situation over there
21:17:23  * fallsemoquit (Quit: Leaving.)
21:23:25  <mikolalysenko>mbalho: it just seems so senseless and destructive
21:25:48  <chrisdickinson>):
21:31:11  <jlord>mikolalysenko: yeah, it's really scary. the marathon is always on Patriots Day's which is a city holiday in Boston and usually a happy day off :(
21:32:43  * kenperkinsjoined
21:34:37  * thl0_quit (Remote host closed the connection)
21:36:31  <st_luke>they werent car bombs
21:37:00  * jcrugzzquit (Quit: leaving)
21:37:32  <mbalho>ah well too many inaccurate tweets i guess
21:37:47  * jcrugzzjoined
21:38:36  <mikolalysenko>there is a part of me that really hopes this was domestic terrorists and not foreign
21:38:45  <mikolalysenko>or else the backlash is going to be really awful
21:41:14  <jlord>mikolalysenko: yeah
21:42:56  * nicholas_quit (Read error: Connection reset by peer)
21:43:30  * nicholas_joined
21:46:01  * fallsemojoined
21:46:11  <st_luke>time to move out of big cities
21:49:19  <mikolalysenko>welp, I'm just sitting here in indiana, not getting enough work done on my thesis...
21:49:47  <st_luke>yeah not getting any work done either
21:58:50  * kenperkinsquit (Read error: Connection reset by peer)
21:58:54  * keslajoined
21:59:38  * kenperkinsjoined
22:00:48  * kenperkinsquit (Client Quit)
22:01:09  * dguttmanquit (Quit: dguttman)
22:01:09  * spionjoined
22:01:34  * shuaibjoined
22:02:46  * kenperkinsjoined
22:02:46  * shuaibquit (Client Quit)
22:05:26  * kenperkinsquit (Client Quit)
22:08:47  <defunctzombie>st_luke: how you getting to node philly?
22:08:55  <defunctzombie>st_luke: and have you found a place to say?
22:13:28  <pkrumins>ei*pi + 1 = 0
22:13:28  <pkrumins>Made the mathematician Euler a hero
22:13:28  <pkrumins>From the real to complex
22:13:28  <pkrumins>With our brains in great flex
22:13:29  <pkrumins>He led us with zest but no fearo.
22:14:14  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
22:14:14  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
22:14:28  <substack>yay
22:15:21  <defunctzombie>isaacs: is there a lockfile touch?
22:15:32  <defunctzombie>isaacs: so that I can refresh the lockfile while something still has it?
22:20:06  * simcop2387quit (Quit: ZNC - http://znc.sourceforge.net)
22:22:55  * simcop2387joined
22:25:26  <mikolalysenko>pkrumins: it is e^(i * pi)
22:26:05  <pkrumins>yes :)
22:26:15  <mikolalysenko>and there is also a lot more euler is famous for...
22:26:47  <st_luke>defunctzombie: when is it?
22:27:10  <pkrumins>he's famous for too much http://mathworld.wolfram.com/search/?query=euler
22:27:30  <st_luke>defunctzombie: i might end up skipping it, trying to take a break from 'community' events etc
22:27:37  <defunctzombie>heh
22:27:52  <defunctzombie>st_luke: I have been so busy lately that I debated about not going
22:27:57  <defunctzombie>substack: you going to node philly/
22:28:16  <st_luke>defunctzombie: yeah id kinda rather write software lately than socialize about it
22:30:16  * dguttmanjoined
22:30:34  * wolfeidauquit (Remote host closed the connection)
22:32:19  <substack>defunctzombie: I'm speaking
22:32:58  <substack>st_luke: you should catch the video later at least
22:33:06  <substack>I'm going to be demoing ploy
22:37:29  * keslaquit (Quit: Computer has gone to sleep.)
22:45:00  * thl0joined
22:48:11  * thl0quit (Read error: Operation timed out)
22:49:06  * nicholas_quit (Remote host closed the connection)
22:51:43  * wolfeidaujoined
22:55:02  * tmcwquit (Remote host closed the connection)
22:55:59  * ins0mniaquit (Ping timeout: 255 seconds)
23:06:14  <st_luke>nice, the world needs more simple deployment tools
23:06:24  <st_luke>giant orchestration platforms are an anti pattern
23:07:56  <substack>$ wc -l index.js lib/spawn.js bin/cmd.js | tail -n1 709 total
23:08:02  <substack>a bit big but meh
23:09:18  <substack>command-line tools have more leeway to grow it seems
23:09:26  <substack>like git is pretty big but relatively self-contained
23:09:37  * mikealjoined
23:10:14  <st_luke>if it's easy to use and get started then anyone can try it without a big time expense
23:11:02  <substack>to use it you just do `ploy server somedir -p someport
23:11:03  <substack>`
23:11:26  <substack>and then you `git push http://somehost:someport/_ploy/somerepo.git somebranch`
23:12:38  <st_luke>platforms like puppet & chef are expensive. you have to spend all this time learning how to use them before you can decide if you even like it.
23:13:00  <st_luke>if you spend 2 weeks learning how to use one of these tools really well and you live for 70 years, you just spent .05% of your life on it
23:20:34  <substack>running something like chef, puppet, or rails is like being an x-ray technician
23:20:52  <substack>you know what buttons to push and when
23:21:01  <substack>but everything else is very opaque
23:21:51  <mbalho>there are x ray machines in every doctors office, they are very useful, and the jobs pay well
23:22:51  <substack>also that
23:23:25  <substack>it's also much harder to automate away x-ray technicians
23:23:34  <substack>because of the real-worldness of it
23:31:40  * kenperkinsjoined
23:35:23  <dominictarr>is't chef just a Makefile with a server?
23:36:12  <dominictarr>thats the main thing, right - figuring out the dependencies of a task/setting and doing what must be done to get it into that state
23:36:14  * fallsemoquit (Quit: Leaving.)
23:38:02  <dominictarr>I'm suspusious about the need for make… it doesn't seem like a real abstraction of anything
23:39:39  <st_luke>automation is important but not for everybody
23:39:45  <st_luke>most people just want to run their app
23:40:02  <st_luke>"how do I make my website go? I wrote it in node js"
23:40:21  <dominictarr>I mean: why does make have it's own language/dsl
23:40:29  <dominictarr>why can't it just be a lib
23:41:32  <dominictarr>if bash didn't suck so much, it make would just be a bash script, not it's own program
23:42:03  <st_luke>if you just make it a simple lib you can’t sell long-term training sessions on it to companies with a lot of money
23:42:39  <dominictarr>I've never heard of corporate 'make' training
23:42:58  <st_luke>oh I was talking about automation stuff like chef
23:43:05  <dominictarr>oh, right -
23:43:45  <dominictarr>- would you agree it's basically make with a server?
23:44:12  <st_luke>yeah, make for servers sounds like a pretty good way to describe it
23:46:33  * mikolalysenkoquit (Ping timeout: 276 seconds)
23:52:21  * mikealquit (Quit: Leaving.)
23:56:37  * CoverSlidejoined
23:56:52  * evboguejoined
23:59:10  * spionquit (Ping timeout: 246 seconds)