00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:03:14  * whit537quit (Ping timeout: 264 seconds)
00:03:15  * whit537_changed nick to whit537
00:15:27  * thlorenzjoined
00:16:04  * jergasonjoined
00:21:14  * jergasonquit (Ping timeout: 264 seconds)
00:38:25  * vitorpachecoquit (Quit: Saindo)
00:39:20  * coderzachjoined
00:42:31  * kumavis_quit (Quit: kumavis_)
00:42:38  * whit537quit (Ping timeout: 245 seconds)
00:44:53  * jesusabdullahquit (Ping timeout: 248 seconds)
00:45:51  * jesusabdullahjoined
00:46:09  * whit537joined
00:48:10  * kumavis_joined
00:58:55  * jxsonquit (Remote host closed the connection)
01:00:05  * jxsonjoined
01:00:37  * jxsonquit (Remote host closed the connection)
01:01:28  * dominictarr_joined
01:02:57  * whit537quit (Ping timeout: 276 seconds)
01:03:42  * ins0mniaquit (Ping timeout: 256 seconds)
01:04:56  * dominictarrquit (Ping timeout: 268 seconds)
01:04:56  * dominictarr_changed nick to dominictarr
01:06:16  * whit537joined
01:12:33  * tilgoviquit (Remote host closed the connection)
01:20:04  * kumavis_quit (Quit: kumavis_)
01:21:35  * i_m_cajoined
01:27:30  * jergasonjoined
01:30:57  * jxsonjoined
01:32:38  * whit537quit (Ping timeout: 245 seconds)
01:36:22  * whit537joined
01:38:58  * jxsonquit (Ping timeout: 246 seconds)
01:42:14  * AvianFluquit (Remote host closed the connection)
01:42:30  * st_lukequit (Remote host closed the connection)
01:43:54  * whit537quit (Ping timeout: 276 seconds)
01:45:54  * jergasonquit (Remote host closed the connection)
01:46:28  * whit537joined
01:49:05  * jibayquit (Remote host closed the connection)
01:51:59  * tmcwjoined
01:53:58  * tmcwquit (Remote host closed the connection)
01:57:48  * soldairquit (Quit: Page closed)
02:08:54  * dguttmanquit (Quit: dguttman)
02:11:12  * i_m_caquit (Read error: Connection reset by peer)
02:11:37  * i_m_cajoined
02:11:52  * mikolalysenkojoined
02:12:32  <substack>mikolalysenko: https://github.com/substack/lexicographic-integer
02:13:52  <substack>I was looking for algorithms that already do this but couldn't find anything
02:20:58  * whit537quit (Ping timeout: 245 seconds)
02:21:10  * timoxleyjoined
02:23:10  <mikolalysenko>substack: why not reverse the bits?
02:23:24  <mikolalysenko>kind of like the p-adics
02:23:35  <mikolalysenko>http://en.wikipedia.org/wiki/P-adic_number
02:24:11  <substack>mikolalysenko: how would reversing the bits give lexicographic order?
02:24:50  <mikolalysenko>well, colexicographic
02:26:34  * whit537joined
02:28:04  <mikolalysenko>wait nevermind. I am just a bit distracted right now
02:45:23  * timoxleyquit (Remote host closed the connection)
02:56:27  * jergasonjoined
03:00:46  * jergasonquit (Ping timeout: 240 seconds)
03:05:29  * timoxleyjoined
03:07:11  * mk30quit (Quit: Page closed)
03:09:55  * timoxleyquit (Remote host closed the connection)
03:11:04  * timoxleyjoined
03:21:30  * timoxleyquit (Remote host closed the connection)
03:29:59  * thlorenzquit (Remote host closed the connection)
03:32:54  * pikpikquit (Changing host)
03:32:54  * pikpikjoined
03:32:54  * pikpikquit (Changing host)
03:32:54  * pikpikjoined
03:33:19  <mikolalysenko>so thinking about this, you could use a tally system to ensure lexicographic sorting of digits but it is slightly inefficient
03:33:41  <mikolalysenko>basically take a character which is lexicographically larger than any thing and put d copies of it first, where d = number of digits
03:33:56  <mikolalysenko>then after that print out the number in binar/decimal/hex/whatever
03:34:06  <mikolalysenko>that should work for any positive integer
03:34:39  * dominictarr_joined
03:34:50  <mikolalysenko>for negatives, just prefix those with a character that comes lexicographically earlier and print out the complement of the digits
03:35:05  <mikolalysenko>eg, 10 would become: aa10
03:35:14  <mikolalysenko>where a > 9 in this order
03:35:27  <mikolalysenko>and -3 would be: b7
03:35:31  <mikolalysenko>where b < 0
03:35:58  <mikolalysenko>at the end of the day it takes you 2x as much data to represent a number, but it could be optimized
03:36:18  <mikolalysenko>for example, you could use a smarter system to encode the tallies by applying this scheme recursively
03:36:34  <mikolalysenko>if you did that, then asymptotically it would encode an n-bit number in n log(n) bits
03:36:47  <mikolalysenko>substack: ^^^
03:37:02  <mikolalysenko>(would have typed this earlier but was on the phone)
03:37:41  * dominictarrquit (Ping timeout: 248 seconds)
03:37:42  * dominictarr_changed nick to dominictarr
03:38:07  <mikolalysenko>basically the formula is: encoding(x) = encoding(num digits(x)) . digits(x)
03:39:28  <mikolalysenko>a log factor overhead is probably not a big enough deal to matter in terms of space, but the encoding is probably a lot more expensive than just padding with 0s
03:40:16  * timoxleyjoined
03:41:46  * calvinfoquit (Quit: Leaving.)
03:41:50  <substack>mikolalysenko: under the encoding that lexicographic-order uses, 10 is just 10!
03:42:04  <substack>by which I mean 0x0a
03:42:15  <substack>you don't start needing extra bytes until you get up to 251
03:42:53  <mikolalysenko>yeah, you can optimize this by using a larger base
03:43:15  <mikolalysenko>for example, if you used base 256 (ie bytes) then the overhead would be log_256(n)
03:43:19  <mikolalysenko>which is usually O(1)
03:43:36  <juliangruber>substack: how do I tell browserify to replace a file by another in the build via the api?
03:45:09  <mikolalysenko>substack: but the principle is easiest to illustrate with bits
03:52:03  <substack>juliangruber: -r search:replace or use the browsers field
03:52:24  <juliangruber>substack: i need to programmatically set it
03:53:27  <juliangruber>need to replace a bunch of requires with filenames or even contents
03:53:32  <jesusabdullah>creationix: How performant do you think git-as-a-db-backend would be?
03:53:56  <jesusabdullah>creationix: I guess if your content blobs were big enough you wouldn't really care :)
03:54:26  <substack>jesusabdullah: it performs really well on my blog
03:54:27  <mikolalysenko>substack: also the idea definitely existed before: http://en.wikipedia.org/wiki/Golomb_coding
03:54:46  <jesusabdullah>substack: as a database?
03:54:55  <jesusabdullah>substack: I think I remember seeing that
03:54:57  <juliangruber>substack: does this take a pull request?
03:55:03  <substack>juliangruber: no
03:55:12  <jesusabdullah>substack: not gonna lie the idea was cool but I'm a static site die-hard for blogs
03:56:18  <substack>juliangruber: https://github.com/substack/node-browserify#brequirefile-opts
03:56:21  <substack>you want "expose"
03:56:41  <juliangruber>substack: aww yes!
03:56:42  <juliangruber>thanks
03:56:56  <jesusabdullah>substack: thinking about writing a web control panel thing so I can resell space on all the servers I wanna buy XD
03:57:14  <jesusabdullah>substack: bad idea?
03:57:38  <substack>jesusabdullah: the big vendors have made space really cheap
03:57:44  <substack>can you get good enough margins?
03:58:44  <jesusabdullah>substack: not interested in margins as much as I am pay costs, or help my friends host shit, things like that
04:00:28  <jesusabdullah>substack: or very localized maybe, like running it in a particular city or even a particular house
04:06:05  * jergasonjoined
04:09:54  * stagasquit (Read error: Connection reset by peer)
04:10:21  * calvinfojoined
04:15:24  <maksimlin>jesusabdullah: on git as a db, it would work really well i guess if you only do lookups by the sha1 key
04:18:09  <jesusabdullah>well like, you get tags too right?
04:18:16  <jesusabdullah>where the key is human-readable and the value is a sha1
04:18:29  <jesusabdullah>2 lookups is more than one but still
04:18:56  <maksimlin>yes you do, and as you say that adds 1 level of indirection
04:20:08  <maksimlin>but you should keep in mind git is just a kv store in the end that can itself use any kind of backend, it just so happens that the c-git implementation puts its obj db in loose files or packfiles
04:20:21  <jesusabdullah>right
04:20:59  <maksimlin>for instance I'm slowly working on getting js-git to use indexdb as its obj store (for in browser usecase)
04:21:21  <jesusabdullah>uhuh
04:22:55  <maksimlin>you could also use something like redis which I think could outperform even cgit as it would have the advantage of caching everything in ram with write-through to disk so lookups would be blazing fast...
04:23:22  <jesusabdullah>yeah
04:24:34  <jesusabdullah>that would be pretty sweet
04:28:59  * i_m_caquit (Ping timeout: 260 seconds)
04:30:48  <juliangruber>substack: b.require('/tmp/34h23/template.js', { expose: '/home/julian/pro/lib/template.html' }) and then in lib: "require('./template')" doesn't work
04:30:50  * AvianFlujoined
04:31:15  <juliangruber>uh
04:31:16  <juliangruber>oops
04:32:10  <juliangruber>substack: b.require('/tmp/34h23/template.js', { expose: '/home/julian/pro/lib/template.js' }) and then in lib: "require('./template')" doesn't work
04:33:10  <substack>juliangruber: what are you trying to do?
04:33:20  <juliangruber>substack: a lightweight replacement for brfs
04:33:28  <juliangruber>which caused my massive build times
04:34:05  <juliangruber>1) convert html files to js files with proper exports 2) store in tmp location 3) tell browserify about it
04:34:21  <substack>this sounds hacky and weird
04:34:27  <substack>why not just make a faster brfs?
04:34:33  <substack>or just use watch mode
04:34:38  <juliangruber>build went from 500ms to 2s
04:35:05  <substack>if you use watchify it all stays fast after the initial build
04:35:21  <juliangruber>ok will try
04:39:13  * AvianFluquit (Ping timeout: 256 seconds)
04:39:22  * AvianFlujoined
04:41:49  <juliangruber>substack: looks good :)
04:51:25  * shamaquit (Remote host closed the connection)
04:51:48  * mikolalysenkoquit (Ping timeout: 245 seconds)
04:54:24  * AvianFluquit (Remote host closed the connection)
04:57:24  * jergasonquit (Read error: Connection reset by peer)
04:57:50  * jergasonjoined
05:03:53  * mk30joined
05:12:42  * jergasonquit (Remote host closed the connection)
05:13:09  * calvinfoquit (Quit: Leaving.)
05:23:41  * coderzachquit (Quit: coderzach)
05:26:39  * mikolalysenkojoined
05:36:11  * mk30quit (Ping timeout: 250 seconds)
05:39:24  * djcoinjoined
05:43:27  * calvinfojoined
05:44:04  * mk30joined
05:51:19  * calvinfoquit (Ping timeout: 246 seconds)
05:53:34  * jxsonjoined
05:56:16  * jxson_joined
05:57:23  * coderzachjoined
05:57:51  * jxsonquit (Ping timeout: 240 seconds)
05:58:24  * nicholas_joined
05:59:11  * mikolalysenkoquit (Ping timeout: 240 seconds)
05:59:31  * jxson_quit (Remote host closed the connection)
06:00:02  * defunctzombiechanged nick to defunctzombie_zz
06:02:31  * nicholas_quit (Ping timeout: 240 seconds)
06:03:03  * defunctzombie_zzchanged nick to defunctzombie
06:03:26  * jxsonjoined
06:17:34  * dominictarr_joined
06:18:50  * tilgovijoined
06:20:38  * dominictarrquit (Ping timeout: 264 seconds)
06:20:39  * dominictarr_changed nick to dominictarr
06:22:30  * jxsonquit (Remote host closed the connection)
06:23:29  * damonoehlmanquit (Ping timeout: 256 seconds)
06:23:37  * kumavis_joined
06:36:44  * damonoehlmanjoined
06:41:03  * defunctzombiechanged nick to defunctzombie_zz
06:47:33  * jxsonjoined
06:47:37  * jxsonquit (Remote host closed the connection)
06:49:40  * coderzachquit (Quit: coderzach)
07:05:55  * mikolalysenkojoined
07:08:43  * kumavis_quit (Quit: kumavis_)
07:10:46  * mikolalysenkoquit (Ping timeout: 246 seconds)
07:19:15  * damonoehlmanquit (Quit: WeeChat 0.4.1)
07:23:27  * st_lukejoined
07:31:15  * fotoveritequit (Ping timeout: 245 seconds)
07:34:55  * mk30quit (Ping timeout: 250 seconds)
07:40:30  * dominictarrquit (Quit: dominictarr)
07:47:25  * calvinfojoined
07:47:50  * jergasonjoined
07:50:44  * klusiasjoined
07:50:57  * defunctzombie_zzchanged nick to defunctzombie
07:51:07  * fotoveritejoined
07:53:01  * jergasonquit (Ping timeout: 256 seconds)
07:53:06  * hughskquit (Quit: Leaving.)
07:53:21  * mirkokieferjoined
08:00:59  * defunctzombiechanged nick to defunctzombie_zz
08:07:31  * frankblizzardjoined
08:35:26  * jibayjoined
08:48:34  * calvinfoquit (Quit: Leaving.)
08:50:04  * jergasonjoined
08:54:42  * jergasonquit (Ping timeout: 264 seconds)
08:55:01  * tilgoviquit (Ping timeout: 248 seconds)
09:00:22  * tilgovijoined
09:00:45  * tilgoviquit (Remote host closed the connection)
09:18:51  * nicholasfjoined
09:18:56  * calvinfojoined
09:19:04  * calvinfoquit (Read error: Connection reset by peer)
09:22:56  * ins0mniajoined
09:32:31  * frankblizzardquit (Read error: Connection reset by peer)
09:34:09  * frankblizzardjoined
09:39:56  * frankblizzardquit (Read error: Connection reset by peer)
09:40:14  * frankblizzardjoined
09:43:22  * frankblizzardquit (Read error: Connection reset by peer)
09:43:36  * frankblizzardjoined
09:45:16  * frankblizzardquit (Read error: Connection reset by peer)
09:45:22  * frankbli_joined
09:49:24  * jibay_joined
09:50:32  * jibay_quit (Write error: Broken pipe)
09:54:52  * frankbli_quit (Read error: Connection reset by peer)
09:55:12  * frankblizzardjoined
09:57:10  * dominictarrjoined
10:05:57  * jcrugzzquit (Ping timeout: 248 seconds)
10:06:22  * frankblizzardquit (Read error: Connection reset by peer)
10:06:40  * frankblizzardjoined
10:12:52  * maksimlinquit (Quit: ChatZilla 0.9.90.1 [Firefox 23.0/20130803215302])
10:12:53  <ik>GOOD  MORNING  FRIENDS
10:28:29  * timoxleyquit (Remote host closed the connection)
10:34:13  * jcrugzzjoined
10:38:12  * whit537quit (Ping timeout: 276 seconds)
10:40:24  * whit537joined
10:40:48  * jcrugzzquit (Ping timeout: 276 seconds)
10:44:17  * djcoinquit (Quit: WeeChat 0.4.0)
10:51:46  * frankbli_joined
10:52:45  * frankbli_quit (Read error: Connection reset by peer)
10:52:53  * frankblizzardquit (Ping timeout: 248 seconds)
10:53:03  * frankblizzardjoined
10:54:56  * djcoinjoined
10:55:22  * frankbli_joined
10:57:42  * frankblizzardquit (Read error: Operation timed out)
10:57:44  * frankbl__joined
10:59:13  * thlorenz_joined
10:59:43  * frankbli_quit (Ping timeout: 245 seconds)
11:01:35  * frankblizzardjoined
11:01:35  * frankbl__quit (Read error: Connection reset by peer)
11:01:39  * thlorenz_quit (Remote host closed the connection)
11:08:42  * mirkokieferquit (Quit: mirkokiefer)
11:31:02  * stagasjoined
11:40:21  * mirkokieferjoined
11:55:48  * thlorenzjoined
12:16:36  * whit537quit (Quit: whit537)
12:51:30  * jergasonjoined
12:52:59  * kevino80joined
12:55:58  * jergasonquit (Ping timeout: 245 seconds)
12:57:41  * frankblizzardquit (Read error: Connection reset by peer)
12:58:00  * frankblizzardjoined
12:59:39  * ednapiranhajoined
13:04:03  * frankbli_joined
13:05:04  * frankblizzardquit (Ping timeout: 240 seconds)
13:06:39  * frankbli_quit (Read error: Connection reset by peer)
13:07:43  * frankblizzardjoined
13:12:42  * frankblizzardquit (Ping timeout: 264 seconds)
13:14:15  * frankblizzardjoined
13:14:26  <dominictarr>substack: regards lexiographic order I wrote this a while ago, to generate arbitary lexiographic orders https://github.com/dominictarr/between
13:14:40  <dominictarr>well, you can append, prepend or insert anything into the order.
13:14:55  * frankblizzardquit (Read error: Connection reset by peer)
13:15:07  * frankblizzardjoined
13:17:05  * frankblizzardquit (Read error: Connection reset by peer)
13:17:18  * frankblizzardjoined
13:17:53  * frankbli_joined
13:17:53  * frankblizzardquit (Read error: Connection reset by peer)
13:18:46  * frankbli_quit (Read error: Connection reset by peer)
13:19:06  * frankblizzardjoined
13:21:11  * frankblizzardquit (Read error: Connection reset by peer)
13:21:12  * frankbli_joined
13:22:05  * frankbli_quit (Read error: Connection reset by peer)
13:22:26  * frankblizzardjoined
13:23:22  * frankblizzardquit (Read error: Connection reset by peer)
13:23:35  <dominictarr>What if it was as easy to compose visual programs as bash scripts?
13:24:02  * frankblizzardjoined
13:24:18  <dominictarr>If I have graphable data, i should be able to just pipe it into a program that displays a realtime graph in that tab/terminal
13:24:19  * frankblizzardquit (Read error: Connection reset by peer)
13:26:01  * frankblizzardjoined
13:26:30  * frankblizzardquit (Read error: Connection reset by peer)
13:26:45  * frankblizzardjoined
13:27:14  * frankblizzardquit (Read error: Connection reset by peer)
13:27:19  * frankbli_joined
13:27:49  * AvianFlujoined
13:27:56  * frankbli_quit (Read error: Connection reset by peer)
13:28:17  * frankblizzardjoined
13:48:57  * coderzachjoined
13:49:34  * AvianFluquit (Remote host closed the connection)
13:51:58  * coderzachquit (Client Quit)
14:03:36  * fallsemojoined
14:10:11  * dguttmanjoined
14:21:01  * fallsemoquit (Quit: Leaving.)
14:21:24  * djcoinquit (Quit: WeeChat 0.4.0)
14:25:15  * djcoinjoined
14:26:15  * jergasonjoined
14:28:21  * jergason_joined
14:28:43  * jergasonquit (Read error: Connection reset by peer)
14:32:43  * tmcwjoined
14:37:00  * fallsemojoined
14:49:12  * jergason_quit (Remote host closed the connection)
14:51:19  * AvianFlujoined
14:56:36  * mirkokieferquit (Quit: mirkokiefer)
15:05:14  * jergasonjoined
15:05:31  * jergasonquit (Remote host closed the connection)
15:06:06  * jergasonjoined
15:21:56  * whit537joined
15:22:40  * dguttmanquit (Quit: dguttman)
15:22:57  * frankblizzardquit (Remote host closed the connection)
15:25:48  * dguttmanjoined
15:40:17  * frankblizzardjoined
15:45:19  * kumavis_joined
15:49:41  * shamajoined
15:52:14  * djcoinquit (Quit: WeeChat 0.4.0)
15:59:35  * jergasonquit (Remote host closed the connection)
16:01:03  * jergasonjoined
16:11:53  * st_lukequit (Remote host closed the connection)
16:13:34  * kumavis_quit (Quit: kumavis_)
16:14:00  * frankblizzardquit (Remote host closed the connection)
16:20:56  * mikolalysenkojoined
16:33:00  * frankblizzardjoined
16:34:51  * kevino80quit (Remote host closed the connection)
16:36:12  * kumavis_joined
16:40:01  * frankbli_joined
16:42:50  * frankblizzardquit (Ping timeout: 264 seconds)
16:44:17  * calvinfojoined
16:50:27  * dominictarrquit (Quit: dominictarr)
17:02:50  * mk30joined
17:05:02  * jxsonjoined
17:07:03  * jcrugzzjoined
17:07:45  * tmcwquit (Remote host closed the connection)
17:08:56  * tmcwjoined
17:11:53  * jergason_joined
17:15:08  * jergasonquit (Ping timeout: 245 seconds)
17:15:20  * defunctzombie_zzchanged nick to defunctzombie
17:17:18  * coderzachjoined
17:23:26  * whit537quit (Ping timeout: 240 seconds)
17:25:09  * whit537joined
17:27:38  <defunctzombie>Raynos: browserify-server .. still a thing you maintain?
17:30:14  * whit537quit (Ping timeout: 240 seconds)
17:30:26  * jergason_quit (Remote host closed the connection)
17:31:29  * st_lukejoined
17:33:39  * dominictarrjoined
17:34:18  <defunctzombie>Domenic_: it is not about yield
17:34:22  <defunctzombie>yield is not the answer
17:34:47  <defunctzombie>the answer is function calls that do IO without blocking other parts of the app but look blocking in their current context
17:34:52  <Domenic_>defunctzombie: it's the answer as far as i'm concerned. async code should look async.
17:34:56  <defunctzombie>no
17:35:00  <defunctzombie>no it shouldn't
17:35:14  <defunctzombie>var email_valid = validate();
17:35:23  <defunctzombie>that code should be the same whether it does a regex
17:35:29  <defunctzombie>or whether it does some io in the backend
17:35:38  <defunctzombie>because at the point of writing that line of code
17:35:44  <Domenic_>i guess i might be old and crusty here, i do recognize i find myself on the conservative side of this argument whereas in most i am on the progressive side
17:35:47  <defunctzombie>I don't care about how the validation happens.. I just need to to happen
17:35:56  <Domenic_>so i allow you might be right. for now i am not very comfortable with it.
17:36:01  <defunctzombie>you are not old and crusty
17:36:06  <defunctzombie>I call it experience blindness
17:36:13  <defunctzombie>you understand more than you think about this
17:36:47  <defunctzombie>and another thing that is terrible with callbacks is the repeated error handling if(err) ...
17:36:49  <defunctzombie>all over the place
17:37:02  <defunctzombie>you don't need keywords, you don't need callbacks for most things
17:37:06  <defunctzombie>callbacks are great for events
17:37:15  <defunctzombie>they are not great for control flow
17:37:25  <defunctzombie>and most shit you write is just basic do this, then this, then that
17:37:25  <Domenic_>hmm yeah the events vs. commands distinction is a very interesting one
17:38:08  <defunctzombie>Domenic_: and I know I can't fix this on the client.. but I can make writing my server side stuff a more pleasant experience
17:38:36  <defunctzombie>Domenic_: that is why I rally against the yield stuff, etc and will show a better example using fibers of what I am talking about
17:38:41  <defunctzombie>once I get around to making it :)
17:38:57  <defunctzombie>words will not convince people
17:39:01  <defunctzombie>only working examples :)
17:41:42  * kevino80joined
17:44:28  <defunctzombie>Domenic_: I will also add with this approach, something that looks like it is called once and should just "return" once acts that way and looks that way, whereas with callbacks you don't get that guarantee, you just hope for it
17:44:39  <defunctzombie>Domenic_: you know all about what that means... being a promise guy :)
17:47:09  <Domenic_>indeed :)
17:47:34  * tmcwquit (Remote host closed the connection)
17:47:35  <jesusabdullah>I don't have *time* to have a strong opinion on generators!
17:48:17  * tmcwjoined
17:54:08  * whit537joined
17:57:35  <mikolalysenko>generators are the necessary language level feature required to get proper async concurrency stuff, but there will still be a lot of work needed to build all the abstractions on top of them to realize the full power
17:57:58  <mikolalysenko>in particular, someone is going to have to work out the correct semantics/syntax for guarded choice operations
17:58:04  <mikolalysenko>ie alt/select blocks
17:58:44  <mikolalysenko>those things are quite difficult to get right, since you run into all kinds of awful edge cases with starvation etc. if you do it naively
17:59:33  * dguttmanquit (Quit: dguttman)
18:03:16  <defunctzombie>Domenic_: what local browserify server are you using now to rapid dev on widgets, etc?
18:06:44  <Raynos>defunctzombie: no
18:06:55  <defunctzombie>Raynos: what do you use instead?
18:07:02  <defunctzombie>to develop widgets locally?
18:07:03  <Raynos>defunctzombie: serve-browserify
18:07:06  <Raynos>I dont use browserify CLIs
18:07:15  <defunctzombie>does that serve up index.html and stuff?
18:07:17  <Raynos>I use testem to run test suites and dont really do examples
18:07:28  <Raynos>and if I do I write a server.js
18:07:31  <defunctzombie>serve-browserify needs keywords on npm so people can find it hahaha
18:07:53  <Raynos>defunctzombie: https://github.com/Raynos/html5-router/blob/master/example/server.js
18:08:15  <defunctzombie>Raynos: bah.. I was looking for a CLI app
18:08:22  <defunctzombie>that just lets me test widget easily
18:08:25  <defunctzombie>without all that crap
18:08:28  <defunctzombie>so far I found beefy
18:08:47  <defunctzombie>I guess tryme would technically be able to do this haha
18:09:52  * tmcwquit (Remote host closed the connection)
18:10:31  <dlmanning>Raynos: serve-browserify is exactly what I was looking for the other day
18:10:40  <dlmanning>Very cool
18:13:48  * tmcwjoined
18:17:58  <defunctzombie>https://github.com/shtylman/clock-input
18:18:02  <defunctzombie>a new widget is born!
18:22:42  * ins0mniaquit (Read error: Operation timed out)
18:29:44  * frankbli_quit (Remote host closed the connection)
18:30:56  <Raynos>defunctzombie: both beefy & tryme work
18:31:10  <Raynos>defunctzombie: I abandoned browserify-server in favor of beefy
18:34:09  <defunctzombie>gotcha
18:34:19  * mikolalysenkoquit (Ping timeout: 246 seconds)
18:34:59  <Domenic_>defunctzombie: beefy worked pretty well
18:37:45  * evboguejoined
18:38:02  * gwenbelljoined
18:46:20  * frankblizzardjoined
18:49:38  * frankblizzardquit (Remote host closed the connection)
18:53:33  * whit537quit (Quit: BLAM!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
18:53:57  * mk30quit (Ping timeout: 250 seconds)
19:01:04  <jez0990>hey, has anybody tried this successfully https://github.com/quartzjer/hash-chatroom?
19:02:01  <mbalho>ooh telehash activity
19:02:05  <mbalho>its been a while
19:02:30  * jergasonjoined
19:11:52  * mikolalysenkojoined
19:19:01  <dominictarr>I've been thinking about implementing basically the actor model in js with a crazy set of polyfills
19:19:39  * jxsonquit (Remote host closed the connection)
19:19:52  <dominictarr>so that node processes, iframes, webworkers, ui widgets… can all connect streams & send messages to each other
19:23:34  * gwenbellquit (Quit: Lost terminal)
19:26:46  * jergason_joined
19:29:41  * jergasonquit (Ping timeout: 248 seconds)
19:30:14  <dominictarr>Raynos: so this would basically be just like your thing
19:30:23  <dominictarr>+ some polyfils
19:30:46  <dominictarr>and an addressing scheme so that you could send messages to any node/element/tab/frame
19:31:21  <jez0990>dominictarr: addressing locally, or between peers over the network?
19:31:44  <dominictarr>it would have multiple parts
19:32:00  <dominictarr>so that if it's local it doesn't go through the network
19:32:31  <dominictarr>but potentially, I should be able to pipe the output of some cli process on my computer into some particular ui widget on yours etc
19:32:38  <dominictarr>or on another device
19:32:59  <dominictarr>like, I want to be able to pipe to a graphical thing
19:33:48  <dominictarr>by examining the addresses of two things to communicate the system would decide what is the best stragety for connection
19:33:57  <dominictarr>webrtc
19:34:09  <dominictarr>but they could also be inside the same process
19:34:15  <dominictarr>or the same computer
19:34:26  <dominictarr>or in differerent tabs
19:34:38  <dominictarr>the same abstraction of a stream is available in each
19:34:51  <dominictarr>so, an addressing scheme should be doable also
19:40:59  * gwenbelljoined
19:45:06  * shamaquit (Read error: Connection reset by peer)
19:45:29  * shamajoined
19:54:06  * mk30_joined
20:03:47  * frankblizzardjoined
20:07:18  * no9quit (Ping timeout: 264 seconds)
20:08:13  * dominictarrquit (Quit: dominictarr)
20:08:20  * jxsonjoined
20:09:13  * st_lukequit (Remote host closed the connection)
20:10:50  <jesusabdullah>So I got to troll one of the ember core members today ^__^ https://twitter.com/jesusabdullah/status/370968764356886528
20:10:51  * dominictarrjoined
20:10:54  <jesusabdullah>Feelin' accomplished.
20:10:58  * st_lukejoined
20:11:07  <jesusabdullah>dangit
20:11:31  <jesusabdullah>dominictarr: sup
20:11:50  <dominictarr>jesusabdullah: hey
20:11:54  <dominictarr>just hackin'
20:12:11  <jesusabdullah>dominictarr: https://twitter.com/jesusabdullah/status/370968764356886528 accidentally trolled one of the emberjs core dudes lol
20:12:25  * kumavis_quit (Quit: kumavis_)
20:12:29  <jesusabdullah>never mind the missing space XD
20:12:37  <jesusabdullah>Today I'm doing front end-y things
20:18:44  <Raynos>dominictarr: interesting
20:19:03  <Raynos>dominictarr: I've been wanting to do ambient calculus
20:19:22  <dominictarr>Raynos: what is ambient calculus?
20:19:23  <Raynos>concurrent systems with mobility. Basically code moves around
20:19:31  <dominictarr>interesting
20:19:33  <Raynos>"I want to do this computation" and it just goes somewhere
20:19:34  <st_luke>@jesusabdullah that guy sounds grumpy
20:19:45  <dominictarr>Raynos: yes! that sort of stuff
20:19:52  <dominictarr>you should be able to do that
20:20:08  <Raynos>:)
20:20:13  <Raynos>the hardest part about signal channel
20:20:21  <Raynos>was figuring out network discovery and network addressing
20:20:23  <dominictarr>currently: I'm making a quick proof of concept that allows you to push deploy to an iframe
20:20:41  <jesusabdullah>st_luke: lol yeah
20:20:48  <jesusabdullah>st_luke: he's on the ember team, duh!
20:20:53  <jesusabdullah>st_luke: XD
20:22:13  * evboguequit (Ping timeout: 245 seconds)
20:22:24  <dominictarr>jesusabdullah: need skeumorphic terminal that takes it way back to daisy wheel printer and perforated edges
20:22:46  <jesusabdullah>dominictarr: yes we do
20:22:47  <dominictarr>it's a teletype
20:23:04  <jesusabdullah>dominictarr: can we do it by applying mad css to hypernal?
20:23:16  <jesusabdullah>dominictarr: also add dot matrix printing sounds
20:23:28  <jesusabdullah>bzzzt bzzzt grooooooooooooooooo bzzzt bzzzt
20:23:58  <jesusabdullah>dominictarr: https://www.youtube.com/watch?v=w9QzsOY04O8
20:24:57  <jesusabdullah>oh man part of me wants a "real teletype" now
20:26:48  <dominictarr>jesusabdullah: also, could use modem noises to transfer data to nearby devices
20:27:18  <dominictarr>jesusabdullah: +11
20:27:39  <Domenic_>hey! why do people want zip in the browser? inquiring standards bodies want to know!
20:28:08  * jergason_quit (Remote host closed the connection)
20:28:13  <Raynos>Domenic_: ws.pipe(zip()).pipe(app).pipe(unzip()).pipe(ws)
20:28:20  <jesusabdullah>Domenic_: Because in my app I want to be able to download a zipball, crank that puppy open in-memory, let my app's users modify it, and then repackage it and ship it back up ^__^
20:28:47  <Raynos>but maybe I want gzip, not zip
20:28:49  <jesusabdullah>Domenic_: lots of native apps use zipballs as a sort of ad-hoc custom filetype
20:29:30  <jesusabdullah>I want ALL of thems
20:30:20  * st_lukequit (Remote host closed the connection)
20:30:36  <Domenic_>is zip used in implementing git? creationix?
20:32:46  * jxsonquit (Remote host closed the connection)
20:33:54  * jxsonjoined
20:34:21  * st_lukejoined
20:34:43  <dominictarr>Domenic_: anything node can do the browser ought to be able to do
20:34:59  <dominictarr>maybe we want to compress things before we store it in a database
20:35:09  <dominictarr>like git uses zip compression
20:35:45  <dominictarr>plus, it's just a standard format
20:35:53  <dominictarr>everything can take it
20:36:18  <dominictarr>another case: maybe you want to zip a file before uploading it
20:36:25  <dominictarr>see also: crypto
20:37:13  <Domenic_>dominictarr: apparently git uses gzip, not zip
20:37:21  <Domenic_>generic arguments are not going to fly here.
20:37:41  <dominictarr>Domenic_: why not?
20:37:41  <Domenic_>actual use cases are what are desired
20:37:44  <Domenic_>reading word documents was good
20:38:05  <dominictarr>ask brianloveswords, he wrote zlib-browserify
20:38:21  <Domenic_>dominictarr: because generic arguments do not serve users of the web platform; specific use cases do.
20:38:58  <dominictarr>"compressing a file"
20:39:06  <Domenic_>for what purpose?
20:39:12  <dominictarr>to make it smaller
20:39:22  <Domenic_>...
20:39:39  <dominictarr>so, like, reading any file format that zips it
20:39:42  <jesusabdullah>Seriously, tons of proprietary document formats, not just word docs, are just zipballs with manifests and assets isite them
20:39:48  <Domenic_>i guess you're not interested in really having a use-case conversation, that's fine. it just means i can't take your input to the standards bodies (without being laughted out of the room)
20:39:50  <dlmanning>A mobile webapp wants to compress a generated file for upload over limited bandwidth?
20:39:56  <dominictarr>what jesusabdullah said
20:39:59  <Domenic_>jesusabdullah: that was a good one, passed that on already :)
20:40:11  <jesusabdullah>cool
20:40:28  <dominictarr>pretty much every answer will boil down to that one
20:40:38  <jesusabdullah>dominictarr: basically standards bodies are all about the tps reports so you gotta play the game their way
20:40:41  <Domenic_>dlmanning: excellent, thanks.
20:40:47  <dominictarr>tps?
20:40:58  <jesusabdullah>dominictarr: you didn't get the memo?
20:41:09  <jesusabdullah>dominictarr: we now require cover sheets on all TPS reports.
20:41:16  <dlmanning>dominictarr is having a problem with his tps reports
20:41:17  <jesusabdullah>dominictarr: I'll send you the memo, hold on
20:41:27  <jesusabdullah>dlmanning: oooooohhh
20:41:38  <dominictarr>jesusabdullah: okay, thanks
20:41:43  <jesusabdullah>dlmanning: what would the Bobs think?
20:43:00  <Domenic_>if anyone wants to do a quick comparison of in-browser gzip implementation speed vs. native ones that will help convince the whatwg.
20:44:21  <jesusabdullah>why is the whatwg having such a problem with this? I mean, to me this seems to be, like, obvious utility
20:44:39  <Domenic_>because they are not web developers :-/
20:45:02  <jesusabdullah>why not :(
20:45:10  <jesusabdullah>whatwg whould be mostly web devs
20:45:15  <Domenic_>because you guys are disdainful of the act of spec-writing
20:45:34  <Domenic_>and talking on mailing lists
20:45:35  <Domenic_>and so on
20:45:39  <Domenic_>so non-web devs are the ones left to do that
20:46:07  <st_luke>id like to see more web devs get involved in the spec process directly
20:46:15  <Domenic_>+1
20:46:30  * kriskowaljoined
20:46:38  <jesusabdullah>maybe if they were less lamesauce we'd be down to hang out
20:46:45  <jesusabdullah>dudes keep harshing my mellow brah
20:46:53  <Domenic_>it is a very tricky thing to enter though, lots of web devs try to do so in completely the wrong way, get shut down (rightly), then feel like stupid standards bodies are lame and they never wanna participate.
20:47:02  <Domenic_>how to do this right is the subject of my lxjs talk (spoilers)
20:47:07  <jesusabdullah>word
20:47:07  <dominictarr>OHH RIGHT, IT'S CALLED THE SHELL, BECAUSE THE KERNEL IS INSIDE IT
20:47:08  <LOUDBOT>THAT LINK GAVE ME HERPES
20:47:14  <dominictarr>http://www.youtube.com/watch?v=JoVQTPbD6UY
20:47:19  <jesusabdullah>man I hope I get to do my cascadiajs talk
20:47:27  <jesusabdullah>I really really really want to give this talk
20:47:38  <jesusabdullah>also that sounds really useful Domenic_
20:47:47  <st_luke>yea im done with criticizing these groups
20:48:05  <jesusabdullah>shit didn't I try asking you something about promises the other day? speaking of my talk?
20:48:06  <dominictarr>pity they didn't call it "the fruit" and "the seed"
20:48:09  <jesusabdullah>OH YEAH I REMEMBER
20:48:09  <LOUDBOT>ACHIEVEMENT UNLOCKED: IMPERTINENT AND PRESUMPTUOUS
20:48:28  <Domenic_>I DON'T REMEMBER
20:48:28  <LOUDBOT>ITS ONLY NOT SEXIST IF YOU CALL IT AN ENGINWOMAN DEGREE TOO
20:48:36  <jesusabdullah>Domenic_: Is there a good way to, like, make a promise-generating function optionally take a node-style callback?
20:48:39  <Domenic_>LOUDBOT: whosaid
20:48:40  <LOUDBOT>simcop2387-lap in ##turtles on freenode
20:48:56  <jesusabdullah>Domenic_: like, if you call fn(args, cb) that works but fn(args).then works too ?
20:49:02  <jesusabdullah>Domenic_: make sense what I'm asking?
20:49:08  <Domenic_>jesusabdullah: yes indeed! do `return myPromise.nodeify(callback)`
20:49:24  <jesusabdullah>Domenic_: that'll work with q ?
20:49:27  <Domenic_>.nodeify will return the promise if `callback` is not a function; it will return `undefined` if it does.
20:49:34  <Domenic_>jesusabdullah: yeah, Q has that, as does RSVP and a few others.
20:49:38  <jesusabdullah>sick
20:49:46  <Domenic_>agreed ^_^
20:49:54  <jesusabdullah>I kinda want to use promises somewhere if only to get what the hullabaloo is about
20:50:07  <jesusabdullah>but I also think this could make a good example of "having your cake and eating it too"
20:50:27  <dlmanning>jesusabdullah: jquery :P
20:50:36  <jesusabdullah>dlmanning: lolno
20:50:47  <jesusabdullah>dlmanning: EVERYONE KNOWS that jquery "promises" are BROKEN PROMISES
20:51:01  <Domenic_>^__^
20:51:02  <jesusabdullah>dlmanning: like, the kind of broken promises that inspire crappy 80s rock power balads
20:51:02  <dlmanning>BROKEN PROMISES!
20:51:02  <LOUDBOT>A FAT MAN IN DIRE NEED OF AN ASS-BRUISIN'
20:51:24  <jesusabdullah>haha
20:53:06  <chrisdickinson>Domenic_: belatedly, inflate/deflate is used in git
20:53:18  <Raynos>module.exports = supportPromisesCallbacksThunksAndGenerators(myModule)
20:53:41  * ednapiranhaquit (Remote host closed the connection)
20:54:04  <jesusabdullah>Raynos: why the fuck not
20:54:10  <jesusabdullah>Raynos: we'll do it live
20:54:55  <Raynos>Oh I forgot about streams & reducers
20:55:02  <Raynos>streams 1, 2 & 3 !
20:55:22  * frankblizzardquit (Remote host closed the connection)
20:55:57  <jesusabdullah>I mean
20:56:02  <jesusabdullah>to be real here, for a minute
20:56:29  <jesusabdullah>to me, promises more or less work with the same use case that callbacks do, just wrapped in a more different API
20:56:30  <hij1nx>npm view supportPromisesCallbacksThunksAndGenerators
20:57:13  <jesusabdullah>whereas streams, reducers and a lot of these other abstractions don't reduce to the least common denominator of node-style callbacks very well if at all
20:57:54  <jesusabdullah>so, again, to be real, I see the value in .nodeify and possibly thunks and generators, but that's about where it ends for me
20:58:12  <Raynos>reducers fit callbacks just fine
20:58:21  <Raynos>but reducers fit everything
20:58:32  <Raynos>and im sure you can hammer streams to fit everything. I know I once did :D
20:58:44  <Domenic_>Raynos's definition of "fit" is a bit different than most ;)
20:58:50  <jesusabdullah>yeah but *should* you?
20:59:16  <jesusabdullah>nodeify has value in that you can support the least common denominator
20:59:29  <jesusabdullah>so if you don't feel like using promises you can pretty much ignore them
20:59:38  * AvianFluquit (Remote host closed the connection)
20:59:58  <jesusabdullah>but internally use them, and get the added bonus of allowing promise fans to use the api directly instead of having to repromise your depromise
21:00:06  <chrisdickinson>these are design patterns that shouldn't be blanket-applied to apis.
21:00:29  <jesusabdullah>yeah p. much
21:03:47  <defunctzombie>I find it funny that all these client side "tools" all install via npm first haha
21:04:10  <mbalho>because http://nodejsreactions.tumblr.com/post/58924347753/trying-to-get-client-side-developers-to-use-npmb
21:04:19  <defunctzombie>mbalho: \o/
21:07:03  <jesusabdullah>ahahahaha
21:07:07  <jesusabdullah>most excellent.
21:07:54  <mbalho>substack: how do i take a lexicographic integer and convert it back to the original integer?
21:08:37  * coderzachquit (Quit: coderzach)
21:14:23  <substack>mbalho: you'd need to invert the function
21:15:17  <mbalho>substack: k, might do that if i need to optimize on disk footprint later but i can just store the original integer in the value of the documents for now
21:15:21  * coderzachjoined
21:16:52  <substack>function invert (xs) { if (xs[0] < 251) return n; if (xs[0] === 251) return xs[1] + 251; if (xs[0] === 252) return xs[1]*256 + xs[0] + 251; ...etc }
21:17:27  <mbalho>w00t
21:17:27  <mbalho>{ key: 'ÿsÿ08', value: { _id: 'g', _seq: 8 } }
21:17:27  <mbalho>{ key: 'ÿsÿ09', value: { _id: 'h', _seq: 9 } }
21:17:28  <mbalho>{ key: 'ÿsÿ0a', value: { _id: 'i', _seq: 10 } }
21:17:37  <substack>nice!
21:17:51  <jesusabdullah>yo that's whack
21:17:53  <mbalho>substack: have you ever done any R
21:17:57  <substack>mbalho: some
21:18:02  <mbalho>check out https://github.com/maxogden/dat/blob/master/examples/line-separated-json.r
21:18:04  * nicholasfquit (Read error: Connection reset by peer)
21:18:23  <mbalho>im working on implementing a `dat cat` command which will print out all documents as line separated json objects
21:18:36  * nicholasfjoined
21:18:39  <mbalho>and then when i have that working im gonna work on a buncha streaming transformers in different languages
21:18:40  <substack>mbalho: if you want even more compactness in the keys you can Buffer(convert(n))
21:18:48  <substack>since it returns an array as the default encoding
21:19:16  <mbalho>substack: i wanna keep it as string keys so it works in browser
21:22:00  * kumavis_joined
21:24:53  <dimadima>E is way cooler
21:24:57  <dimadima>than R
21:26:42  <jesusabdullah>incorrect
21:26:57  <dimadima>c'moonnnnn
21:27:44  <jesusabdullah>Just don't remind me of the disappointment that was julia
21:30:06  <defunctzombie>Raynos: https://npmjs.org/package/iterate-function
21:30:20  <defunctzombie>Raynos: just sharing some random functional stuff cause I know you like that shits
21:32:34  <tmcw>jesusabdullah: julia isn't cool? :/
21:33:29  <rch>i like julia
21:33:36  <mbalho>can julia parse json and read stdin/stdout?
21:33:40  <Raynos>:)
21:34:15  <tmcw>looks like it? https://github.com/JuliaLang/JSON.jl
21:34:29  <rch>there's actually a really fun ` macro
21:34:49  <rch>http://docs.julialang.org/en/latest/manual/running-external-programs/#pipelines
21:36:16  <mbalho>rch: can you write a program that reads line separated json on stdin, splits on newlines, parses each row, calls a transform function that does nothin, takes return value of function, stringifies it as a row, writes it as line separated json to stdout?
21:37:35  <rch>mbalho: i expect i could, what's your point?
21:37:39  <jesusabdullah>tmcw: it's half brilliant, half terrible. and I look at the ecosystem as much as I do the language itself
21:37:48  <mbalho>rch: just wondering
21:37:50  <jesusabdullah>tmcw: their package management system is painfully terrible
21:37:56  <rch>mbalho: my main problem with julia is that i wish their module system was npmlike
21:38:01  <jesusabdullah>^^^^^
21:38:06  <jesusabdullah>I even told them to make it npm-like
21:38:06  <mbalho>rch: main problem with <insert everything ever>
21:38:08  <jesusabdullah>but it's like
21:38:20  <tmcw>y, the ecosystem is a big deal for sure - I was under the impression that the ffi was good enough that the could co-opt some existing libraries though?
21:38:24  <rch>jesusabdullah: yeah i was arguing for that over a year ago
21:38:29  <rch>tmcw: the ffi is pretty good
21:38:43  <jesusabdullah>they took the worst aspects of R package management and git submodules and mashed them together
21:39:01  <jesusabdullah>Yeah, the ffi is great, the core of it is basically embedded scheme + macros on top of llvm
21:39:11  <jesusabdullah>which is brilliant
21:39:13  <rch>mbalho: manipulating data structures, binary arrays, and parsing are all reasonable in julia, reading and writing json over stdio shouldn't be an issue — the way you were asking though you made me assume there was one
21:39:13  <mbalho>if the ecmadoods ever stop arguing about flow control and add some matrix/vector primitives to js it will make julia kinda pointless
21:39:22  <rch>jesusabdullah: yeah i really like the architecture
21:39:37  <jesusabdullah>mbalho: but phat arrow
21:39:44  <rch>mbalho: i don't know i really like the type dispatch in julia, javascript will never have that
21:40:08  <tmcw>it's hard to be npm, y'know
21:40:12  <jesusabdullah>Yeah the multiple dispatch presents some really cool possibilities for optimizing functions based on type
21:40:21  <jesusabdullah>tmcw: not really, just fork the registry XD
21:40:25  <rch>they do dispatch the way i like, very few languages do
21:40:25  <tmcw>heh
21:40:30  <mbalho>dont even have to fork it
21:40:58  <jesusabdullah>oh but yeah if you want to spend an afternoon facepalming
21:41:06  <jesusabdullah>figure out how julia's package management works
21:41:06  * tilgovijoined
21:42:06  <rch>one more thing i like is how much of julia is written in julia, this is a good example: https://github.com/JuliaLang/julia/blob/master/base/float.jl#L131
21:42:36  <rch>mbalho: would love you to write another npm post about using npm for julia modules ;)
21:42:43  <mbalho>lol
21:43:07  <tmcw>y, i hate how so much of r is not written in r
21:43:15  <tmcw>that was one of the main reasons for simple-statistics
21:43:16  <jesusabdullah>hahaha
21:43:20  <jesusabdullah>I feels ya
21:43:49  <jesusabdullah>Honestly I should write a blog post criticising Julia
21:43:52  <tmcw>like stats people are fine with the implementation being a black box that behaves the right way, it seems, but...
21:43:56  <jesusabdullah>be a dick about it for once
21:44:10  <jesusabdullah>not because I'm a mean person but because I think they might honestly not know how crappy their package management system is
21:44:14  <tmcw>heh, no - write a blog post about using npm w/ julia :)
21:44:26  <tmcw>be the change you want to see etc etc
21:44:47  <tmcw>the internet is over its critique quota anyway
21:45:05  <jesusabdullah>yeah but I have some karma to burn
21:45:24  <jesusabdullah>seriously though I'd at least make a proposal for something better
21:45:30  <jesusabdullah>like, specific changes I'd make
21:53:00  <dominictarr>okay, so. I just made a thing that allows me to push deploy to iframes
21:54:12  <rch>anyone want to clue me into what node is doing when it accepts --trace-hydrogen but doesn't output a hydrogen.cfg ?
21:54:50  * rchshoots in the dark
21:55:03  <jesusabdullah>idk what those are, try #node.js maybe ?
21:55:13  * coderzachquit (Quit: coderzach)
21:55:34  <rch>hmmm
21:55:56  * evbogue_joined
21:56:00  * DTrejojoined
21:57:06  * evbogue_quit (Client Quit)
21:58:00  * evboguejoined
21:59:04  * no9joined
22:03:55  * rxgxjoined
22:04:59  * coderzachjoined
22:09:56  * AvianFlujoined
22:11:07  * kevino80quit (Remote host closed the connection)
22:15:15  * dguttmanjoined
22:20:38  * mikolalysenkoquit (Ping timeout: 264 seconds)
22:21:48  * mikolalysenkojoined
22:39:14  * stagasquit (Read error: Connection reset by peer)
22:56:49  <mikolalysenko>anyone here use ws?
22:57:16  * DTrejo_joined
22:59:10  * rxgxquit (Quit: timeout)
22:59:16  * DTrejoquit (Ping timeout: 246 seconds)
22:59:21  * tmcwquit (Remote host closed the connection)
23:03:13  * damonoehlmanjoined
23:04:56  * damonoehlmanquit (Client Quit)
23:08:07  * DTrejo_quit (Remote host closed the connection)
23:09:37  <st_luke>mikolalysenko: yea
23:09:38  * fallsemoquit (Quit: Leaving.)
23:13:11  <mikolalysenko>actually I think I figured out the issue...
23:13:30  <mikolalysenko>mbalho: also, in auth-socket is there a simple way to get the profile for a socket connection?
23:18:50  * whit537joined
23:22:06  * evboguequit (Ping timeout: 245 seconds)
23:22:29  * tmcwjoined
23:25:38  * whit537quit (Quit: whit537)
23:25:43  * frankblizzardjoined
23:25:59  <mikolalysenko>mbalho: also, is there any reason the leveldown version in doorknob is like ~0.2 versions behind?
23:26:14  * soldairjoined
23:26:23  * whit537joined
23:26:29  * chiltsquit (Ping timeout: 248 seconds)
23:27:19  * chiltsjoined
23:31:55  * tmcwquit (Remote host closed the connection)
23:36:14  * st_lukequit (Remote host closed the connection)
23:37:54  * st_lukejoined
23:51:56  * evboguejoined
23:53:52  <defunctzombie>isaacs: like the new post
23:54:01  <defunctzombie>isaacs: one comment I have is about the following line: "x = foo();"
23:54:26  <isaacs>k
23:54:29  <defunctzombie>you talk about needing to know whether other parts of the program could execute or not
23:54:34  <isaacs>es
23:54:52  <defunctzombie>I agree that you could know if you wanted to, but that it isn't *that* important
23:55:09  <defunctzombie>and that having simple syntax like that for "async" things outweighs other factors
23:55:26  <isaacs>defunctzombie: my point was, either foo() is async, or it isn't.
23:55:30  <isaacs>defunctzombie: the syntax doens't matter.
23:55:41  <isaacs>defunctzombie: but, if foo() is *sometimes* async, but *sometimes* not async, then fuck you.
23:55:41  <defunctzombie>yes, I agree with all that stuff
23:55:45  <isaacs>i mean, then it fucks you.
23:55:49  <isaacs>right in the soul.
23:55:52  <defunctzombie>;)
23:55:58  <isaacs>with long dark tendrils of madness
23:56:00  <isaacs>just sayin
23:56:05  <defunctzombie>I actually think that it is less of an issue when the syntax looks like that
23:56:10  <defunctzombie>(that is graphic)
23:56:11  <isaacs>defunctzombie: you are mistaken :)
23:56:36  <isaacs>defunctzombie: it's MORE of an issue when the syntax looks like that
23:56:41  <defunctzombie>why?
23:57:02  <defunctzombie>just assume some other code could run
23:57:26  <isaacs>defunctzombie: because it's an issue all the time. but at least, when the syntax looks like foo(function(x){ .. }) or x = await foo(); or x = yield foo();, then in your mind, you say, "Aha, this is a thing, I must be aware of this."
23:57:36  <defunctzombie>nope
23:57:43  <defunctzombie>I am saying it doesn't matter
23:57:47  <defunctzombie>you dont' need the keyword
23:58:07  <isaacs>however, when you have `x = foo()`, and in fact, it pauses the stack there, and runs some other stuff, *but only sometimes*, then you can't reason any more about any line in your program *at all*
23:58:12  <defunctzombie>you only think it matters cause you want some feeling of lower level control
23:58:16  <isaacs>if anything, sync-looking code makes zalgo MorE of a threat.
23:58:19  * no9quit (Quit: Leaving)
23:58:19  <defunctzombie>sure you can
23:58:26  <defunctzombie>you can reason that line will return when foo is done
23:58:35  <isaacs>defunctzombie: ok
23:58:38  <defunctzombie>foo does whatever foo needs to do
23:58:42  <defunctzombie>that is all you get
23:59:00  <defunctzombie>if you care about *how* foo does it, then you are no longer just calling foo
23:59:05  <isaacs>function dofoo() { x = foo() }; function doBar() { bar() }; console.log('before'); doFoo(); doBar(); console.log('after x = ', x)
23:59:08  <defunctzombie>you are now relying on how foo does something
23:59:28  <defunctzombie>fucking IRC... now I need to \n this haha
23:59:35  <isaacs>defunctzombie: if the pause is not "all the way up the stack", and other parts of the program can do stuff in that time, then zalgo HE COMES
23:59:52  <defunctzombie>what is the issue with that code?