00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:01:42  * anoemiquit (Client Quit)
00:05:11  <Raynos>timoxley: https://github.com/Raynos/http-framework#documentation
00:05:16  <Raynos>Added a documentation section as a WIP
00:05:56  <timoxley>Raynos: awesome, yeah this is great stuff.
00:06:53  <timoxley>Raynos: websockets?
00:06:58  <Raynos>i also want to a workshopper for it
00:07:07  * tmcwjoined
00:07:20  * tmcwquit (Remote host closed the connection)
00:07:37  <Raynos>because then you can do non trivial web stuff workshopper if the instructions are `npm i http-framework` and "check out these doc links & examples for how to complete excercise"
00:08:11  <Raynos>timoxley: websockets is going to come later, want to continue porting express / connect examples first
00:08:34  <timoxley>Raynos related discussion on nodeschool https://github.com/nodeschool/nodeschool.github.io/pull/14
00:10:49  * thlorenzjoined
00:14:01  * jolissquit (Read error: Operation timed out)
00:14:41  * jolissjoined
00:16:46  <rowbit>Hourly usage stats: [developer: 0, free: 10]
00:16:58  * Maciek416quit (Remote host closed the connection)
00:18:48  <Raynos>timoxley: thanks for that thread
00:19:40  * thlorenzquit (Ping timeout: 264 seconds)
00:20:17  * ferossquit (Quit: feross)
00:24:18  * calvinfoquit (Quit: Leaving.)
00:26:24  * grewebjoined
00:30:55  * grewebquit (Ping timeout: 240 seconds)
00:36:24  * wolfeidauquit (Remote host closed the connection)
00:44:43  * fallsemoquit (Ping timeout: 245 seconds)
00:45:33  * ferossjoined
00:48:29  * mikolalysenkojoined
00:48:36  * yorickquit (Remote host closed the connection)
00:49:28  * jergasonquit (Quit: jergason)
00:52:25  * calvinfojoined
00:52:30  * calvinfoquit (Remote host closed the connection)
00:52:37  * fallsemojoined
00:52:46  * calvinfojoined
00:53:19  * mikolalysenkoquit (Ping timeout: 252 seconds)
00:54:19  * slaskisquit (Quit: slaskis)
00:57:11  * fallsemoquit (Ping timeout: 272 seconds)
00:57:41  * fallsemojoined
00:59:00  * jergasonjoined
01:00:15  * thlorenzjoined
01:06:09  * insertcoffeequit (Ping timeout: 272 seconds)
01:06:43  * defunctzombie_zzchanged nick to defunctzombie
01:08:30  * anvakajoined
01:09:26  <Raynos>thlorenz, feross: checkout https://github.com/Raynos/http-framework let me know what you think
01:10:23  <thlorenz>Raynos: not sure what this is, looks very reminiscent of BIG
01:10:33  <thlorenz>and/or hoarders
01:10:58  <feross>Raynos: neat, you showed me some of this when you came to Palo Alto, right?
01:11:01  * fallsemoquit (Ping timeout: 248 seconds)
01:11:17  <thlorenz>Raynos: so is it basically just bundling a bunch of modules into one big one and makes you use them thru it?
01:11:44  <Raynos>yes / no
01:11:58  <Raynos>https://github.com/Raynos/http-framework#motivation
01:12:12  <Raynos>it says i dont recommend you use this. this is just a central place for examples / documentation / exploration & discovery
01:12:28  <thlorenz>Raynos: ah I get it now - it's an example how to build an app using small modules?
01:12:37  <Raynos>it is similar to big but big has a bunch of weird frameworky stuff
01:12:47  <Raynos>this is just examples of how to build web sites without frameworks
01:13:07  <Raynos>and i put all the re-exports in the http-framework for discovery / convenience / tongue in cheek anti framework humor
01:13:12  <thlorenz>ok, wouldn't it be more useful to just show examples instead of calling it a framework?
01:13:26  <thlorenz>I thought there was a bit tonguue in cheek going on
01:13:28  <Raynos>i call it a framework because that's the joke.
01:13:29  * fallsemojoined
01:13:44  <thlorenz>Raynos: that's what I hopeed ;) but wasn't entirely sure
01:13:47  <Raynos>maybe i should rename it to "http-the-framework"
01:13:51  <Raynos>so its more obvouis it is a joke
01:14:24  <thlorenz>http-super-framework
01:14:27  <Raynos>feross: I might have shown you some of this stuff. but this is all brand new documentation / examples / wiki for small modules
01:14:37  <Raynos>http-the-super-framework
01:14:38  <thlorenz>or http-super-duper-framework
01:14:49  <Raynos>super-duper-framework XD
01:14:54  <thlorenz>hinaf
01:14:59  <Raynos>i'll leave the joke subtle :p
01:15:07  <thlorenz>"hinaf is not a framework"
01:15:11  <Raynos>i also added https://github.com/Raynos/http-framework/blob/master/server.js
01:15:44  <thlorenz>Raynos: yeah that's funny, may confuse ppl though that have no precontext
01:15:51  <thlorenz>cuz they may think you are serious
01:15:57  * calvinfoquit (Quit: Leaving.)
01:16:02  <Raynos>they should read the README !
01:16:16  <thlorenz>I think what ppl actually need are more examples on how to build real-world apps using small modules
01:16:43  <Raynos>yeah exaclty. that's what I'm working on
01:16:46  <rowbit>Hourly usage stats: [developer: 10, free: 40]
01:16:50  * defunctzombiechanged nick to defunctzombie_zz
01:16:59  <thlorenz>maybe also include a kinda-mini framework that bundles some related small modules
01:17:06  <thlorenz>to show that that option is always open
01:17:09  <Raynos>http-framework bundles them :p
01:17:14  <thlorenz>whereas the other way around is not
01:17:19  <thlorenz>yeah, but it's not serious
01:17:41  <Raynos>i would actually recommend using this whole package for noobs
01:17:51  <Raynos>because its a thing that is going to have centralized examples & documentation
01:18:00  <thlorenz>it'd be nice to have something that shows a healthy mixture of bundling and small modules
01:18:09  <Raynos>people having to read the README & tests for 10 different dependencies takes competence
01:18:11  * fallsemoquit (Ping timeout: 265 seconds)
01:18:21  <thlorenz>Raynos: I don't know, it'd be better to teach ppl how to fish
01:18:31  <thlorenz>i.e. how to discover modules they need
01:18:36  <Raynos>sure.
01:18:47  <Raynos>but something like http-framework is fantastic for onboarding a new developer onto a team
01:18:52  <thlorenz>discoverablilty is the #1 con that I get when talking about small modules
01:19:00  <Raynos>because its going to have lots of docs & examples
01:19:08  <thlorenz>but the modules already have them
01:19:13  <thlorenz>or at least they should
01:19:15  <Raynos>at the micro level
01:19:17  <Raynos>not macro level
01:19:21  <Raynos>these are macro examples
01:19:28  <thlorenz>yeah, so an example on how to use them together is good
01:19:54  <Raynos>i would only recommend this if your team is uncomfortable with small modules and plans to use hapi or express instead
01:20:06  <Raynos>this is a good middleground if that is like a thing that you need to compromise on
01:20:17  <thlorenz>Raynos: got it, makes sense - kind of like an entry drug to small modules ;)
01:20:22  <Raynos>yep
01:20:59  * fallsemojoined
01:21:02  <Raynos>its also great for https://twitter.com/Raynos/status/401264264075161600
01:21:19  <thlorenz>:) yeah
01:21:26  * ferossquit (Quit: feross)
01:21:29  <Raynos>its a 140 char answer to how to do web servers without frameworks
01:22:26  <Raynos>at this point feedback for documentation / example style, what type of examples, what type of modules, edits to the wiki are appreciated :D
01:22:30  * grewebjoined
01:26:23  <anvaka>Raynos: could be helpful to add README.md inside each example folder, describe what it's doing
01:27:28  * grewebquit (Ping timeout: 264 seconds)
01:34:11  * ferossjoined
01:36:03  <Raynos>thlorenz: I know your using express & restify for your production stuff. Is there anything I can do with http-framework to make it easier to not use frameworks?
01:36:58  <thlorenz>Raynos: not sure, it would have to do everything for me, i.e. security, templating, wipe my ass ...
01:37:34  <Raynos>I'm sure I can cover everything :D
01:37:36  <Raynos>EVERYTHING
01:37:45  <thlorenz>that's why ppl start using them cuz it has everything build in and they just do what's in the docs and they have a web server -- forget about perf though since they don't know what it's actually doing
01:38:23  <thlorenz>Raynos: :) seriously though, you are gonna get questions like - does it support handlebars?
01:38:33  <thlorenz>and then you are like - what do you mean?
01:38:49  <thlorenz>just USE handlebars and send the html up
01:39:08  <thlorenz>but ppl who like frameworks don't nec. think that way
01:39:54  <thlorenz>Raynos: so I think the main point to show is that you can make it do EVERYTHING by using other modules
01:40:12  <Raynos>yes
01:40:14  <thlorenz>but don't expect it to have a function for everything attached already
01:40:19  <Raynos>well I'm going to have an templates-examples folder
01:40:24  <thlorenz>cool
01:40:37  <Raynos>where I show ejs / jade / handlebars / hyperscript / string-template / blargh / foobar / woop-de-doop
01:40:47  <Raynos>just the same code with many different templating languages
01:40:52  <Raynos>to demonstrate that plug & play works
01:41:15  <thlorenz>yeah, actually woop-de-doop is my most favorite templating module right now, sooooo succinct
01:42:57  * fallsemoquit (Quit: Leaving.)
01:43:39  * defunctzombie_zzchanged nick to defunctzombie
01:44:20  <Raynos>but this is the type of thing I want to do. this feedback is good
01:45:12  <defunctzombie>Raynos: require http is bullshit for any real web app worked on by more than one person, you are gonna need some sort of libs, routers, view handlers, etc
01:45:21  <defunctzombie>it is fine to use libs for each one of those if you want
01:46:10  <Raynos>defunctzombie: I agree
01:46:23  <Raynos>of course you still require http
01:46:32  <defunctzombie>personally, I like express because it is small enough with few opinions
01:46:39  <Raynos>require("http").createServer(require("./router.js")).listen(8080)
01:46:39  <defunctzombie>it is basically a router
01:46:55  <Raynos>our definitions of small differ :D
01:47:21  <defunctzombie>just depends where you prefer to do all your work
01:47:25  <defunctzombie>I prefer to use middleware
01:47:30  <defunctzombie>to handle things like body parsing, etc
01:47:36  <defunctzombie>and not do that in every route
01:48:01  <defunctzombie>also, I don't care about a one line solution since in a real app I will often have debug and other things
01:48:12  <defunctzombie>that are far more important than having stuff on one line
01:48:22  <Raynos>one line solutions are silly
01:48:25  * dguttmanquit (Quit: dguttman)
01:48:33  <Raynos>i like parsing body in a route because its so trivial
01:48:37  <defunctzombie>the difference between a real app and toy apps is quite substantial typically
01:48:47  <defunctzombie>I don't because I will do it for every route
01:48:57  <defunctzombie>so I don't want to have more potential for codepath failures
01:49:12  * mikolalysenkojoined
01:50:14  <Raynos>https://gist.github.com/Raynos/7622373#file-user-route-js-L6
01:50:50  <Raynos>defunctzombie: i dont see how body parsing globally or per route causes codepath failures
01:51:10  <defunctzombie>Raynos: I dont use generator bullshit
01:51:28  <Raynos>use whatever flow control library you want. parsing a body is one line of code
01:51:28  <defunctzombie>also, that code would have to be in any route that accepts a body
01:51:37  <Raynos>+1 line of code in a route
01:51:49  <defunctzombie>+N lines for N routes
01:51:52  <Raynos>replace `var body = req.body` with `var body = fetchBody(req, res)`
01:51:59  <Raynos>zero difference
01:52:31  <defunctzombie>and now if something changes with jsonBody I gotta update N places in the code
01:52:47  <defunctzombie>I don't like that approach personally
01:53:03  <defunctzombie>there ARE common things I want done for routes, and that is why I use a library like express
01:53:10  <defunctzombie>or a middleware stack I should say
01:53:26  <defunctzombie>if I am building a different type of API (maybe file uploads) then that is a different story
01:53:34  <Raynos>but if something changes with jsonBody
01:53:39  <Raynos>is the same as if something changes with req.body
01:53:48  <Raynos>the middleware changed to req.payload instead of req.body
01:54:03  <Raynos>same type of cascading effect
01:54:17  * mikolalysenkoquit (Ping timeout: 272 seconds)
01:54:26  * dguttmanjoined
01:58:10  <defunctzombie>I just don't see the point... at the end of the day you are gonna end up with a project "framework" thin or heavy is up to you
01:58:15  <defunctzombie>having all the stuff as modules is good
01:58:23  <defunctzombie>cause it lets you assemble it how you want
02:02:30  <Raynos>you are going to end up with structure
02:02:44  <Raynos>but im just reducing global concerns
02:02:49  <Raynos>so each route can make local decisions
02:04:46  <defunctzombie>I can dig that, just think that you end up making more mistakes that way with how a web API routing system typically flows
02:04:51  <defunctzombie>and write more code in the process
02:06:16  <Raynos>i do write more code in the process
02:06:30  <Raynos>but it buys me freedom & flexibility on the per route locality level
02:06:37  <Raynos>also performance gains
02:06:44  <Raynos>like I'm not going to put session in the global middleware
02:06:47  * fallsemojoined
02:09:10  * defunctzombiechanged nick to defunctzombie_zz
02:10:49  * defunctzombie_zzchanged nick to defunctzombie
02:11:03  <defunctzombie>Raynos: performance gains [citation needed]
02:11:24  <Raynos>defunctzombie: session globally is a db request per http request
02:11:39  <Raynos>hit the db for every favicon request if you order your global middleware wrong
02:11:49  <defunctzombie>I order it right
02:11:57  <defunctzombie>also I use cookie sessions for the basic session
02:12:02  <defunctzombie>and then load more if I need it
02:12:05  <Raynos>your still going to hit the session database for static pages
02:12:09  <defunctzombie>to avoid a DB hit for every request
02:12:10  <defunctzombie>no
02:12:12  <defunctzombie>I don't
02:12:18  <Raynos>oh you store the entire session document in the cookie ?
02:12:28  <defunctzombie>yea, I keep hte session doc small
02:12:35  <Raynos>that works
02:13:03  <defunctzombie>also, you are fully able to serve static pages before session middleware as well if you want
02:13:13  <defunctzombie>just depends in you need session info to render the page or not
02:13:16  <Raynos>i meant dynamic pages that are session-less
02:13:30  <Raynos>like a team or about page
02:14:52  <defunctzombie>sure.. tho hitting a session for those is not the end of the world either really
02:14:55  <Raynos>defunctzombie: I would talk to forest novell about express performance
02:15:06  <defunctzombie>since your API requests are likely to hit session stuff way way more than those pages
02:15:13  <Raynos>if its a perf hit of 2x then thats the difference between running 10 servers or 5 servers
02:16:31  * calvinfojoined
02:16:46  <rowbit>Hourly usage stats: [developer: 0, free: 15]
02:17:39  <defunctzombie>sure, tho like I said, static pages might be trivial... I know for my app, the number of ajax requests I make on the app side far outweighs any static html page request
02:18:19  <Raynos>I guess
02:18:42  <Raynos>The last counter point is I hate walled gardens. I dont want to author special function (req, res, next) {} that need to plugged into a state machine
02:18:59  <Raynos>I'd rather have function (req, res, opts, callback) {} with normal node semantics
02:19:13  <defunctzombie>sure, that is preference and I can dig that
02:19:13  <Raynos>it's healthier for interop with the breadth of node
02:19:29  <defunctzombie>I personally like the structure.. but I can appreciate alternative approaches
02:19:44  <Raynos>i guess it makes sense
02:19:46  <defunctzombie>I just know that using my lovely middleware and express setup I get very good results
02:19:50  <Raynos>convenience >> global purity
02:19:54  <defunctzombie>power all sorts of random things
02:20:03  <defunctzombie>but to each his own!
02:20:24  <defunctzombie>Raynos: http://localtunnel.me/
02:20:33  <defunctzombie>that is a cool combination of all sorts of random technologies
02:20:38  <defunctzombie>from express, bouncy, engine.io
02:21:31  * calvinfoquit (Ping timeout: 272 seconds)
02:23:14  * grewebjoined
02:24:16  * anvakaquit (Remote host closed the connection)
02:27:54  * grewebquit (Ping timeout: 246 seconds)
02:31:19  * defunctzombiechanged nick to defunctzombie_zz
02:33:42  <brianloveswords>rvagg: hey, I don't know if you saw this thing I made, https://github.com/brianloveswords/stream-sql, totally inspired by both your levelup API and docs !
02:34:31  <rvagg>brianloveswords: that's awesome! I'd totally use that
02:34:53  <rvagg>I have a frightening amount of data still in mysql databases
02:35:15  <brianloveswords>rvagg: I've been using it on my own site and it's been going well, we're about to start trying it in real production next week on some things at mozilla.
02:35:30  <rvagg>cool
02:35:50  <brianloveswords>Yeah, we have a ton of stuff in mysql.
02:39:20  <brianloveswords>I also just finished the first version of this crazy pattern matching reverse proxy, https://github.com/brianloveswords/hyperproxy
02:48:39  * fuzquit (Ping timeout: 272 seconds)
02:50:10  * mikolalysenkojoined
02:50:51  * anoemijoined
02:53:23  * ITpro_quit (Ping timeout: 265 seconds)
02:55:09  * calvinfojoined
02:55:37  * mikolalysenkoquit (Ping timeout: 272 seconds)
02:56:08  * defunctzombie_zzchanged nick to defunctzombie
02:59:52  * calvinfoquit (Ping timeout: 264 seconds)
03:06:29  * thlorenz_joined
03:11:33  * thlorenz_quit (Ping timeout: 272 seconds)
03:11:58  <ogd>brianloveswords: how hard would it be to support sqlite?
03:12:41  <brianloveswords>ogd: not very hard at all, I'm not using any mysql specific extensions. It'd be a matter of using a different `connect` function. You want me to experiment?
03:13:03  <brianloveswords>Well, and some of the query stuff too.
03:13:04  <ogd>brianloveswords: yea i think that would be really useful!
03:13:10  <ogd>oh are queries different?
03:13:17  <brianloveswords>Not the SQL
03:13:21  <brianloveswords>But the query *interface*
03:13:26  <ogd>ah
03:13:31  <ogd>like its not a socket?
03:13:39  <brianloveswords>Not sure, I'm just assuming it's different.
03:13:51  <brianloveswords>Any suggestions on a legit sqlite driver?
03:14:05  <ogd>brianloveswords: i think the one that mapbox uses is good
03:14:10  <brianloveswords>ogd: (also, I just finished a stable version of this https://github.com/brianloveswords/hyperproxy)
03:14:16  <ogd>lemme figure out what dat is
03:14:26  <ogd>https://npmjs.org/package/sqlite3
03:14:32  <ogd>yea all those peohple work at mapbox
03:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 19]
03:22:36  <brianloveswords>ogd: ah rad, I *think* I can whip this into shape. I'll mess around with it tomorrow!
03:22:41  <ogd>w00t
03:22:50  <ogd>brianloveswords: also i was jsut hanging with jed
03:22:55  <brianloveswords>Oh nice!!
03:22:56  <ogd>brianloveswords: he didnt say hi but i bet me meant to
03:23:10  <brianloveswords>hahaha, I'm sure.
03:23:28  * groundwaterjoined
03:23:30  * defunctzombiechanged nick to defunctzombie_zz
03:24:04  <groundwater>ogd: mad science channel, i like that
03:24:11  * grewebjoined
03:24:29  <brianloveswords>mad science is the best science.
03:25:20  <jesusabdullah>my mad science usually putters out :(
03:25:34  <ogd>jesusabdullah: whatevs m8 browserify-cdn rulz
03:25:44  <jesusabdullah>yeah 'cept it need some tender lovin'
03:25:49  <ogd>i think im gonna move it to digitalocean
03:25:52  <brianloveswords>What's a good terminal colors library, is everyone just still using marak's?
03:26:02  <jesusabdullah>I might redo the backend to use scuttlebutts
03:26:05  <brianloveswords>ogd: I've been experimenting with digitalocean recently.
03:26:07  <jesusabdullah>I'd get replication for free
03:26:14  <brianloveswords>ogd: moved bjb.io to it, been going pretty well.
03:26:20  <ogd>brianloveswords: me too!!! have you done https://medium.com/code-adventures/438bce155dcb
03:26:24  <jesusabdullah>brianloveswords: that's the most common but there's at least one more reasonably good one that doesn't punch the proto
03:26:41  <jesusabdullah>what is bjb.io
03:26:43  <ogd>brianloveswords: inspired by your twitter thing i moved all maxogden.com subdomains to point to a digital ocean instance with dokku setup
03:26:43  <brianloveswords>ogd: Oh man, I haven't!
03:26:54  <brianloveswords>jesusabdullah: just my personal site, nothing critical.
03:26:55  <ogd>brianloveswords: so that i can deploy shit easily to subdomains of my site
03:26:57  <jesusabdullah>word
03:26:57  <jcrugzz>brianloveswords: the streamsql thing is awesome, totally gonna use that for my buddy's project
03:27:01  <ogd>brianloveswords: oh man it is so great, run through that blog post
03:27:05  <brianloveswords>jcrugzz: thanks man!
03:27:10  <jesusabdullah>yeah, jesusabdullah.net is on a ramhost vps right now
03:27:13  <jcrugzz>cause no one wants to write SQL, lets be real
03:27:17  <jesusabdullah>but thinking about moving it to uhh
03:27:18  <jesusabdullah>DO
03:27:22  <jesusabdullah>with a bunch of other stuff
03:27:23  <jesusabdullah>mebbs
03:27:30  <jesusabdullah>need a few other things
03:28:19  <groundwater>ogd: you basically built a mini-heroku cluster for $5/mo
03:28:21  <ogd>brianloveswords: i deployed a cors proxy to cors.maxogden.com
03:28:28  <ogd>groundwater: i didnt build it!
03:28:34  <groundwater>w/e you assembled it
03:28:37  * grewebquit (Ping timeout: 248 seconds)
03:28:45  <ogd>groundwater: eya
03:29:03  <groundwater>now let's see how many node services you can stuff into 512MB ram
03:29:12  <ogd>groundwater: turns out you do need a Procfile but https://github.com/heroku/heroku-buildpack-nodejs/pull/49
03:29:16  <jesusabdullah>ogd: if/when you scooch it we should set it up so I can easily do derploys
03:29:20  <brianloveswords>haha ogd I just spent today building `hyperproxy` so I can do crazy subdomain (and URL!) routing for my server.
03:29:45  <groundwater>ogd: i was actually talking to the Heroku guy about that at nodeschool, he wants to let people define multiple process types in their package.json files
03:29:50  <ogd>jesusabdullah: yea i can just add your pubkey
03:29:55  <jesusabdullah>I'm slowly but surely working on a cpanel-ish thing just for, uhh
03:30:04  <jesusabdullah>nginx and pureftp user management
03:31:17  <groundwater>man, i don't know why i didn't think of just using an nginx proxy before for pre-compiled node modules
03:31:21  <groundwater>it's such a simple idea
03:40:09  * anoemiquit (Quit: anoemi)
03:44:29  <groundwater>so who is everyone here?
03:44:32  <groundwater>i know ogd
03:44:42  <groundwater>do i know anyone else?
03:45:48  <brianloveswords>groundwater: I'm brianloveswords everywhere on the internet, https://twitter.com/brianloveswords, and I live in Brooklyn.
03:46:48  <groundwater>brianloveswords: nice, i just followed ya on twitter
03:47:07  <jcrugzz>brianloveswords: what part of BK? im over in bushwick
03:47:19  <brianloveswords>Oh rad, jcrugzz, I'm in Fort Greene.
03:47:35  <brianloveswords>jcrugzz: but my practice space is near Bushwick, 260 Meserole in east williamsburg.
03:47:38  <brianloveswords>So I'm there frequently.
03:47:53  <jcrugzz>oh sweet, yea i heard you played at pianos thursday night from strmpnk
03:48:11  <groundwater>brianloveswords: what do you do at Moz?
03:48:24  <brianloveswords>groundwater: I co-founded the OpenBadges project
03:48:32  <brianloveswords>http://openbadges.org/
03:49:13  <groundwater>brianloveswords: ahh nice, hey ogd are these the stickers you had on your laptop?
03:49:31  <ogd>groundwater: yep!
03:49:45  <groundwater>i should start rocking those dat stickers
03:49:51  <ogd>hell yea!!!
03:49:58  <ogd>not that anyone will know what it is
03:50:01  <ogd>but they might ask :D
03:50:12  <ogd>or you could be like 'let me tell you about this hexagon right here'
03:50:43  <brianloveswords>hahah “first thing to note, it follows the International Standard of Hexagonal Sticker Sizing”
03:50:47  * mikolalysenkojoined
03:51:02  <ogd>lol
03:51:05  <ogd>ISHSS
03:52:15  <jesusabdullah>idk what that is
03:52:25  <jesusabdullah>actually
03:52:29  <jesusabdullah>uhhh, that's a thing?
03:52:40  <jesusabdullah>groundwater: just a guy that writes javascript
03:52:59  <brianloveswords>jcrugzz: yeah, pianos was pretty fun!
03:53:04  <jesusabdullah>groundwater: my best known node projects are ecstatic, hoarders and browserify-cdn
03:53:24  <jcrugzz>brianloveswords: when is your next gig? ill have to check it out
03:53:31  <groundwater>jesusabdullah: you're the hoarders guy!?
03:53:32  <groundwater>haha
03:53:44  <jesusabdullah>groundwater: yessir
03:53:46  <jcrugzz>well actually it might have to wait until i get back to NY in a month
03:53:48  <jesusabdullah>groundwater: and/or madame
03:54:01  <groundwater>ahh sorry, my bad
03:54:02  <jesusabdullah>where are you now crugzzter?
03:54:04  <brianloveswords>jcrugzz: we don't have anything lined up right now, probably the New Year with all the holidays and travling coming up.
03:54:17  <jcrugzz>word
03:54:19  <jesusabdullah>I wanna make it to NYC in like Jan/Feb
03:54:31  <jesusabdullah>trying to convince the company it's a good idea
03:54:33  <jesusabdullah>if not, well
03:54:37  <jesusabdullah>I'll probs do it myself
03:54:45  <jcrugzz>jesusabdullah: i live in BK, and im sure you can manage to convince them its a good idea
03:55:05  <jesusabdullah>jcrugzz: Yeah, well, I think so too
03:55:26  * defunctzombie_zzchanged nick to defunctzombie
03:55:46  <jesusabdullah>jcrugzz: we have offices there due to the getglue aquisition and we're talking about integrating our services, that will require knowledge of both stacks so I think there will be a period where it will help them to have someone like me with them
03:55:55  * calvinfojoined
03:55:56  <jesusabdullah>heh, maybe vice versa as well
03:56:01  <jesusabdullah>employee swap!! :v
03:56:47  <jcrugzz>jesusabdullah: perfect
03:56:54  <jesusabdullah>jcrugzz: yeah exactly
03:57:15  <jesusabdullah>jcrugzz: shit's still falling out but I've suggested it multiple times so I'm hoping to plant the seeds there
03:58:19  <brianloveswords>jesusabdullah: oh, are you trying to *move* to NYC?
03:58:28  <jesusabdullah>brianloveswords: no, long term visit
03:58:32  <brianloveswords>Ahhh rad
03:58:37  <jesusabdullah>brianloveswords: maybe a month? fingers crossed
03:58:57  <brianloveswords>Nice, we'll hang.
03:58:58  <jesusabdullah>brianloveswords: I really like it here in SLC for some reason XD but I've always wanted to visit especially with all my homies there
03:59:01  <jesusabdullah>yeah
03:59:02  <jesusabdullah>totes
03:59:10  <jesusabdullah>will have to go back to the bay as well
03:59:15  <jesusabdullah>probs for a conf or something
04:00:19  * calvinfoquit (Ping timeout: 252 seconds)
04:00:20  <jesusabdullah>:hardcopy
04:00:23  <jesusabdullah>is my favorite
04:02:52  <jesusabdullah>it just automagically starts a sane printer and everything
04:06:17  * fallsemoquit (Ping timeout: 272 seconds)
04:06:23  <ogd>groundwater: ooh also just found https://github.com/statianzo/dokku-supervisord
04:06:34  <ogd>groundwater: which magically restarts your processes when they crash after a 1 line install
04:06:41  <ogd>groundwater: just tested it, works great
04:06:50  <groundwater>how does the normal doku work?
04:06:54  <groundwater>does it just die?
04:06:59  <groundwater>and then you have to manually restart?
04:07:33  * fallsemojoined
04:11:43  * fallsemoquit (Ping timeout: 246 seconds)
04:12:09  <jcrugzz>brianloveswords: whatd you think of that connection pooling in mysql?
04:12:51  * anoemijoined
04:16:21  * fallsemojoined
04:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 8]
04:23:49  <groundwater>well i just realized i have two accounts on npm
04:24:10  <groundwater>lol
04:24:47  <groundwater>~groundwater and ~jacobgroundwater
04:24:54  * grewebjoined
04:27:26  * fallsemoquit (Ping timeout: 252 seconds)
04:29:47  * grewebquit (Ping timeout: 272 seconds)
04:37:17  * wolfeidaujoined
04:41:27  <jesusabdullah>actually making reasonably good progress on browserify-cdn cache refactor
04:41:30  <jesusabdullah>gonna throw in build stats too
04:42:26  * wolfeidauquit (Ping timeout: 246 seconds)
04:44:32  * shamaquit (Write error: Broken pipe)
04:46:10  * shamajoined
04:53:08  * fallsemojoined
04:54:52  <groundwater>okay, just published 15 modules to npm
04:55:33  <groundwater>my ugly ass c++ modules
04:56:04  <jesusabdullah>lol nice
04:56:40  * calvinfojoined
04:57:37  * calvinfo1joined
04:57:37  * calvinfoquit (Read error: Connection reset by peer)
04:58:33  * calvinfojoined
04:58:33  * calvinfo1quit (Read error: Connection reset by peer)
05:00:52  * thlorenzquit (Remote host closed the connection)
05:02:55  * calvinfoquit (Ping timeout: 245 seconds)
05:07:14  * kriskowal_joined
05:08:52  * kriskowalquit (Ping timeout: 264 seconds)
05:08:52  * kriskowal_changed nick to kriskowal
05:10:26  <jesusabdullah>this scuttlebutt refactor's gonna be neato
05:10:41  * jibayquit (Read error: Connection reset by peer)
05:12:42  * defunctzombiechanged nick to defunctzombie_zz
05:15:27  * cpupchanged nick to CoderPuppy
05:15:38  * CoderPuppychanged nick to cpup
05:15:50  * cpupchanged nick to CoderPuppy
05:16:46  <rowbit>Hourly usage stats: [developer: 0, free: 37]
05:20:10  * Maciek416joined
05:25:01  * ferossquit (Quit: feross)
05:25:34  * grewebjoined
05:30:32  * grewebquit (Ping timeout: 272 seconds)
05:34:04  * mikolalysenkoquit (Ping timeout: 264 seconds)
05:34:06  * brycebarilquit (Ping timeout: 246 seconds)
05:34:26  * ferossjoined
05:35:17  * anoemiquit (Quit: anoemi)
05:36:05  * brycebariljoined
05:53:48  * ferossquit (Quit: feross)
05:56:55  * fallsemoquit (Quit: Leaving.)
05:59:39  * mikolalysenkojoined
06:02:06  * thlorenzjoined
06:04:59  * mikolalysenkoquit (Ping timeout: 272 seconds)
06:15:25  * thlorenzquit (Ping timeout: 245 seconds)
06:16:44  <rowbit>Daily usage stats: [developer: 19, free: 627]
06:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 12]
06:24:45  * mikolalysenkojoined
06:26:15  * grewebjoined
06:29:08  <hij1nx>a through stream that caches --> https://github.com/hij1nx/through-cache
06:31:01  * grewebquit (Ping timeout: 252 seconds)
06:38:12  * Maciek416quit (Remote host closed the connection)
06:54:26  * wolfeidaujoined
06:55:12  * wolfeidauquit (Read error: Connection reset by peer)
06:55:27  * wolfeidaujoined
07:00:05  * wolfeidauquit (Ping timeout: 272 seconds)
07:08:50  * thlorenzjoined
07:13:21  <groundwater>hey any suggestions on http router modules?
07:13:28  <groundwater>i want as minimal as possible
07:13:38  * jergasonquit (Quit: jergason)
07:13:53  <jesusabdullah>yeah there's one I use from time to time one sec
07:15:18  <jesusabdullah>groundwater: https://github.com/aaronblohowiak/routes.js
07:16:17  <groundwater>jesusabdullah: thanks, i'll check it out
07:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 19]
07:22:36  * thlorenzquit (Ping timeout: 265 seconds)
07:26:59  * grewebjoined
07:31:28  * grewebquit (Ping timeout: 240 seconds)
07:37:26  * thlorenzjoined
07:43:12  * shamaquit
07:45:09  * thlorenzquit (Ping timeout: 272 seconds)
07:56:55  <Raynos>groundwater: https://github.com/Raynos/http-framework/wiki/Modules#wiki-routers
07:57:21  * wolfeidaujoined
07:59:51  <groundwater>Raynos: this is awesome, thanks
08:00:36  <Raynos>groundwater: check out the examples folder aswell for other goodies
08:07:09  * ITprojoined
08:07:33  * ITprochanged nick to Guest77969
08:11:10  * ITpro_joined
08:12:18  * Guest77969quit (Ping timeout: 246 seconds)
08:15:14  <jesusabdullah>uuuuugh I wrote all this code assuming you could pass arguments to classes inheriting from Scuttlebutt
08:15:17  <jesusabdullah>and you totally can't
08:15:22  <jesusabdullah>auuuuugh
08:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 6]
08:18:49  * thlorenzjoined
08:25:49  * mikolalysenkoquit (Ping timeout: 240 seconds)
08:27:44  * grewebjoined
08:29:13  <jesusabdullah>craaaap this is all sorts of jacked up ;_;
08:30:37  <jesusabdullah>craaaaap and it only works with instance methoods
08:32:09  * grewebquit (Ping timeout: 240 seconds)
08:32:18  * thlorenzquit (Ping timeout: 272 seconds)
08:39:39  <Raynos>jesusabdullah: why cant you pass arguments ?
08:43:09  * wolfeidauquit (Remote host closed the connection)
08:46:35  * jcrugzzquit (Ping timeout: 272 seconds)
08:46:51  <jesusabdullah>Raynos: because of how it clones
08:47:07  <Raynos>you mean .createStream() is unique stream each time ?
08:47:09  <jesusabdullah>Raynos: check this out https://github.com/dominictarr/scuttlebutt/blob/master/index.js#L291
08:47:48  <jesusabdullah>No, I mean sb.clone gets called ever, and the cloner has no way of knowing what the arguments passed to the original were
08:48:08  <jesusabdullah>I also take this to mean that you didn't try writing expiry-model as a constructor
08:48:11  * wolfeidaujoined
08:48:29  <jesusabdullah>which is weak because you can't inherit from it like you can a subclass of Scuttlebutt
08:50:27  <jesusabdullah>oh, and I have to, uhh, find a way to expire keys that will work with level-scuttlebutt
08:53:27  * wolfeidauquit (Ping timeout: 272 seconds)
08:56:26  <Raynos>i never used clone
08:59:14  <jesusabdullah>I think level-scuttlebutt might underneath
08:59:38  <jesusabdullah>which could be unfortunate if only cause my scuttlebutts are going to be quite large
08:59:46  <jesusabdullah>I'm already stuck carrying them entirely in memory
09:05:37  * wolfeidaujoined
09:13:07  * jcrugzzjoined
09:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 8]
09:21:15  * jcrugzzquit (Ping timeout: 245 seconds)
09:22:31  * mikolalysenkojoined
09:27:23  * mikolalysenkoquit (Ping timeout: 252 seconds)
09:28:30  * grewebjoined
09:28:34  * thlorenzjoined
09:32:55  * grewebquit (Ping timeout: 245 seconds)
09:41:48  * thlorenzquit (Ping timeout: 245 seconds)
09:48:10  * mikolalysenkojoined
09:52:55  * mikolalysenkoquit (Ping timeout: 245 seconds)
09:55:27  * dguttmanquit (Quit: dguttman)
10:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 11]
10:33:02  * slaskisjoined
10:38:31  * thlorenzjoined
10:45:31  * wolfeidauquit (Remote host closed the connection)
10:46:27  * ITpro__joined
10:47:00  * ITpro_quit (Ping timeout: 246 seconds)
10:49:08  * mikolalysenkojoined
10:52:04  * thlorenzquit (Ping timeout: 264 seconds)
10:54:28  * mikolalysenkoquit (Ping timeout: 264 seconds)
11:02:15  * ins0mniajoined
11:10:12  * slaskisquit (Quit: slaskis)
11:16:35  * ITpro__quit (Ping timeout: 272 seconds)
11:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 13]
11:21:45  * ITpro_joined
11:28:05  * ITpro_quit (Ping timeout: 272 seconds)
11:43:35  * substackin guanzhou
11:48:24  * thlorenzjoined
11:48:34  * thlorenz_joined
11:49:42  * mikolalysenkojoined
11:55:13  * mikolalysenkoquit (Ping timeout: 272 seconds)
11:57:13  * thlorenz_quit (Ping timeout: 272 seconds)
12:01:36  * thlorenzquit (Ping timeout: 240 seconds)
12:06:09  * yorickjoined
12:16:46  <rowbit>Hourly usage stats: [developer: 0, free: 4]
12:50:31  * mikolalysenkojoined
12:54:20  * mikolalysenkoquit (Read error: Operation timed out)
12:58:20  * thlorenzjoined
13:11:25  * thlorenzquit (Ping timeout: 246 seconds)
13:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 1]
13:51:13  * mikolalysenkojoined
13:56:09  * mikolalysenkoquit (Ping timeout: 252 seconds)
14:08:11  * thlorenzjoined
14:09:13  * defunctzombie_zzchanged nick to defunctzombie
14:12:41  * ITpro_joined
14:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 0]
14:17:15  * grewebjoined
14:22:04  * thlorenzquit (Ping timeout: 264 seconds)
14:47:42  * jergasonjoined
14:49:25  * groundwaterquit (Ping timeout: 246 seconds)
14:51:59  * mikolalysenkojoined
14:56:40  * mikolalysenkoquit (Ping timeout: 245 seconds)
15:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 0]
15:17:26  * brianloveswordsquit (Excess Flood)
15:17:50  * brianloveswordsjoined
15:18:07  * thlorenzjoined
15:25:08  * defunctzombiechanged nick to defunctzombie_zz
15:31:44  * thlorenzquit (Ping timeout: 265 seconds)
15:50:54  * jergasonquit (Quit: jergason)
15:51:07  * insertcoffeejoined
15:52:46  * mikolalysenkojoined
15:57:40  * mikolalysenkoquit (Ping timeout: 246 seconds)
16:02:28  * Maciek416joined
16:07:23  * grewebquit (Ping timeout: 240 seconds)
16:13:19  * jolissquit (Quit: joliss)
16:16:46  <rowbit>Hourly usage stats: [developer: 0, free: 0]
16:18:04  * thlorenzjoined
16:28:31  * fallsemojoined
16:31:30  * fallsemoquit (Client Quit)
16:34:37  * fallsemojoined
16:35:17  * fallsemoquit (Client Quit)
16:39:25  * AvianFlujoined
16:53:34  * mikolalysenkojoined
16:58:23  * mikolalysenkoquit (Ping timeout: 252 seconds)
16:59:08  * anoemijoined
17:04:31  * brycebarilquit (Ping timeout: 246 seconds)
17:04:38  * AvianFluquit (Read error: Connection reset by peer)
17:05:33  * brycebariljoined
17:07:21  * AvianFlujoined
17:14:35  * kevinswiberjoined
17:16:08  * kevinswiberquit (Remote host closed the connection)
17:16:46  <rowbit>Hourly usage stats: [developer: 0, free: 0]
17:17:52  * groundwaterjoined
17:36:07  * grewebjoined
17:40:34  * grewebquit (Ping timeout: 246 seconds)
17:52:33  * Maciek416quit (Remote host closed the connection)
17:52:43  * groundwaterquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
17:54:18  * mikolalysenkojoined
17:58:28  * Maciek416joined
17:59:07  * mikolalysenkoquit (Ping timeout: 246 seconds)
18:01:21  * Maciek416quit (Remote host closed the connection)
18:04:09  * fallsemojoined
18:04:37  * dguttmanjoined
18:05:15  * Maciek416joined
18:05:28  * Maciek416quit (Remote host closed the connection)
18:07:09  * slaskisjoined
18:09:13  * thlorenzquit (Remote host closed the connection)
18:14:51  * mikolalysenkojoined
18:15:28  * thlorenzjoined
18:16:45  <rowbit>Hourly usage stats: [free: 24]
18:31:10  * defunctzombie_zzchanged nick to defunctzombie
18:35:36  * thlorenzquit (Remote host closed the connection)
18:37:07  * grewebjoined
18:39:06  * jolissjoined
18:41:28  * grewebquit (Ping timeout: 240 seconds)
19:01:37  * AvianFluquit (Remote host closed the connection)
19:01:40  * mikolalysenkoquit (Ping timeout: 245 seconds)
19:02:15  * anoemiquit (Quit: anoemi)
19:02:27  * fotoveritequit (Ping timeout: 265 seconds)
19:02:51  * AvianFlujoined
19:10:07  * defunctzombiechanged nick to defunctzombie_zz
19:16:45  <rowbit>Hourly usage stats: [free: 34]
19:18:35  * thlorenzjoined
19:22:03  * grewebjoined
19:28:32  * mikolalysenkojoined
19:31:49  * thlorenzquit (Ping timeout: 240 seconds)
19:32:35  * groundwaterjoined
19:33:03  * mikolalysenkoquit (Ping timeout: 245 seconds)
19:35:25  * AvianFluquit (Read error: Connection reset by peer)
19:46:34  * slaskisquit (Quit: slaskis)
19:54:25  * AvianFlujoined
20:08:33  * grewebquit (Remote host closed the connection)
20:16:46  <rowbit>Hourly usage stats: [developer: 249, free: 47]
20:28:35  * thlorenzjoined
20:28:40  * mikolalysenkojoined
20:33:55  * mikolalysenkoquit (Ping timeout: 272 seconds)
20:34:40  * AvianFluquit (Read error: Connection reset by peer)
20:40:51  * AvianFlujoined
20:51:34  * AvianFlu_joined
20:52:23  * thlorenzquit (Ping timeout: 272 seconds)
20:52:40  <brianloveswords>ogd: making some serious progress on sqlite integration.
20:53:39  <brianloveswords>And as a result, abstracted the interface from the drivers, so if I wanted to add postgres or something, that would be easier.
20:54:28  * AvianFluquit (Ping timeout: 264 seconds)
20:54:51  <ogd>w00t
20:58:44  * thlorenzjoined
20:59:30  * thlorenzquit (Remote host closed the connection)
21:02:32  <jesusabdullah>holy shit I just realized
21:02:36  <jesusabdullah>that PR I got for browserify-cdn
21:02:39  <jesusabdullah>was from a githubber
21:02:43  <jesusabdullah>very cool
21:05:12  * fallsemoquit (Ping timeout: 240 seconds)
21:05:56  <ogd>jesusabdullah: yea muan is kewl, i taught her node recently
21:06:03  <jesusabdullah>cool
21:06:15  <jesusabdullah>I just like the sick little form
21:06:46  * fallsemojoined
21:10:37  * dguttmanquit (Quit: dguttman)
21:11:33  * fallsemoquit (Ping timeout: 248 seconds)
21:12:58  <jesusabdullah>anyone ever use https://github.com/dominictarr/level-replicate ?
21:14:06  <ogd>jesusabdullah: yea its kinda buggy for more than 2 peers
21:14:13  <jesusabdullah>shit
21:14:19  <jesusabdullah>any hints on how to make it more robust?
21:14:55  <jesusabdullah>I'm going back and forth between a few different options here, the scuttlebutt approach is ending up being a dead end for Reasons
21:15:06  <jesusabdullah>but if I could make replicate work for multiple peers that would be great
21:15:13  <jesusabdullah>also ogd how did you know what my question was :(
21:15:49  <jesusabdullah>(ノ◕ヮ◕)ノ*:・゚✧ OPAN (ಥ﹏ಥ)
21:15:55  <jesusabdullah>dagnabit EVERY TIME
21:16:45  <rowbit>Hourly usage stats: [developer: 45, free: 12]
21:16:46  * thlorenzjoined
21:16:59  <jesusabdullah>anyways
21:17:49  * fallsemojoined
21:18:16  <jesusabdullah>It looks like dominic wants to support weirder architectures
21:18:28  * fotoveritejoined
21:18:36  <jesusabdullah>so I think I'll try giving it a shot at some point and taking on bullshits as I find them
21:19:04  * groundwaterquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:20:58  * wolfeidaujoined
21:21:11  * thlorenzquit (Remote host closed the connection)
21:22:13  * fallsemoquit (Ping timeout: 245 seconds)
21:29:24  * mikolalysenkojoined
21:30:53  * fallsemojoined
21:31:32  * wolfeidauquit (Remote host closed the connection)
21:32:33  * fotoveritequit (Ping timeout: 240 seconds)
21:39:24  * fallsemoquit (Ping timeout: 246 seconds)
21:40:10  * kevinswiberjoined
21:41:26  * fallsemojoined
21:43:51  * wolfeidaujoined
21:46:54  * fotoveritejoined
21:47:13  * fallsemoquit (Ping timeout: 245 seconds)
21:47:56  <jesusabdullah>Man it feels so weird to not have someone to code review my shit :(
21:52:01  * groundwaterjoined
21:52:19  * thlorenzjoined
21:52:43  * fallsemojoined
22:01:04  * thlorenzquit (Ping timeout: 264 seconds)
22:03:38  * kevinswiberquit (Remote host closed the connection)
22:05:02  * AvianFlu_quit (Read error: Connection reset by peer)
22:06:09  * thlorenzjoined
22:11:43  * AvianFlujoined
22:15:46  * jcrugzzjoined
22:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 18]
22:22:27  * anoemijoined
22:31:12  * fotoveritequit (Ping timeout: 246 seconds)
22:36:05  * AvianFluquit (Read error: Connection reset by peer)
22:40:33  * ins0mniaquit (Ping timeout: 245 seconds)
22:45:26  * thlorenzquit (Remote host closed the connection)
22:46:01  * thlorenzjoined
22:50:35  * thlorenzquit (Ping timeout: 265 seconds)
22:52:52  * thlorenzjoined
22:54:40  * wolfeidauquit (Remote host closed the connection)
22:55:57  * wolfeidaujoined
22:56:23  * defunctzombie_zzchanged nick to defunctzombie
22:58:48  * fotoveritejoined
23:04:25  * fallsemoquit (Quit: Leaving.)
23:16:46  <rowbit>Hourly usage stats: [developer: 0, free: 25]
23:25:22  <timoxley>jesusabdullah: did you manage to get sublevels replicating?
23:26:24  <timoxley>I can get it to replicate a single sublevel, but can't seem to get it to replicate a sublevel's sublevels.
23:26:51  <timoxley>maybe that is a feature
23:28:34  <timoxley>ogd I'm trying to get server/client replication for level-js, do you have setup you'd recommended for this
23:33:40  <ogd>timoxley: i never nailed it, the level replication modules were all buggy
23:34:28  <ogd>timoxley: though i did get authenticated binary websockets working
23:34:58  <ogd>timoxley: this is as far as i got https://github.com/maxogden/level-replication-tests
23:35:46  <timoxley>ogd thanks, checking it out
23:35:56  <ogd>timoxley: also https://github.com/maxogden/auth-socket
23:36:13  * defunctzombiechanged nick to defunctzombie_zz
23:36:20  <timoxley>ogd: what kind of 'buggy'
23:36:52  <ogd>timoxley: if you have more than 1 client it goes crazy
23:37:46  <timoxley>ogd: haha ok, I might just go back to multilevel
23:39:22  <ogd>timoxley: for a while if i if you just had 1 client it would go crazy, then i got dominictarr to fix it, but only works with 1 client now
23:47:46  <timoxley>ogd ahh right, do you have a failing test? the level-replication-tests seem to pass happily
23:51:18  * ferossjoined