00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:00:45  <grncdr>ircretary: tell mikolalysenko that he should just depend on minor version ranges of the ndfoo modules he maintains
00:00:46  <ircretary>grncdr: I'll be sure to tell mikolalysenko
00:00:50  * ednapiranhaquit (Quit: Leaving...)
00:01:24  <grncdr>I think the issue is that npm is just conservative
00:02:51  <grncdr>there's nothing clearly *wrong* with depending on "1.x.x", but since many people abuse semver, npm has a more conservative default
00:05:32  * contrahaxjoined
00:07:32  * guybrushquit (Excess Flood)
00:07:38  * guybrushjoined
00:10:54  * contrahaxquit (Quit: Sleeping)
00:11:15  * AvianFluquit (Ping timeout: 245 seconds)
00:16:35  * contrahaxjoined
00:17:14  * eugenewarejoined
00:19:53  * eugenewarequit (Remote host closed the connection)
00:19:54  * fallsemoquit (Quit: Leaving.)
00:20:28  * eugenewarejoined
00:20:28  * fallsemojoined
00:23:31  * mikolalysenkoquit (Ping timeout: 272 seconds)
00:24:43  * eugenewarequit (Ping timeout: 252 seconds)
00:27:01  * fallsemoquit (Quit: Leaving.)
00:29:11  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:30:27  * mikolalysenkojoined
00:31:30  * thealphanerdquit (Quit: thealphanerd)
00:31:53  * thlorenzjoined
00:33:52  * hoobdeeblaquit
00:34:32  * fotoveritejoined
00:41:30  * thlorenzquit (Remote host closed the connection)
00:42:47  <mikolalysenko>so thinking about this going forward, as far as npm thinks about it a version is formally a 1) total order that determines which version is most recent and 2) a relation on the order that determines when two versions are "compatible"
00:43:05  <mikolalysenko>in this sense, really there are two different components to a semantic version, not 3
00:43:16  <mikolalysenko>you have "major.minor" which is part of the total order
00:43:35  <mikolalysenko>and a patch which is a simple equivalence
00:43:48  <mikolalysenko>but you can't express things like backwards compatibility in this notation
00:44:21  <grncdr>well, that is true of the notation, which is why "semantic versioning" was invented
00:44:31  <mikolalysenko>yeah
00:44:40  <mikolalysenko>but npm doesn't implement semantic versioning by default
00:44:48  <mikolalysenko>semantic versioning is basically an opt-in thing
00:45:04  <grncdr>not sure I follow
00:45:31  <grncdr>oh no I get you now
00:46:09  <grncdr>yeah, by default, npm distrusts that authors implement semantic versioning "according to the rules"
00:46:25  <mikolalysenko>so what is the point of having semantic versioning then?
00:46:28  <grncdr>because they often don't, and isaacs is pragmatic
00:46:39  <mikolalysenko>so, then kill the whole thing and don't use semantic versioning
00:46:44  <mikolalysenko>use a "lexicographic versioning"
00:46:47  <grncdr>you *can* opt in to it though
00:47:19  <grncdr>what was the opposition to depending on minor version ranges?
00:47:28  <grncdr>"ndarray": "1.x.x"
00:47:37  <mikolalysenko>opt in doesn't really work though for versioning
00:47:45  <mikolalysenko>it should really be opt out
00:47:55  <mikolalysenko>like you get a module, it breaks versioning so you flag it as a bad actor
00:48:10  * tilgoviquit (Remote host closed the connection)
00:48:54  <grncdr>I agree that would be good, but at the time this stuff was first implmented npm lacked the ability to control nested deps
00:49:15  <grncdr>so you would have to assure that all of your transitive dependencies were "good actors" as well
00:49:32  <grncdr>why doesn't opt in work?
00:49:55  <mikolalysenko>because you start using a module, it gets a backwards compatible feature upgrade, and then a bug fix
00:50:09  <mikolalysenko>and you get left high and dry with a broken module
00:50:24  <mikolalysenko>maybe a security vulnerability, etc
00:50:34  <grncdr>so depend on the minor version
00:50:41  <grncdr>er, major rather
00:50:49  <mikolalysenko>but you have to opt in to that behavior
00:51:04  <grncdr>it's not particularly hard to do
00:51:14  <grncdr>fwiw the defaults got even more conservative recently...
00:51:41  <grncdr>npm puts exact in your "dependencies" object by default now
00:51:47  <grncdr>*exact versions
00:52:18  <mikolalysenko>but then you could just stick one number for each version
00:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 16]
00:53:01  <mikolalysenko>semantic versioning is necessary so you can express the concept of backward compatibility without upward compatibility
00:53:25  <mikolalysenko>the current implementation only has patch compatibility (which is an equivalence) and incremented major/minor version which amount to the same thing
00:53:43  <ogd>oh yea grncdr is right, the default in npm now isnt even ~0.0.1, its just 0.0.1
00:53:44  <grncdr>wat?
00:53:56  <grncdr>ogd: actually it's both, which is really weird...
00:54:03  <substack>I like the squiggles
00:54:04  <mikolalysenko>npm init uses "~"
00:54:09  <mikolalysenko>npm install use nothing
00:54:09  <ogd>grncdr: ? i did npm install --save and it didnt put squiggles
00:54:27  <grncdr>ogd: try this in a new package: npm install —save deep-equal listify
00:54:39  <grncdr>I get a squiggle for deep-equal and none for listify
00:54:42  <grncdr>:|
00:55:23  <ogd>grncdr: me too lol
00:55:28  <ogd>grncdr: i think thats a bug
00:55:36  <grncdr>anyways, mikolalysenko, "implementation only has patch compatibility (which is an equivalence) and incremented major/minor version" doesn't make sense to me
00:55:51  <mikolalysenko>so there are two relations here
00:55:59  <mikolalysenko>moreRecentVersion(a,b)
00:56:05  <mikolalysenko>and compatibleWith(a,b)
00:56:13  <mikolalysenko>moreRecentVersion is just a simple lexicographic order
00:56:30  <mikolalysenko>compatible is more interesting though
00:56:50  <mikolalysenko>it checks that major versions are equal and that the minor version of a <= minor version of b
00:56:59  <mikolalysenko>but the npm version just checks that major and minor are equal
00:57:09  <mikolalysenko>you can't express the concept of backwards compatibility with this
00:57:10  <grncdr>the ~ you mean
00:57:14  <mikolalysenko>only interchangeability
00:57:33  <grncdr>npm version is capable of checking a wide variety of ranges though
00:58:01  <grncdr>>=1.2.1 <1.3.x
00:58:21  <mikolalysenko>that is different than compatibleWith for versions
00:58:27  <grncdr>true
00:58:28  <mikolalysenko>that is just checking a range of versions, not ~
00:58:51  <grncdr>is "~" defined as compatibleWith somewhere?
00:59:25  <grncdr>like, I think I get what you're driving at, which is that there should be a compatibleWith operator
00:59:26  * kenperkinsjoined
00:59:31  <mikolalysenko>I introduces the notation compatibleWith and moreRecentVersion for the sake of this discussion
00:59:36  * thlorenzjoined
01:00:08  <grncdr>so you'd like npm (semver really) to implement compatibleWith
01:00:13  <grncdr>and use it by default
01:00:14  <grncdr>?
01:00:16  <mikolalysenko>yeah
01:00:27  <mikolalysenko>that is what semver for right?
01:00:51  <grncdr>where compatibleWith(a, b) === b >= a & b < a+majorIncrement
01:01:13  * jxsonquit (Remote host closed the connection)
01:01:16  <mikolalysenko>well, suppose a semVer is a tuple with 3 parts
01:01:40  * jxsonjoined
01:01:56  * AvianFlujoined
01:02:06  <grncdr>yeah sorry my notation is not exactly precise there ;)
01:02:08  <mikolalysenko>moreRecent(a,b) === (a[0] > b[0]) || (a[0] === b[0] && (a[1] > b[1] || (a[1] === b[1] ....
01:02:40  <mikolalysenko>and comparibleWith(a,b) === (a[0] === b[0]) && (a[1] >= b[1])
01:02:44  <rowbit>substack, pkrumins: Encoders down: 50.56.27.70 (dev-ie6-1)
01:02:54  <grncdr>yeah, that is what I intended to write
01:03:06  <grncdr>(and kind of did…)
01:03:17  <grncdr>anyways, that would be a useful patch to the semver lib
01:03:24  * thlorenzquit (Remote host closed the connection)
01:04:38  <grncdr>then fighting the battle of adding it as default to npm would be all yours ;)
01:04:44  <mikolalysenko>yeah...
01:05:04  <mikolalysenko>I think my current workaround is to just abuse patch, since that is what npm seems to be encouraging me to do...
01:05:17  <ogd>mikolalysenko: you should see what isaacs thinks, as he wrote it in the first place
01:05:58  * jxsonquit (Ping timeout: 245 seconds)
01:07:09  <grncdr>mikolalysenko: you should really just use the ranges you can write today… ">= a[0].a[1].0 && < (a[0] + 1).0.0"
01:07:39  <mikolalysenko>it isn't enough to just do that in my own modules
01:07:44  <grncdr>or even include patch (a[2]) in that first comparison
01:07:46  <grncdr>oh?
01:07:54  <mikolalysenko>it has to be implemented universally to be useful
01:08:33  * ednapiranhajoined
01:08:50  <marcello3d>anyone going to this? http://www.meetup.com/Node-js-Beer/events/161274872/
01:09:34  <grncdr>I disagree (ha surprise!) you could very easily PR all the repos that depend on ndarray in the time it's taken us to have this conversation ;)
01:10:19  <grncdr>slightly longer and you could probably write a script to do it automatically whenever somebody publishes a module that uses a ~ dependency on ndarray
01:10:28  <mikolalysenko>actually, it looks like the real solution is to use ^ for version strings
01:10:29  <mikolalysenko>not ~
01:11:09  <grncdr>oh snap!
01:11:32  <grncdr>I did not see that there was already the compatible with operator :)
01:11:45  <mikolalysenko>yeah, the ~ operator is really just the wrong answer
01:11:51  * fallsemojoined
01:15:49  <grncdr>you should very much open an issue on npm/npm
01:16:03  <mikolalysenko>maybe the solution should be for npm init to default to ^
01:18:23  * kenperkinsquit (Quit: Computer has gone to sleep.)
01:18:46  <mikolalysenko>ok, I feel foolish having used "~" everywhere...
01:19:35  * phatedquit (Remote host closed the connection)
01:20:36  <marcello3d>what does ^ do in semver?
01:20:44  <mikolalysenko>what you would have hoped ~ does
01:20:56  <mikolalysenko>it actually matches comaptible versions
01:21:06  <marcello3d>what does ~ do?
01:21:16  <mikolalysenko>it only matches major and minor
01:22:44  <marcello3d>so it doesn't require patch to be >=?
01:23:13  <marcello3d>e.g. it's the same as x.y.* ?
01:23:40  <mikolalysenko>it does bound minor version
01:23:52  * defunctzombie_zzchanged nick to defunctzombie
01:24:39  <defunctzombie>marcello3d: ~1.3.2 means the following
01:24:49  <defunctzombie>>= 1.3.2 < 1.4.0
01:24:53  <defunctzombie>~1.3 means
01:24:59  <defunctzombie>>= 1.3.0 < 2.0
01:25:29  <mikolalysenko>^1.2.3 means >= 1.2.3 and < 2.0.0
01:25:39  <defunctzombie>the "~" in npm versions means let the last digit be anything higher than specified (or specified) but only not the next patch level
01:25:46  <defunctzombie>^ is a terrible idea
01:25:52  <defunctzombie>in package deps
01:26:02  <mikolalysenko>why?
01:26:08  <defunctzombie>~ is already pushing it in some cases
01:26:15  <defunctzombie>because not everyone follows semver the same way
01:26:23  <defunctzombie>so when you git clone or install a module a month from now
01:26:28  <defunctzombie>you will be on a completely different codebase
01:26:30  <ogd>mikolalysenko: defunctzombie is a specific version pegging enthusiast
01:26:33  <defunctzombie>this makes history hard to follow
01:26:47  <defunctzombie>and makes new development always start from different codebases
01:26:52  <defunctzombie>ogd: you know it :)
01:27:31  <defunctzombie>mikolalysenko: it is hard to see the effects of this over one week or when you mostly use your own modules
01:27:49  <defunctzombie>but over time and with many modules used all over the place it will come up
01:28:00  <defunctzombie>and cause confusion and wasted time debugging
01:28:12  * dguttmanquit (Quit: dguttman)
01:30:03  <mikolalysenko>maybe. but there are also lots of cases where not upgrading can cause breaking down the line
01:30:25  <mikolalysenko>really the problem is upgrading to a buggy module, which is not nice
01:30:50  * contrahaxquit (Quit: Sleeping)
01:31:54  <defunctzombie>mikolalysenko: auto-upgrading is not the answer. if something is broken later, you fix it and commit with the bump so people know what happened
01:32:18  * jxsonjoined
01:34:02  <mikolalysenko>well, then why have versioning at all?
01:35:07  * yorickquit (Remote host closed the connection)
01:35:12  <ogd>IMO i have found semantic versioning to be useful for humans to interpret more than computers
01:35:15  <defunctzombie>because versioning is about letting humans know what changed
01:35:38  <defunctzombie>it is not a substitute for checking change history and doing testing
01:38:01  * marcello3dchanged nick to marcello3d_zzZ
01:38:25  * jxsonquit (Ping timeout: 252 seconds)
01:41:30  <mikolalysenko>then why bother making a formal system? seems a bit self defeating to not use autoupgrading
01:43:15  <mikolalysenko>defunctzombie: for shallow deps, I get what you are saying, but the real problem with manual upgrades is nested deps
01:43:24  <mikolalysenko>like library x depends on library y, depends on library z
01:43:38  <mikolalysenko>z increments and now O(n) things need to get poked
01:43:45  <mikolalysenko>which is stupid and a waste of human effort
01:45:56  * fallsemoquit (Quit: Leaving.)
01:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 20]
01:54:25  <ogd>node projects by ruby developers are so weird... https://github.com/atmos/camo not on npm, almost empty package.json, tests written in ruby
01:55:37  <grncdr>indeed
01:55:40  <grncdr>ugggghg
01:55:52  <grncdr>I think I've hit my limit with trying to use Hapi
01:56:03  <grncdr>it's just doing too much crap I don't want
01:56:40  <grncdr>like, it has this "reply" interface and you can do reply(stream) to stream the reply back to the user
01:56:44  <grncdr>yay! cool!
01:57:09  <grncdr>but if the stream happens to be a node http.ClientResponse it *also* copies all the headers downstream
01:57:30  <grncdr>and clobbers the content-length header I'm setting
01:57:40  <grncdr>which is 99% of the reason for proxying this request anyways
01:58:15  <grncdr>"so!" I say to myself, "I like open source! I will find the part of Hapi that does this and submit a PR"
01:58:43  <grncdr>I've been browsing the code for like 10 minutes and I still can't find where it pipes my stream
01:58:44  * thlorenzjoined
01:58:51  <grncdr></rant>
02:00:31  <ogd>yea that would be my give-up point too i think
02:06:30  <defunctzombie>ogd: what the hall is camo even for?
02:07:29  <ogd>defunctzombie: https://github.com/blog/1766-proxying-user-images
02:09:02  <defunctzombie>why didn't they just use nginx?
02:09:13  <defunctzombie>it seems like someone really found a way to overengineer this
02:09:57  <defunctzombie>also.. why is their proxy server like more than 10 lines that just use http-proxy? rofl
02:12:00  <mikolalysenko>grncdr: you could do a dirty trick
02:12:40  <mikolalysenko>instead of reply(stream) do stream.pipe = function() { throw "HERE IT IS" }; reply(stream)
02:12:59  <mikolalysenko>or something that causes an unrecoverable error
02:13:08  <mikolalysenko>and then trace to the line where it messed up
02:13:42  <grncdr>ah, that's fun
02:13:48  <grncdr>but I did eventually find it
02:14:03  <josephg>mikolalysenko: you don't need to throw - console.trace('here it is'); originalMethod(); is my preferred way
02:14:15  <ogd>i usually do new Error().stack
02:14:17  <grncdr>also, figured out that it was more complicated than I had thought
02:14:35  <josephg>my fav hack using that was that I once wanted to find the biggest allocators of a small javascript class
02:15:00  <josephg>- so I counted allocations in an object indexed by Error().stack
02:15:14  <ogd>hah nice
02:15:27  <josephg>then at exit I found the biggest offenders and printed out their stack traces
02:15:35  <mikolalysenko>josephg: ah, good point. I guess I am too used to thinking in terms of C++, where you just want it crash at some point debug the core dump
02:15:38  <josephg>it was slow, but I was pretty happy with that :)
02:15:45  <josephg>mikolalysenko: heh yep
02:17:06  * kumavis_joined
02:17:32  <chapel>grncdr: what is the usecase for passing a client response?
02:17:35  <chapel>are you proxying?
02:17:47  <grncdr>chapel: yes
02:18:07  <grncdr>I realized my mistake: I wasn't setting an accepted encoding in the upstream response
02:18:21  <grncdr>reply.proxy doesn't exactly cover my use case either (not quite, but close)
02:18:51  <grncdr>er, upstream.request
02:18:58  <chapel>just curious what use case it doesn't cover
02:19:03  <chapel>I haven't found one it can't handle
02:19:18  <grncdr>well, it might end up covering mine after all, I need to test one more thing
02:21:57  <chapel>what are you trying to do?
02:23:28  <grncdr>proxy a file download, add a content-disposition header and rewrite some of the other onesupstream.
02:23:39  <grncdr>s/upstream.//
02:29:39  * jxsonjoined
02:34:18  <grncdr>yeah, I actually want practically none of the headers in the upstream response, since they are potentially sensitive data
02:39:25  * i_m_cajoined
02:41:32  * jxsonquit (Remote host closed the connection)
02:41:52  * ednapiranhaquit (Quit: Leaving...)
02:42:33  * kirbysayshijoined
02:42:55  * eugenewarejoined
02:44:01  * jxson_joined
02:47:32  * eugenewarequit (Remote host closed the connection)
02:48:42  * contrahaxjoined
02:48:55  * jxson_quit (Ping timeout: 272 seconds)
02:52:26  <rowbit>Hourly usage stats: [developer: 1, free: 20]
02:52:55  * funkytekjoined
02:57:43  * maksimlinquit (Ping timeout: 265 seconds)
02:59:06  * maksimlinjoined
03:01:13  * funkytekquit (Read error: Connection reset by peer)
03:06:31  * fallsemojoined
03:07:52  * maksimlinquit (Ping timeout: 265 seconds)
03:10:23  * eugenewarejoined
03:15:04  <ryanflorence>anybody used http-proxy with a unix socket before?
03:15:09  * mikolalysenkoquit (Ping timeout: 272 seconds)
03:15:35  <ryanflorence>my proxy server starts up but as soon as it tries to proxy I get an ECONNREFUSED
03:15:53  <ryanflorence>woops wrong channel, but still an audience that might know :P
03:20:51  * kumavis_quit (Ping timeout: 272 seconds)
03:22:22  * fallsemoquit (Quit: Leaving.)
03:27:16  * maksimlinjoined
03:35:25  * marcello3d_zzZchanged nick to marcello3d
03:42:43  * kirbysayshiquit (Quit: kirbysayshi)
03:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 18]
03:56:46  * jxsonjoined
04:00:40  * thlorenzquit (Remote host closed the connection)
04:01:27  * kirbysayshijoined
04:01:43  * jxsonquit (Ping timeout: 260 seconds)
04:04:14  * dominictarrjoined
04:06:20  * jxsonjoined
04:09:07  * jxsonquit (Read error: Connection reset by peer)
04:09:36  * jxsonjoined
04:17:01  * maksimlinquit (Quit: ChatZilla 0.9.90.1 [Firefox 26.0/20131206152142])
04:20:51  * contraha_joined
04:22:30  * contrahaxquit (Ping timeout: 245 seconds)
04:24:33  * hoobdeeblajoined
04:25:42  * mikolalysenkojoined
04:32:18  * i_m_caquit (Ping timeout: 252 seconds)
04:36:47  * kenperkinsjoined
04:43:17  * mikolalysenkoquit (Ping timeout: 248 seconds)
04:45:36  * indexzerojoined
04:46:35  * kirbysayshiquit (Quit: kirbysayshi)
04:48:23  * jcrugzzjoined
04:52:26  <rowbit>Hourly usage stats: [free: 6]
04:53:57  * dominictarrquit (Ping timeout: 272 seconds)
05:00:13  * hoobdeeblaquit
05:00:29  * mikolalysenkojoined
05:03:33  * contraha_quit (Ping timeout: 248 seconds)
05:08:41  * fotoveritequit (Quit: fotoverite)
05:15:41  * jxsonquit (Remote host closed the connection)
05:21:54  <grncdr>omg chillbot spoke and I missed it!
05:21:58  * ednapiranhajoined
05:22:15  <pkrumins>what's chillbot?
05:22:27  * ednapiranhaquit (Client Quit)
05:23:17  <grncdr>oh nm, it did not speak
05:23:36  <grncdr>chillbot is the bot I wrote the other day for no real reason
05:23:50  <grncdr>it's sort of the anti-loudbot
05:23:53  <groundwater>grncdr so where you at these days?
05:23:57  <grncdr>also, if it sucks I will kill it
05:24:04  <grncdr>groundwater: Portland
05:24:09  <grncdr>the food is good
05:24:16  <groundwater>grncdr yah, the food trucks are great
05:24:18  <grncdr>the apartment I'm staying in is good
05:24:22  <groundwater>how long will you be there for?
05:24:23  * ednapiranhajoined
05:24:24  <grncdr>everything else is meh
05:24:29  <grncdr>til the end of February
05:24:46  <groundwater>grncdr oh cool, i'll be up there on the 18th
05:24:49  <groundwater>we should hack again
05:24:56  <grncdr>for sure
05:25:09  <groundwater>you far from downtown?
05:25:22  <grncdr>over in hawthorne
05:25:36  <grncdr>maybe 10 minute drive, 30 minute walk
05:25:43  <grncdr>you know Ladd's Addition?
05:26:14  <groundwater>nope, my portland knowledge sucks
05:26:15  * jxsonjoined
05:26:23  <groundwater>i just hang out at 9th and oak
05:26:46  <grncdr>mine too
05:26:55  <grncdr>I will check out this 9th & Oak though
05:26:56  <groundwater>but yah, i do like the food variety around there
05:27:00  <grncdr>tell them groundwater sent me
05:27:03  <substack>groundwater: oakland has a 9th and oak
05:27:04  <groundwater>oh that's just where the newrelic offices are
05:27:12  * CoderPuppyquit (Quit: restarting)
05:27:17  <substack>right on the corner of lake merritt bart
05:27:18  <groundwater>substack is it full of delicious food?
05:27:27  <substack>no but chinatown is nearby
05:27:33  <grncdr>"Hi, groundwater said I could hang out here and drink your coffee"
05:27:38  <grncdr>pretty sure that'll work ;)
05:28:05  <groundwater>grncdr that's like a vip pass
05:28:06  <groundwater>lol
05:28:10  <substack>san francisco has a 9th and and oak but they don't intersect
05:28:17  <substack>they come within 2 blocks of each other though on market
05:28:36  <groundwater>substack any good dimsum places there?
05:28:52  <substack>groundwater: probably
05:29:42  <groundwater>i know i'm preaching to the choir, but i really prefer east bay
05:29:44  <substack>oakland china town is about 42 square blocks
05:29:53  <substack>but it stretches out further than that
05:29:59  * shamaquit
05:30:25  <groundwater>i need to explore oakland more
05:30:38  * cpupjoined
05:30:40  <groundwater>every time i go, ogd introduces me to some new cool area
05:31:11  <substack>future home of npm inc
05:31:38  <groundwater>yah, that's awesome
05:32:06  <groundwater>they must have had tons of applicatinos
05:35:40  <groundwater>grncdr you should check out #pdxnode
05:42:56  <feross>substack: why'd you remove chokidar from watchify?
05:44:13  <feross>since that change, watchify builds twice in a row every time i save
05:44:25  <feross>i think it did some kind of event deduping
05:44:27  <substack>feross: I can adjust the debounce
05:44:51  <feross>oh, okay, then maybe it needs to be increased a bit
05:45:02  <feross>i can experiment and let you know what works on my machine if that's helpful
05:45:20  <substack>feross: can you try increasing the opts.delay?
05:45:23  <substack>it defaults to 300
05:49:48  <feross>substack: no matter how high i set it, i still get two events
05:49:54  * contrahaxjoined
05:50:05  <feross>i tried going up to 10000, heh
05:51:06  <feross>actually, wait a sec. i might be acting silly again
05:52:26  <rowbit>Hourly usage stats: [free: 4]
05:52:48  <feross>yeah, i was modifying a local copy but executing the global copy
05:52:54  <feross>it works!
05:53:01  * ednapiranhaquit (Quit: Leaving...)
05:53:45  <feross>substack: doubling it to 600ms did the trick for me
05:54:59  <feross>substack: is there a way to pass in a custom delay from the command line? doesn't look like --delay=600 or --delay 600 works
05:55:23  <feross>is that because you're using the arg parser from browserify?
05:56:48  <feross>substack: want me to send a PR?
06:02:40  <substack>yes
06:02:50  <substack>I can bump the default to 600 too
06:03:07  <substack>send that in the PR
06:12:21  * dguttmanjoined
06:14:28  * Maciek416quit (Remote host closed the connection)
06:17:13  * dguttmanquit (Client Quit)
06:18:18  * mikolalysenkoquit (Ping timeout: 265 seconds)
06:22:32  * ralphtheninjajoined
06:29:06  * jxsonquit (Remote host closed the connection)
06:36:26  * dguttmanjoined
06:37:17  * defunctzombiechanged nick to defunctzombie_zz
06:40:31  * dguttmanquit (Client Quit)
06:45:18  * phatedjoined
06:46:45  <feross>k just saw your message
06:46:46  <feross>will send that
06:52:07  * sorensen_joined
06:52:26  <rowbit>Hourly usage stats: [free: 23]
06:57:45  <rowbit>substack, pkrumins: These encoders are STILL down: 50.56.27.70(dev-ie6-1)
07:01:31  * thealphanerdjoined
07:02:05  * dominictarrjoined
07:06:34  * ralphtheninjaquit (Quit: leaving)
07:09:57  * justinabrahmsquit (Ping timeout: 248 seconds)
07:11:01  * chrisdickinsonquit (Read error: Operation timed out)
07:12:01  * dstokesquit (Ping timeout: 272 seconds)
07:15:58  * sorensen_quit (Quit: sorensen_)
07:16:59  * dstokesjoined
07:20:43  * chrisdickinsonjoined
07:21:17  * dstokes_joined
07:21:54  * dstokesquit (Quit: dstokes)
07:22:06  * justinabrahmsjoined
07:23:29  * dstokesjoined
07:23:29  * dstokesquit (Client Quit)
07:31:11  * dstokes_quit (Quit: ZNC - http://znc.in)
07:31:41  * dstokesjoined
07:31:50  * eugenewarequit (Remote host closed the connection)
07:41:52  * marcello3dchanged nick to marcello3d_zzZ
07:42:39  * marcello3d_zzZchanged nick to marcello3d
07:43:09  * pfrazequit (Ping timeout: 252 seconds)
07:48:01  <feross>substack, pkrumins: you guys should remove the cache headers on testling badges!
07:48:12  <feross>old images are being cached for a really long time on github!
07:48:15  <feross>example: https://github.com/feross/call-log
07:48:57  <feross>substack, pkrumins: take a look at this github blog post: https://github.com/blog/1766-proxying-user-images
07:49:05  <feross>they're caching images, even https ones, now
07:49:32  <feross>Github's CDN obeys your cache headers
07:49:41  <feross>(supposedly)
07:51:08  <substack>it didn't last time
07:51:15  <substack>it completely ignored all our headers
07:51:26  <dominictarr>yeah, I'm seeing this with feedopensource too
07:51:27  <dominictarr>annoying.
07:51:29  <substack>and it only worked when we removed all the cache headers
07:52:06  <feross>this is so annoying and completely unecessary
07:52:21  * marcello3dchanged nick to marcello3d_zzZ
07:52:26  <rowbit>Hourly usage stats: [free: 22]
07:52:49  <feross>i think they're doing it to stop people from gathering stats about how many views their repo gets
07:52:56  <feross>or something
07:53:17  <dominictarr>cache-control: private, max-age=0, no-cache
07:53:21  <dominictarr>I think?
07:53:51  <dominictarr>whats wrong with knowing how many people view your repo?
07:55:20  <feross>nothing wrong, but maybe they want to control that info? or maybe they just want to make the pages super fast and don't trust other people's cdns
07:56:13  <dominictarr>there more value from dynamic ci, etc, badges
07:59:13  <feross>See https://twitter.com/holman/status/428437018855485440
07:59:23  <feross>they claim it prevents user details from leaking...
07:59:25  <feross>wtf
08:00:17  <juliangruber>everything would be fine if they handled caching headers correctly
08:02:54  <substack>expires: Wed, 29 Jan 2014 08:10:55 GMT
08:02:54  <substack>Date: Wed, 29 Jan 2014 08:10:55 GMT
08:02:58  <substack>is what we send for badges
08:03:00  <substack>so wtf
08:03:33  <substack>curl -si https://ci.testling.com/substack/defined.png | head -n7
08:04:04  <substack>feross: ^^^
08:04:59  <feross>yeah, im talking to zach holman about it on twitter now
08:05:03  <feross>i don't get it
08:05:04  <juliangruber>and the cached one says Date: Wed, 29 Jan 2014 08:04:33 GMT
08:08:38  * ins0mniajoined
08:11:57  * contrahaxquit (Quit: Sleeping)
08:12:13  <substack>feross: have you sent an email yet?
08:12:19  <feross>no
08:12:25  <substack>I hate how github always punts to sending emails for support
08:12:27  <substack>I hate emails
08:12:40  * phatedquit (Remote host closed the connection)
08:12:59  <guybrush>better than phone-calls :D
08:15:49  <substack>feross: ok I sent one about the expires header being ignored
08:15:56  <substack>and I put in a mention for 404s getting cached
08:15:58  <substack>bah stupid nonsense
08:16:06  <feross>yeah, i don't why they didn't test this
08:16:07  * kenperkinsquit (Read error: Connection reset by peer)
08:16:29  <feross>it seems like change for change's sake
08:16:34  * kenperkinsjoined
08:16:57  <feross>substack: you could try sending the no-cache header like holman suggested, in the meantime
08:17:03  <substack>yes
08:19:50  <substack>feross: it's live
08:20:24  <feross>substack: cool, thanks!
08:20:26  <substack>except old stuff will still be cached
08:20:27  <feross>github's still caching the images from before... so silly
08:21:07  <substack>one of the 2 big open problems in computer science
08:21:13  <substack>cache invalidation
08:21:23  <substack>along with naming things and off-by-one errors
08:29:34  * marcello3d_zzZchanged nick to marcello3d
08:30:24  <feross>oh man, they completely broke all nodei.co images
08:30:44  <feross>^ hahaha
08:37:41  * contrahaxjoined
08:39:08  * marcello3dchanged nick to marcello3d_zzZ
08:41:30  * contrahaxquit (Read error: Connection reset by peer)
08:42:07  * contrahaxjoined
08:42:34  * marcello3d_zzZchanged nick to marcello3d
08:45:37  <rvagg>feross, substack: is there a fix? do I need to send a no-cache?
08:45:56  <feross>rvagg: do you run nodei.co?
08:46:03  <rvagg>yar
08:46:28  <feross>it seemed like the problem with nodei.co was different. i'm just seeing broken images from github's side
08:46:54  <feross>well, when they do a refetch. i think the current ones on levelup, for instance, are fine for the moment
08:47:26  <rvagg>yeah, I saw the announcement about the change but haven't seen any of them being cached yet
08:47:52  <feross>here's an example of a broken nodei.co image: https://github.com/feross/call-log/blob/5fc888da17c4f8a7c66ba0d46d0005b6537d3bad/README.md
08:48:25  <rvagg>ough
08:48:27  <rvagg>ouch
08:49:16  <rvagg>I'm betting this is a move to stop third-party analytics services and make people appreciate the github native ones
08:49:32  <rvagg>meanwhile, node 0.11.11 is completely screwed for native addon builds.... nice
08:50:47  * AvianFluquit (Remote host closed the connection)
08:52:26  <rowbit>Hourly usage stats: [free: 39]
08:52:44  * peutetrejoined
08:53:37  <feross>github has native analytics?
08:53:42  <feross>^ rvagg
08:53:51  <feross>stars/watching?
08:53:53  <rvagg>yeah, they upgraded it in the last cycle
08:54:17  <feross>ahh, so my guess was right /cc dominictarr
08:54:20  <rvagg>go to one of your projects and look at graphs
08:54:28  <feross>they did this to kill third-party analytics
08:54:28  <rvagg>they have traffic, referrers, popular content, the works
08:54:34  * funkytekjoined
08:54:41  <rvagg>aye, impossible now for anyone to compete -- and there were competitors
08:54:44  <feross>why do companies have to be evil for strategic purposes...
08:54:51  <rvagg>$
08:55:09  <rvagg>which is fine, the problem is when we start to believe that they are anything other than *companies*
08:55:26  <feross>but they should compete on quality. build better tools, which they can probably do. no need to artificially kill third party tools
08:55:29  <rvagg>github has gotten way too much love in its lifetime
08:56:37  <feross>rvagg: one day i'm going to start a company that's competent and awesome like github but not evil at all
08:56:57  <rvagg>and how will you make money and keep away the temptations that come along?
08:58:08  <rvagg>https://github.com/blog/1672-introducing-github-traffic-analytics took them a whole 21 days from that launch
08:58:58  <feross>it doesn't take much money to survive. once i have that amount, being awesome and not evil matters way more than more money, no matter how much
09:00:16  <feross>one thing i've noticed about companies: they often start out awesome and cool. just a bunch of friends hacking on code in a room.
09:00:20  <feross>but if they're successful, they eventually grow into a monstrosity that even the founders no longer enjoy working at
09:00:37  <feross>and so they quit and start a new company, or quit and roll around in their piles of money
09:01:03  <feross>but, why do they allow it to get to this point? why hire all these middle managers and pointy-haired bosses? what does that accomplish?
09:01:37  <feross>i think founders are impressed by this idea of always growing, and they include hiring in that. and with that comes the need for VC money and all that entails...
09:04:19  <feross>but why go down that route? it seems like a better approach is to just keep raising the hiring bar to the point that only people *much* better than you can get hired. you'll have an awesome place to work, and you get a natural cap of ~100 employees so you avoid a whole class of problems related to middle managers, bad communication, bad culture, etc.
09:05:11  <feross>any more than 150 people and you can't remember people's names and you risk factions, politics, etc.
09:06:41  <feross>also, the equity for early employees is usually way unfair. founders get a disproportionate amount, which strikes me as more than a little unfair
09:06:45  <feross>i say this as a previous startup founder
09:06:51  <feross>i think a fair company would be run more like co-op
09:07:15  <feross>rvagg: sorry for the rant - this is something that i've thought about a lot
09:07:21  * marcello3dchanged nick to marcello3d_zzZ
09:07:29  <substack>or a company that is pretty much just a program that hires humans to do work for it
09:07:52  <substack>with some job queues that fill up
09:08:51  <feross>hahah
09:09:25  <substack>(somewhat serious)
09:09:34  <substack>but I've got to finish some testling stuff first
09:10:01  <substack>related to dominictarr's feedopensource project
09:10:18  <substack>very complementary to it in fact
09:18:46  * contrahaxquit (Quit: Sleeping)
09:21:18  * AvianFlujoined
09:29:49  * AvianFluquit (Ping timeout: 272 seconds)
09:40:35  * indexzeroquit (Quit: indexzero)
09:42:38  * jcrugzzquit (Ping timeout: 252 seconds)
09:52:26  <rowbit>Hourly usage stats: [free: 45]
09:52:32  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
09:59:15  * marcello3d_zzZchanged nick to marcello3d
10:00:55  * eugenewarejoined
10:05:31  * eugenewarequit (Ping timeout: 252 seconds)
10:05:33  * mafintoshjoined
10:07:09  * mafintoshquit (Client Quit)
10:08:46  * marcello3dchanged nick to marcello3d_zzZ
10:10:28  * mafintoshjoined
10:16:41  * thealphanerdquit (Quit: thealphanerd)
10:20:02  * eugenewarejoined
10:25:19  * eugenewarequit (Ping timeout: 252 seconds)
10:26:14  * eugenewarejoined
10:37:00  <dominictarr>feross, well, github drank from the devils cup when they took VC funding that they didn't need.
10:37:21  <feross>dominictarr: yeah, i understand that decision at all
10:37:27  <dominictarr>as they where already profitable, but now they have to become mega profitable
10:37:54  <feross>the point of money is to give you freedom, why would they sacrifice their freedom and autonomy for the chance at more money?
10:38:39  <dominictarr>yeah, people lack restraint
10:39:05  <dominictarr>the trouble, is that finance doesn't have any negative feedback built in
10:39:27  <dominictarr>ask any engineer how you build a stable bridge, aircraft, boat, etc
10:39:35  <dominictarr>they'll tell you: negative feedback.
10:40:11  * mafintoshquit (Quit: Leaving...)
10:40:56  <dominictarr>without negative feedback you get wild oscillations... as you see in the financial system
10:41:24  <dominictarr>Imagine riding a bicycle that is as wobbly as the economy!
10:43:04  <dominictarr>another example, is once a company becomes publicly owned, then the managers are legally obliged to make profit for their shareholders -- they can be sued otherwise, so managers which don't oblige get fired and replaced.
10:43:44  <dominictarr>it's now a system out of anyone's control.
10:51:25  <dominictarr>feross, https://michaelochurch.wordpress.com/2014/01/05/vc-istan-8-the-damaso-effect/
10:52:26  <rowbit>Hourly usage stats: [free: 35]
10:53:07  <rvagg>is it possible that github/fastly don't like "cache-control" and want "Cache-Control"?
10:53:45  <rvagg>dominictarr: see priv /msg
10:57:10  * fronxjoined
10:59:40  * marcello3d_zzZchanged nick to marcello3d
10:59:56  <dominictarr>did any one figure out how make a github badge work?
11:09:16  * marcello3dchanged nick to marcello3d_zzZ
11:15:23  * tearmannjoined
11:16:19  * tearmannquit (Client Quit)
11:17:15  * no9joined
11:17:33  * no9part
11:30:02  <feross>dominictarr: I think the consensus was that the best you can do is to use a no-cache header
11:30:11  <feross>i haven't tested it myself
11:30:32  <substack>feross: testling-ci has the no-cache header now
11:30:41  <rvagg>I've had a no-cache on from the begining
11:30:46  <substack>:/
11:30:49  <rvagg>but "cache-control" not "Cache-Control"
11:31:03  <rvagg>*shouldn't* make a difference but who knows with this ruby mob
11:31:04  <feross>substack: but i haven't been able to test it because i think all my badges are cached
11:32:02  * fronxquit (Remote host closed the connection)
11:32:47  <dominictarr>hmm, I have a no-cache header but I can't get it to work
11:33:22  <substack>it's working on https://github.com/substack/coverify#coverify
11:33:27  <substack>refresh
11:33:58  <rvagg>feross: if you change your badges to have ?somethingelse after them do they re-cache?
11:34:14  <substack>dominictarr: these headers work: curl -si https://ci.testling.com/substack/coverify.png | head -n7
11:34:28  <substack>cache-control: no-cache does indeed seem to work
11:34:41  <substack>but the problem is if your badge was already cached improperly then you're pretty screwed
11:34:48  <substack>until the cache invalidates
11:34:58  <substack>because there is no way to force a cache update
11:35:07  <rvagg>even with a ?appended
11:35:23  <dominictarr>I'm trying ?aoue
11:35:36  <dominictarr>but that seems to be handled specially
11:35:53  <dominictarr>https://github.com/atmos/camo < the proxy they have added
11:37:15  <rvagg>hah, a node server
11:40:22  * eugenewarequit
11:41:25  * eugenewarejoined
11:51:38  * fronxjoined
11:52:26  <rowbit>Hourly usage stats: [free: 49]
12:00:24  * marcello3d_zzZchanged nick to marcello3d
12:01:04  * fronxquit (Read error: Connection reset by peer)
12:01:36  * fronxjoined
12:07:45  <dominictarr>opened an issue on it here: https://github.com/atmos/camo/issues/37
12:10:10  * marcello3dchanged nick to marcello3d_zzZ
12:13:15  * phatedjoined
12:18:29  * phatedquit (Ping timeout: 240 seconds)
12:29:51  * ferossquit (Quit: feross)
12:39:45  <rowbit>substack, pkrumins: Encoders down: 50.57.72.69 (free7)
12:44:33  * yorickjoined
12:51:06  * fallsemojoined
12:52:26  <rowbit>Hourly usage stats: [free: 36]
12:57:45  <rowbit>substack, pkrumins: These encoders are STILL down: 50.56.27.70(dev-ie6-1)
13:01:09  * marcello3d_zzZchanged nick to marcello3d
13:09:25  * fronxquit (Remote host closed the connection)
13:10:59  * marcello3dchanged nick to marcello3d_zzZ
13:17:51  * fallsemoquit (Quit: Leaving.)
13:24:44  * fronxjoined
13:29:48  <greweb>Hi substack , nice new features in Browserify :)
13:30:15  <greweb>can "insert-module-globals" be a way to inject some "env" constants?
13:31:27  <substack>greweb: there are already transforms to do that
13:31:42  <substack>https://npmjs.org/package/envify
13:33:09  <greweb>substack: oh! cool :) thanks
13:34:29  * mmaleckiquit (Ping timeout: 240 seconds)
13:37:23  * mmaleckijoined
13:43:20  * mmaleckiquit (Ping timeout: 245 seconds)
13:45:05  * mmaleckijoined
13:46:11  * AvianFlujoined
13:48:24  * thlorenzjoined
13:52:26  <rowbit>Hourly usage stats: [free: 35]
14:01:53  * marcello3d_zzZchanged nick to marcello3d
14:06:10  * pfrazejoined
14:07:48  * pfrazequit (Read error: Connection reset by peer)
14:11:28  * marcello3dchanged nick to marcello3d_zzZ
14:17:51  * Maciek416joined
14:23:59  * joatesjoined
14:26:06  * mikolalysenkojoined
14:34:36  * pfrazejoined
14:42:55  * joatesquit (Remote host closed the connection)
14:46:53  * mikolalysenkoquit (Ping timeout: 252 seconds)
14:52:26  <rowbit>Hourly usage stats: [free: 41]
15:02:39  * marcello3d_zzZchanged nick to marcello3d
15:11:41  * fallsemojoined
15:12:27  * marcello3dchanged nick to marcello3d_zzZ
15:13:18  * eugenewarequit (Remote host closed the connection)
15:13:45  * eugenewarejoined
15:14:29  * mikolalysenkojoined
15:18:14  * eugenewarequit (Ping timeout: 264 seconds)
15:25:43  <dominictarr>creationix, hey I think you have the fastest js sha1 hash on the internet
15:26:25  * marcello3d_zzZchanged nick to marcello3d
15:26:55  <dominictarr>but! I think it can be even faster!
15:30:18  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
15:30:18  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
15:31:27  * AvianFluquit (Ping timeout: 252 seconds)
15:33:48  * sorensen_joined
15:35:58  * marcello3dchanged nick to marcello3d_zzZ
15:50:08  * eugenewarejoined
15:51:30  * sorensen_quit (Quit: Bye!)
15:52:26  <rowbit>Hourly usage stats: [developer: 4, free: 43]
15:57:36  * eugenewarequit (Ping timeout: 252 seconds)
15:59:17  * AvianPhonejoined
15:59:37  * dguttmanjoined
16:04:27  * brianloveswordsquit (Excess Flood)
16:05:48  * brianloveswordsjoined
16:14:50  * thlorenzquit (Remote host closed the connection)
16:15:04  * thlorenzjoined
16:15:58  * kenperkinsquit (Remote host closed the connection)
16:16:48  * kenperkinsjoined
16:17:41  * ednapiranhajoined
16:27:12  * marcello3d_zzZchanged nick to marcello3d
16:37:00  * marcello3dchanged nick to marcello3d_zzZ
16:38:11  * mikolalysenkoquit (Ping timeout: 260 seconds)
16:41:25  * fotoveritejoined
16:46:08  * thlorenzquit (Remote host closed the connection)
16:46:22  * thlorenzjoined
16:46:51  * thlorenzquit (Remote host closed the connection)
16:47:07  * thlorenzjoined
16:49:25  * Aviaphonejoined
16:50:32  * AvianFlujoined
16:51:18  * indexzerojoined
16:51:26  * mikolalysenkojoined
16:51:37  * AvianPhonequit (Ping timeout: 272 seconds)
16:51:43  * Aviaphonequit (Client Quit)
16:51:49  * thlorenzquit (Remote host closed the connection)
16:52:06  * thlorenzjoined
16:52:26  <rowbit>Hourly usage stats: [developer: 1, free: 52]
16:53:08  * thlorenzquit (Remote host closed the connection)
16:53:25  * thlorenzjoined
16:56:12  * marcello3d_zzZchanged nick to marcello3d
16:57:38  * mikolalysenkoquit (Ping timeout: 245 seconds)
17:21:49  * anoemijoined
17:24:22  * anoemiquit (Remote host closed the connection)
17:24:42  * anoemijoined
17:30:50  * phatedjoined
17:37:05  * phatedquit (Ping timeout: 245 seconds)
17:37:09  * marcello3dchanged nick to marcello3d_zzZ
17:37:14  * marcello3d_zzZchanged nick to marcello3d
17:37:47  * kenperkins_joined
17:39:21  * shamajoined
17:41:33  * kenperkinsquit (Ping timeout: 272 seconds)
17:42:08  * anoemiquit (Remote host closed the connection)
17:42:31  * anoemijoined
17:42:43  * defunctzombie_zzchanged nick to defunctzombie
17:46:45  * anoemiquit (Ping timeout: 248 seconds)
17:47:42  * marcello3dchanged nick to marcello3d_zzZ
17:51:36  * anoemijoined
17:52:26  <rowbit>Hourly usage stats: [developer: 0, free: 40]
17:53:29  * anoemi_joined
17:53:55  * anoemi_quit (Remote host closed the connection)
17:55:58  * anoemiquit (Ping timeout: 245 seconds)
17:57:45  * anoemijoined
18:00:31  * anoemiquit (Remote host closed the connection)
18:01:27  * anoemijoined
18:03:02  * indexzeroquit (Quit: indexzero)
18:06:40  * anoemiquit (Ping timeout: 245 seconds)
18:09:59  * DTrejojoined
18:16:35  * marcello3d_zzZchanged nick to marcello3d
18:20:46  * thealphanerdjoined
18:20:51  * fronxquit (Remote host closed the connection)
18:22:16  * phatedjoined
18:30:18  * thealphanerdquit (Quit: thealphanerd)
18:32:21  * fronxjoined
18:33:45  * cianomaidinjoined
18:33:52  * indexzerojoined
18:37:16  <rowbit>substack, pkrumins: Encoders down: 50.57.72.69 (free7)
18:38:02  * defunctzombiechanged nick to defunctzombie_zz
18:41:49  * thlorenzquit (Remote host closed the connection)
18:42:44  * thealphanerdjoined
18:45:42  * phatedquit (Remote host closed the connection)
18:51:12  * phatedjoined
18:52:26  <rowbit>Hourly usage stats: [developer: 6, free: 32]
18:55:11  * eugenewarejoined
18:57:46  <rowbit>substack, pkrumins: These encoders are STILL down: 50.56.27.70(dev-ie6-1)
18:59:19  * defunctzombie_zzchanged nick to defunctzombie
19:00:05  * eugenewarequit (Ping timeout: 272 seconds)
19:01:12  * defunctzombiechanged nick to defunctzombie_zz
19:05:56  * cianomaidinquit (Quit: cianomaidin)
19:06:29  * dominictarrquit (Ping timeout: 240 seconds)
19:06:37  * thlorenzjoined
19:06:55  * fronxquit (Remote host closed the connection)
19:09:15  * peutetrequit (Quit: peutetre)
19:12:00  * peutetrejoined
19:17:54  <grncdr>hm, I think I've got an idea for how to do file-watching in a nice way
19:18:27  <grncdr>I mean, having multiple tasks that might need to run when a file changes, without having to use a "build system" per se
19:19:17  <grncdr>it would be a tool whose configuration is $glob_pattern: $npm_script_name
19:19:31  <grncdr>then on change it would just do npm run $script_name
19:19:50  <grncdr>so I could get rid of all of these "watch-foo" scripts in my package.json
19:23:25  * mikolalysenkojoined
19:30:24  * dominictarrjoined
19:48:04  * AvianFluquit (Remote host closed the connection)
19:48:35  * fronxjoined
19:49:37  * AvianFlujoined
19:52:07  * jxsonjoined
19:52:11  * mikolalysenkoquit (Ping timeout: 252 seconds)
19:52:22  * thealphanerdquit (Quit: thealphanerd)
19:52:26  <rowbit>Daily usage stats: [developer: 14, free: 528]
19:52:26  <rowbit>Hourly usage stats: [developer: 3, free: 32]
19:52:54  * thealphanerdjoined
19:53:03  * thealphanerdquit (Client Quit)
19:54:49  * jcrugzzjoined
19:57:47  <rowbit>substack, pkrumins: A developer is waiting in the queue for explorer/8.0
20:00:35  * kenperkins_quit (Remote host closed the connection)
20:10:07  * dominictarrquit (Ping timeout: 272 seconds)
20:15:18  * cianomaidinjoined
20:21:17  <rowbit>substack, pkrumins: A developer is waiting in the queue for explorer/8.0
20:21:58  * tmcwjoined
20:23:42  * kenperkinsjoined
20:25:45  * contrahaxjoined
20:27:06  <grncdr>isaacs: do package name transfers have to happen manually?
20:27:54  <grncdr>I want a package name that's been abandoned (capitalize) and I'm going to email the current owner, just not sure what the procedure is if he does give me the name.
20:36:29  * phatedquit (Remote host closed the connection)
20:38:43  * phatedjoined
20:46:51  * jxsonquit (Remote host closed the connection)
20:47:18  * jxsonjoined
20:48:12  * defunctzombie_zzchanged nick to defunctzombie
20:49:12  <defunctzombie>grncdr: ive been using nodemon
20:49:34  <defunctzombie>grncdr: to do my rebuild on file changes when working on projects that I can't rebuild on the fly in the webserver
20:51:34  <grncdr>yeah I saw you mentioned it the other day
20:51:55  <grncdr>I started using it for watching my server, but it seems to have limited globbing
20:52:02  <grncdr>or maybe I'm just using it wrong...
20:52:11  * jxsonquit (Ping timeout: 272 seconds)
20:52:26  <rowbit>Hourly usage stats: [developer: 19, free: 25]
20:53:01  <grncdr>I should look into doing my builds in-process in the server
20:53:26  * thealphanerdjoined
20:53:53  <jlord>jesusabdullah: I was just in the Windows team chat room getting their help and your tweet came in :P
20:54:02  <jesusabdullah>hahaha
20:54:36  <jesusabdullah>tbh the ux is sane, but the workflow's pretty constrained and still hard for non-tech people to understand
20:54:53  <jesusabdullah>I had a friend I was trying to level up, he used windows and never the cli so I was like, "here try this"
20:54:59  <jesusabdullah>and, yeah >_<
20:55:19  <jesusabdullah>at least it exposed the cli, I def approved of that
20:56:01  <jlord>jesusabdullah: I'm installing windows now on a vm! woo woo!
20:56:08  <jesusabdullah>eww
20:56:09  <jesusabdullah>I mean
20:56:11  <jesusabdullah>EXCITING
20:56:13  <chillbot>jesusabdullah: relax
20:56:21  <jesusabdullah>DONT TELL ME WAT2DO
20:56:22  <LOUDBOT>WHAT DO YOU WANT TO DO WITH THE WHAT DO YOU WANT TO OKAY, "".
20:56:24  <jory>Which Windows? 7? 8? 3.1?
20:56:24  <chillbot>jesusabdullah, LOUDBOT: it's ok
20:56:34  <jesusabdullah>NO ITS NOT CHILLBOT NO ITS NOT
20:56:34  <LOUDBOT>WE LOST THE ROCKET. IS IT IN YOUR POCKET?
20:56:36  <chillbot>jesusabdullah, LOUDBOT: it's ok
20:56:44  <jesusabdullah>OMFG
20:56:44  <jlord>jesusabdullah: I know, but I'm jsut tired of wondering what the git and terminal process is like on windows
20:56:45  <chillbot>jesusabdullah, LOUDBOT: shh
20:56:52  <jesusabdullah>jlord: hah, yeah I feel that
20:57:03  <jlord>And since I'm going to teach like 70 people tonight, I feel like I should be educated more
20:57:49  <substack>git is one of the unixiest commands
20:57:49  <jesusabdullah>hah, makes sense
20:57:57  <substack>pretty hilarious to see it running on windows
20:57:59  <jesusabdullah>your MOM is one of the unixiest commands!
20:58:29  <jesusabdullah>Tru dat though
20:58:36  <jory>substack: For some reason I read that as "unsexiest commands"
20:58:49  <jory>Have you seen git in a bathing suit?!
20:58:51  <jesusabdullah>hahaha XD
20:58:52  <jory>SUPAH SEXY!
20:58:53  <LOUDBOT>DONT TOUCH THE SEAT, JUST DONT DO IT MAN
20:58:55  <chillbot>jesusabdullah, LOUDBOT, jory: take a breather
21:05:20  * tmcwquit (Remote host closed the connection)
21:05:56  * tmcwjoined
21:08:56  * peutetrequit (Quit: peutetre)
21:09:29  * cianomaidinquit (Ping timeout: 240 seconds)
21:10:00  * tmcwquit (Ping timeout: 245 seconds)
21:33:34  * phatedquit (Remote host closed the connection)
21:34:20  * tmcwjoined
21:36:48  <defunctzombie>anyone wanna give any feedback? https://github.com/defunctzombie/expando
21:37:05  <defunctzombie>readme clarity etc
21:38:17  * tilgovi_joined
21:40:18  * defunctzombiechanged nick to defunctzombie_zz
21:43:32  * phatedjoined
21:44:05  <grncdr>examples should come sooner IMO
21:44:46  <grncdr>like, it explains why it's a harder problem then it seems, which is good, but examples should always be the first thing
21:45:24  <grncdr>because 99% of the time a user isn't checking the readme to answer "why does this exist?"
21:45:29  <grncdr>but "how do I use it"
21:46:48  <grncdr>the API itself looks great though
21:46:52  <grncdr>and the explanation is clear
21:47:24  <grncdr>under "tips" I think you meant to say "Without a transition the library will fallback ..."
21:48:52  * tilgovi_quit (Remote host closed the connection)
21:50:48  * tmcwquit
21:50:49  * peutetrejoined
21:52:13  * defunctzombie_zzchanged nick to defunctzombie
21:52:23  * ins0mniaquit (Read error: Operation timed out)
21:52:26  <rowbit>Hourly usage stats: [developer: 5, free: 40]
21:52:57  * tilgovi_joined
21:53:45  <defunctzombie>grncdr: thanks, updated
21:55:03  * tilgovi_changed nick to tilgovi
21:55:17  <grncdr>nice, I would use this :)
21:55:40  <defunctzombie>:)
21:55:59  <defunctzombie>I use it.. and I think I got most of the quirks tho I should visually inspect it in older browsers
21:58:12  * phatedquit (Remote host closed the connection)
22:02:40  * thealphanerdquit (Quit: thealphanerd)
22:03:38  <groundwater>substack any node/js conferences you know of going on in asia in june?
22:03:51  <Domenic_>what's going on with npm? substack defunctzombie? on twitter
22:04:06  <defunctzombie>Domenic_: no idea.. I was just being funny
22:04:14  <defunctzombie>Domenic_: no idea why substack posted that tweet
22:04:30  <Domenic_>hmm k
22:05:13  <defunctzombie>Domenic_: https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQFOJp31ZeDl58YEHR307_VZBXwSdikN8bkIBEyeDPOEXcJqQzT
22:06:21  <defunctzombie>Domenic_: also, you should be able to build a <details> polyfill with expando I think
22:07:42  <substack>Domenic_: https://github.com/tildeio/htmlbars/issues/9
22:07:58  <Domenic_>substack: ahaha lol
22:08:16  * indexzeroquit (Quit: indexzero)
22:09:31  * fronxquit (Remote host closed the connection)
22:09:49  * defunctzombiechanged nick to defunctzombie_zz
22:12:03  * funkytekjoined
22:13:43  * chillbotquit (Ping timeout: 252 seconds)
22:15:04  * fronxjoined
22:17:55  * fronxquit (Remote host closed the connection)
22:32:17  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:32:34  * thealphanerdjoined
22:34:29  * Maciek416quit (Remote host closed the connection)
22:34:49  * Maciek416joined
22:42:52  * phatedjoined
22:45:57  <isaacs>substack: ping
22:47:15  <isaacs>substack: did you have some problem publishing?
22:52:26  <rowbit>Hourly usage stats: [developer: 3, free: 30]
22:52:59  * tilgoviquit (Ping timeout: 240 seconds)
22:53:07  <substack>isaacs: just starring
22:53:16  * maksimlinjoined
22:53:27  <substack>npm star cookie
22:53:32  <substack>npm ERR! Error: forbidden user: substack not authorized to modify cookie
22:53:53  <AvianFlu>substack: got caught with your hand in the cookie jar again, eh?
22:53:54  <AvianFlu>XD
22:55:00  <isaacs>substack: weird. lemme investigate.
22:55:21  <isaacs>substack: was there more to the error message? got a npm-debug.log file?
22:55:49  <ogd>i would not let substack modify my cookie, he has not proven his culinary skilkls to me
22:58:05  <substack>isaacs: https://gist.github.com/substack/8699018
22:58:09  <isaacs>substack: fixed cookie
22:58:21  <isaacs>substack: it has the old-style bigass multi-readme data.
22:59:09  <substack>hooray
23:02:19  * thealphanerdquit (Quit: thealphanerd)
23:02:37  * indexzerojoined
23:02:42  * fronxjoined
23:05:22  * contrahaxquit (Read error: Connection reset by peer)
23:05:58  * contrahaxjoined
23:08:27  * indexzeroquit (Quit: indexzero)
23:09:21  * fronxquit (Ping timeout: 252 seconds)
23:11:53  * funkytekjoined
23:16:56  * i_m_cajoined
23:18:18  * Maciek416quit (Remote host closed the connection)
23:20:04  * peutetrequit (Quit: peutetre)
23:34:14  * thealphanerdjoined
23:36:51  * Birdbonesquit (Ping timeout: 252 seconds)
23:40:06  * Birdbonesjoined
23:40:21  * thlorenzquit (Remote host closed the connection)
23:40:30  * Birdboneschanged nick to Guest27067
23:43:19  * tilgovijoined
23:43:29  * i_m_caquit (Ping timeout: 240 seconds)
23:43:35  * jxsonjoined
23:52:26  <rowbit>Hourly usage stats: [developer: 1, free: 33]
23:52:39  * crankquit (Ping timeout: 260 seconds)
23:53:01  * crankjoined
23:55:23  * mikolalysenkojoined
23:58:59  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)