00:14:16  * TheJHquit (Quit: goodbye)
00:37:54  * pmuellrquit (Ping timeout: 240 seconds)
00:48:31  * pmuellrjoined
01:42:16  * ramitosquit (Read error: Operation timed out)
03:52:26  * pmuellrquit (Quit: Textual IRC Client: http://www.textualapp.com/)
04:06:01  * pmuellrjoined
04:49:39  * EhevuTovjoined
05:12:15  * EhevuTovquit (Quit: This computer has gone to sleep)
06:53:28  * truedat101quit (*.net *.split)
06:53:28  * prettyrobotsquit (*.net *.split)
06:53:28  * chrisdickinsonquit (*.net *.split)
07:04:43  * EhevuTovjoined
07:07:33  * dguttmanquit (Quit: dguttman)
07:11:12  * truedat101joined
07:11:12  * prettyrobotsjoined
07:11:12  * chrisdickinsonjoined
07:29:53  * EhevuTovquit (Quit: This computer has gone to sleep)
08:01:56  * graeme_fjoined
08:43:05  * graeme_fquit (Quit: Computer has gone to sleep.)
08:50:06  * graeme_fjoined
09:01:50  * fb55joined
09:17:42  * graeme_fquit (Quit: Computer has gone to sleep.)
09:19:22  * TheJHjoined
09:22:42  * fb55quit (Remote host closed the connection)
09:30:09  * fb55joined
09:52:56  * graeme_fjoined
09:53:41  * graeme_fquit (Client Quit)
09:55:50  * graeme_fjoined
10:32:17  * graeme_fquit (Quit: Computer has gone to sleep.)
10:33:28  * fb55quit (Remote host closed the connection)
10:48:20  * fb55joined
11:04:22  * graeme_fjoined
11:19:44  * graeme_fquit (Read error: Connection reset by peer)
11:24:58  * graeme_fjoined
11:40:23  * fb55quit (Remote host closed the connection)
11:48:35  * graeme_fquit (Quit: Computer has gone to sleep.)
13:34:45  * ramitosjoined
14:31:24  * fb55joined
14:33:57  * dguttmanjoined
15:06:09  * dguttmanquit (Quit: dguttman)
15:16:57  * cjmtopic: Visit http://nodeup.com to listen live!
15:32:02  * graeme_fjoined
15:34:54  * fibricjoined
15:56:25  * graeme_fquit (Quit: Textual IRC Client: http://www.textualapp.com/)
16:13:10  * farvajoined
16:13:12  * graeme_fjoined
16:14:40  * rafmcquit (Remote host closed the connection)
16:15:07  * rafmcjoined
16:37:43  * adparadisejoined
16:43:42  <visnup>I need more coffee
16:47:55  * mike-djoined
16:48:34  * cjmquit (Remote host closed the connection)
16:57:37  <fibric>@vlsnup ```npm install coffee-script```
16:57:43  <fibric>;-)
16:57:54  <visnup>-g
17:01:05  * cjmjoined
17:01:22  <cjm>hi all
17:05:31  <cjm>will be live soon :)
17:05:35  * No9joined
17:07:10  * rafmcquit (Remote host closed the connection)
17:13:55  * ferloresjoined
17:15:29  * d0b3joined
17:15:56  <visnup>soon soon
17:16:33  <cjm>live
17:20:01  * graeme_fquit (Quit: Textual IRC Client: http://www.textualapp.com/)
17:20:21  * jlordjoined
17:21:50  * Romokujoined
17:29:32  * jos_ejoined
17:30:04  * ngoldmanjoined
17:30:39  * farvaquit (Quit: Bye)
17:30:57  * jlordquit (Quit: jlord)
17:31:04  * farvajoined
17:31:43  * fb55_joined
17:31:49  * saschagehlichjoined
17:33:52  * fb55quit (Read error: Operation timed out)
17:37:50  * jamjedijamjoined
17:38:30  * paulbjensenjoined
17:38:44  * jamjedijamquit (Client Quit)
17:38:49  <paulbjensen>Strongbad toons on DVD http://www.homestarrunnerstore.com/stbademdv.html
17:39:23  <ngoldman>this is all totally accurate historical information by the way
17:40:39  * bigdumbpbjectjoined
17:41:42  * bigdumbobjectjoined
17:41:54  * jos_equit (Quit: Page closed)
17:43:34  * ngoldmanpart
17:44:26  * Romoku1joined
17:44:39  * AndChat|740025joined
17:44:45  * bigdumbpbjectquit (Ping timeout: 245 seconds)
17:45:02  * Romokuquit (Ping timeout: 246 seconds)
17:47:24  * farvaquit (Ping timeout: 244 seconds)
17:48:37  * bigdumbobjectquit (Quit: Page closed)
17:51:48  * EhevuTovjoined
17:51:50  * AndChat|740025quit (Ping timeout: 268 seconds)
17:53:55  * rburton-joined
17:53:57  <Raynos>o/
17:54:08  <Raynos>what library are they talking about?
17:54:16  <visnup>emcee
17:54:21  <Raynos>oh I see
17:55:14  * Lokiheerojoined
17:55:25  * owen1joined
17:55:57  <owen1>hi guys
17:56:02  <owen1>i am late (again)
17:56:03  <Romoku1>o/
17:56:10  <owen1>topic? domains?
17:56:15  * Romoku1changed nick to Romoku
17:56:17  <visnup>npm-www
17:56:19  <owen1>what's o/ means?
17:56:25  <Raynos>o/ means hand wave
17:56:26  <Raynos>or hi
17:56:31  <Raynos>or high five
17:56:35  <owen1>\o/
17:57:03  <cjm>anyone want to up this? http://news.ycombinator.com/item?id=4561456
17:57:08  <owen1>any links i misssed?
17:57:33  <cjm>dont think so
17:58:15  <owen1>what r they talking about?
17:58:20  <Raynos>cluster-master
17:58:29  <Raynos>there talking about how isaacs does stuff with npm-www
17:58:30  <owen1>the built-in cluster module?
17:58:50  <Raynos>https://github.com/isaacs/cluster-master#readme
17:58:51  <owen1>damn. i have e repo that is based on his philosophy.
17:59:33  <owen1>i would like to do a code review on his repo to learn from it. anyone is up for a pair programming session oven tmux/vim/skype later?
17:59:38  * farvajoined
18:00:16  * wltsmrzjoined
18:00:58  <owen1>url for the company?
18:01:02  * AndChat|740025joined
18:01:10  <Romoku>ja
18:01:22  <owen1>nearform.com
18:02:10  <Raynos>owen1: right now?
18:02:23  <Romoku>their website be broken.
18:04:13  * farvaquit (Ping timeout: 260 seconds)
18:05:50  <No9>Romoku looks good here you not seeing anything?
18:06:13  <Romoku>Well the website works, but try scrolling down to the bottom
18:06:25  <Romoku>the "About Us" button isn't selected
18:06:36  <Romoku>when on the "About Us" section
18:06:47  <Romoku>Then click the "About Us" button
18:06:52  <Romoku>and it will light up
18:07:10  <No9>Not on my box what you running?
18:07:16  <Romoku>chrome
18:07:23  <No9>on?
18:07:27  <Romoku>windows 7
18:07:45  <Romoku>it's the same way in firefox too
18:08:00  <mike-d>works on osx chrome here
18:09:21  <No9>Yup I'don't think its a general thing any output from CTL SHFT+J?
18:11:22  <Romoku>http://i.imgur.com/dcuqb.png
18:13:02  <Romoku>[cycle] terminating; zero elements found by selector 940d657.js:10
18:13:02  <Romoku>[cycle] terminating; zero elements found by selector 940d657.js:10
18:13:03  <Romoku>GET http://chartaca.com/point/d4af1358-0671-4be1-b1af-a9e9b953f040/s.gif
18:13:34  <Romoku>No idea
18:14:34  <No9>Cheers that's enough to work with. Seems like the scroll to menu connector is giving a bit of a pain in the face.
18:15:05  <Romoku>lol
18:15:24  <cjm>https://twitter.com/clock/status/249112109147889664
18:16:42  <mbalho>visnup: make sure to mention the node.js powered mapbox.com which just won a grant to build better open source mapping tools http://www.knightfoundation.org/press-room/press-release/six-ventures-bring-data-public-winners-knight-news/
18:16:45  <Romoku>I wish I knew node
18:16:48  <mbalho>(we use mapbox in gather)
18:16:58  <Romoku>I've done some client side js and that's about it
18:17:44  * rafmcjoined
18:18:04  <cjm>http://www.google.com/url?q=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTimeline_of_the_far_future&sa=D&sntz=1&usg=AFQjCNGTIPGCnGwNSC2l1DXXyBT_bwAkAg
18:20:11  <wltsmrz>http://en.wikipedia.org/wiki/Scientific_notation
18:21:02  <Raynos>wait what
18:21:06  <Raynos>heat death of the universe
18:21:08  <Raynos>and node?
18:21:13  <cjm>lol
18:21:23  <mbalho>free your mind, young one
18:21:28  * Lokiheeropart
18:22:25  * rafmcquit (Ping timeout: 260 seconds)
18:22:45  <Romoku>don't forget the cold death of the universe
18:22:46  <Romoku>http://en.wikipedia.org/wiki/Future_of_an_expanding_universe
18:23:20  <wltsmrz>Same thing, Romoku
18:23:28  <wltsmrz>"Heat" does not mean "hot"
18:23:35  <wltsmrz>"Heat" refers to entropy
18:26:17  * ilyajoined
18:26:36  <Raynos>o.o
18:27:10  <wltsmrz>Probably have to leave the Earth sooner than we think
18:29:38  * wltsmrznotices his nipples
18:29:44  <paulbjensen>Do eyeballs count as meat?
18:30:18  <wltsmrz>Singularitarians
18:30:41  * saschagehlichquit (Quit: saschagehlich)
18:30:45  <wltsmrz>No
18:31:18  <mbalho>visnup: also the future of node will come from estonia
18:31:43  * loglaunc1joined
18:31:50  <wltsmrz>Do you base that on the prevalence of network connectivity or something involving node and Estonia that I'm not aware of, mbalho?
18:32:51  * fb55_quit (Remote host closed the connection)
18:34:53  <mbalho>wltsmrz: well i was there two days ago and lectured at their it college :)
18:34:55  <mbalho>IT
18:35:00  <wltsmrz>Awesome
18:35:03  <mbalho>wltsmrz: and also what you said
18:35:26  <mbalho>they rank highly in many categories related to worldwide internet + press freedom
18:35:47  <paulbjensen>Logan's Run
18:37:20  <mbalho>this new nodeup format RULES
18:37:28  <mbalho>half javascript half futurism
18:37:34  <wltsmrz>ASL, issacs?
18:37:54  <mbalho>isaac is ~33
18:37:56  <wltsmrz>For some reason I assumed < 30
18:37:59  <wltsmrz>Ah
18:38:26  * fb55joined
18:38:43  <Raynos>what even is going on
18:41:25  <owen1>i don't know what they are talking about
18:41:31  * fibricquit (Remote host closed the connection)
18:41:33  <Romoku>crypto
18:41:37  <owen1>lost it 30 minutes ago
18:41:59  <Raynos>they are talking about madness
18:42:36  <owen1>require('crypto').randomBytes(18).toString('base64')
18:42:57  <owen1>is this a good way to create token when someone logged in to my site?
18:42:59  * L1fescapejoined
18:43:43  <Romoku>I need to learn perl
18:43:52  <rburton->Romoku I don't think so :)
18:44:01  <Romoku>Why not?
18:44:09  <Romoku>learn python/ruby/perl/lua
18:44:18  <Romoku>master of scripts
18:44:33  <Romoku>I should say jock of all scripts
18:44:37  <Romoku>jack*
18:44:42  <Raynos>if we know the overall topic of the show can we recommend node related things to talk about?
18:44:59  <rburton->Perl is a waste :)
18:45:08  <rburton->If you're an ops guy then learn Ruby
18:45:12  * eggNodejoined
18:45:17  <rburton->unless you have like complex text parsing
18:45:20  <Romoku>I know C#
18:45:37  * eggNodequit (Client Quit)
18:45:52  <mbalho>Raynos: quit harshing their mellow
18:46:08  <visnup>you can just tell us here
18:46:10  <visnup>as we go
18:46:18  <Raynos>is that a sentence?
18:46:18  <visnup>'cuz we're way off track now
18:46:36  <owen1>speaking of https. if i want to secure my site, i need to use https for every login user. does it cost money?
18:47:06  <paulbjensen>SSL certificate?
18:47:08  <owen1>https+ random token for each user that will be sent on each request, right?
18:47:12  <Romoku>If you don't want the browser to throw a fit about unsecure connection
18:47:13  <mbalho>visnup: see my above recommendations re: open source node.js mapping tools THEY ARE IMPORTANT!
18:47:46  <visnup>k
18:47:49  <visnup>mbalho: one sec
18:48:22  <wltsmrz>Mapping? As in cartography?
18:48:40  <owen1>question: i want to serve 2 sites from the same machine. i tried bouncy but it didn't work, i tried my-little-proxy and it's not working. should i use nginx instead?
18:49:08  <Raynos>whom is the voice that is not isaacs?
18:49:15  <visnup>Raynos: me
18:52:06  <mbalho>visnup: streaming tile rendering
18:52:20  <mbalho>visnup: using a c++ project called Mapnik
18:52:24  <Romoku>I remember there was a guy who was trying to reinvent SSL
18:52:52  <Romoku>well not "reinvent" more like tweak the whole CA concept
18:52:55  <visnup>mbalho: looks interesting
18:53:01  <wltsmrz>Still life
18:53:24  <mbalho>visnup: its super awesome, we should do a mapping nodeup with them sometime
18:54:04  * EhevuTovquit (Quit: This computer has gone to sleep)
18:55:32  <mbalho>visnup: this episode should be called "visnup on the line" (isaac will get the joke)
18:55:40  <visnup>:D
18:56:26  <mbalho>visnup: do a shout out to any new listeners in Estonia
18:56:36  <Romoku>http://convergence.io/
18:56:38  <Romoku>found it
18:57:08  <mbalho>visnup: <- max ogden
18:57:39  <Romoku>https://github.com/moxie0/Convergence
18:57:39  <mbalho>visnup: the estonian word for estonia is "Eesti"
18:59:20  * ilyaquit (Quit: Page closed)
18:59:39  <owen1>anyone running 2 sites on one machine and using some sort of proxy?
19:00:01  <Romoku>reverse proxy?
19:00:33  <owen1>Romoku: i want to route www.bla.com to port 3000 and www.foo.com to 4000
19:00:46  <Romoku>reverse proxy
19:00:57  <owen1>tried bouncy and my-little-proxy and they didn't work
19:01:06  <owen1>Romoku: try nginx?
19:01:13  <Romoku>yeah
19:01:28  <Romoku>put nginx up front
19:01:30  <owen1>Romoku: do u have an nginx.conf that can do that?
19:01:33  <mike-d>you can also just call into handlers based on the host value
19:01:35  <Romoku>and have apache on 3000 and 4000
19:02:03  <owen1>mike-d: not sure what u mean
19:02:29  <mike-d>our router can do both, proxy for scale and call a func (req,res) based on the host
19:02:35  * skmpyjoined
19:02:56  <mike-d>or just proxy
19:03:07  * d0b3quit (Quit: Page closed)
19:03:15  <Romoku>http://www.howtoforge.com/reduce-apache-load-with-nginx-rhel5.2
19:03:21  <Romoku>there's an example config there
19:03:34  * EhevuTovjoined
19:03:56  <owen1>Romoku: thanks
19:04:42  * Romokuquit (Read error: Connection reset by peer)
19:05:09  <owen1>http://www.nodedublin.com/
19:05:13  <owen1>http://empirejs.org/
19:05:17  <owen1>http://krtconf.com/
19:05:21  <owen1>http://nodeknockout.com/
19:05:27  <mbalho>nodecopter.com
19:05:28  <owen1>http://nodecopter.com/
19:05:34  <owen1>http://www.hujs.org/
19:05:44  <owen1>anything else i missed?
19:06:10  <paulbjensen>it was fun
19:06:15  <owen1>no. pain
19:06:18  <owen1>don't do it again
19:06:21  <owen1>i feel abused
19:06:24  * AndChat|740025quit (Quit: Bye)
19:06:46  * Romokujoined
19:06:50  <visnup>aw, I felt like we gave some disclaimers
19:06:56  <owen1>waste of time guys. please more focus next tim
19:06:58  <owen1>tie
19:07:01  * farvajoined
19:07:31  <mbalho>this episode was the best
19:07:38  <visnup>sorry owen1
19:07:49  <owen1>visnup: it's ok, it's just my opinion
19:07:54  <owen1>other people enjoyed it
19:07:56  * isaacsjoined
19:08:15  <owen1>is the starting time the same every week?
19:08:28  <isaacs>sorry for the insane show, guys
19:08:28  <mike-d> I enjoyed the not using express part, nothing against express, it's just the same path we are taking here
19:08:38  <owen1>mike-d: damn. i missed that!
19:08:41  <ramitos>visnup isaacs it was fun
19:08:48  <ramitos>visnup isaacs I liked to hear
19:08:54  <wltsmrz>No reason to be sorry
19:09:19  <owen1>mike-d: that's why i follow isaacs's codebase. i want to be free of frameworks
19:09:26  <Raynos>isaacs: was fun
19:09:38  <mike-d>owen1: totally agree
19:09:39  <owen1>and according to many core node guys, we don't need connect/middleware in node
19:09:49  <Raynos>mike-d: what do youuse instead?
19:10:10  <owen1>but the problem is the community doesn't get it and people create so many middlewares.
19:10:18  <Raynos>owen1: ignore those people
19:10:22  <Raynos>just like you ignore coffeescript
19:10:23  <Raynos>ruby
19:10:25  <Raynos>components
19:10:27  <Raynos>promises
19:10:30  <mike-d>I always roll my own… but I will probably use node-tap and engine/socket.io
19:10:32  <Raynos>etc etc
19:10:33  <visnup>hahaha
19:10:44  <Romoku>I'm writing a socet.io server for C#
19:10:46  <Raynos>mike-d: engine/socket.io is just as bad as express. Use sock
19:10:47  <Romoku>socket*
19:10:59  <Raynos>or use WS directly
19:11:01  <owen1>Raynos: sure, but it's not always clear how to build something without it.
19:11:15  <Raynos>sockjs and shoe are the answer
19:11:25  <Raynos>owen1: https://github.com/substack/shoe
19:11:32  <mike-d>normally what happens is I look at the code, and just roll my own, spending most of my time on the api
19:11:46  <Raynos>I roll a lot of my own work
19:11:50  <owen1>Raynos: i currently use this as a template - https://github.com/oren/node-website-template
19:12:01  <wltsmrz>Einaros's 'ws' is simple enough, mike-d
19:12:06  <Raynos>that kind of thing looks simple
19:12:08  * skmpypart
19:12:08  <wltsmrz>Also nice to work with the same API in server / client side
19:12:41  <mike-d>depends on the edge cases for ws, but i'm no expert there
19:12:48  <wltsmrz>That is the plain old websocket API most browsers worth mentioning support
19:12:58  <Raynos>owen1: you use a bunch of modules from this list ( https://github.com/Raynos/routil#small-libraries ). Consider adding to it if you find good new modules
19:13:40  <owen1>Raynos: awesome!
19:13:41  <mike-d>right now i'm trying to do async for pretty much everything right down to reentrant html template parsing, fun but a real pain in the ass sometimes
19:13:46  <Raynos>wltsmrz: the problem with ws is proxies.
19:14:02  <Raynos>mike-d: use functional programming. async stops being a problem
19:14:04  <Raynos>or use streams
19:14:23  <owen1>Raynos: i'll take a good look at all your repos
19:14:34  <Raynos>owen1: that's going to take a while.
19:14:48  <Raynos>i have 106 modules on npm
19:15:07  <Raynos>owen1: also look at substack, isaacs, dominictarr, mikeal, maxogden, etc.
19:15:09  * dguttmanjoined
19:15:10  <owen1>Raynos: i am looking for examples of building sites/services with no frameworks
19:15:13  <mike-d>for sure, it's just when your loading up a bunch of templates and data you have so many callbacks, and this is done on the fly for each route, triggered by an http request
19:15:38  <owen1>Raynos: ok. what can i do with shoe? is it instead socket.io?
19:15:55  <Raynos>owen1: yes. It's a stream to the client over WS or fallbacks
19:16:09  <Raynos>think of it as node's TCP api build on top of WS
19:16:24  <owen1>Raynos: but can it deal with differet browsers like socket.io?
19:16:57  * AndreasMadsenjoined
19:17:02  <owen1>Raynos: what is the main difference between shoe and socket.io? less code internaly?
19:17:03  <Raynos>owen1: https://github.com/sockjs/sockjs-client#supported-transports-by-browser-html-served-from-http-or-https
19:17:22  <wltsmrz>Socket.io implements 'ws' module
19:17:24  <Raynos>shoe is a think wrapper around sock. The main difference between sock & socket.io is that sock is similar to engine.io
19:17:33  <wltsmrz>Show implements 'websocket' which does not implement ws module < my understanding
19:17:36  <Raynos>sock only does the fallbacks and gives you a pure WS API
19:17:41  <wltsmrz>Shoe *
19:17:41  <mike-d>owen1: we just have a simple router that uses json to route into the site url structure which can either proxy the request or hot load the code and execute function(req, res), this can get a little tricky when trying to do template partials correctly, but it's very clean and scales well
19:17:42  <Raynos>socket.io gives you a bunch of bloat on top of WS
19:17:49  <wltsmrz>Right
19:18:14  * saschagehlichjoined
19:18:23  <mike-d>raynos: isint engine.io supposed to get rid of the socket bloat issues?
19:18:39  <owen1>mike-d: what's your github? any examples for this approach?
19:18:41  <wltsmrz>Oh nevermind, Shoe just uses sockjs
19:19:05  <Raynos>mike-d: yes but the sockJS author is better then the socket.io author.
19:19:21  * dguttmanquit (Client Quit)
19:19:32  <mike-d>owen1: sorry nothing public yet, we are still working out the details
19:20:10  <mike-d>owen1: it's about as minimal as you get though, like izs was saying, don't add it until you need it
19:20:49  <Raynos>owen1: I'm rewriting my blog. ( https://github.com/Raynos/raynos-blog )
19:20:57  <Raynos>keep an eye on that, i'll push to it by next weekend
19:21:05  <mike-d>Raynos: https://github.com/sockjs?
19:21:14  <Raynos>mike-d: yes
19:21:20  <owen1>Raynos: sweet. watching it now
19:21:34  <Raynos>owen1: the other interesting app I build is https://github.com/Raynos/stream-chat
19:21:35  <mike-d>erlang server, impressive!
19:21:39  * dguttmanjoined
19:21:39  <Raynos>but that's a different style
19:21:48  <owen1>Raynos: check out https://github.com/bevry/docpad it's a site generator
19:22:00  <owen1>written in coffee script but still awesome
19:22:55  <owen1>it reads your md files and create the blog post for you in the 'out' folder
19:23:10  <Raynos>owen1: no interest :P
19:23:34  <owen1>Raynos: what format to u use for writing your posts?
19:23:40  <Raynos>I use markdown
19:24:08  <owen1>Raynos: and generate html using marked package?
19:24:19  <owen1>Raynos: do u use a db?
19:24:19  <Raynos>yes
19:24:34  <Raynos>but the current implementation of raynos-blog is incomplete
19:25:18  * dguttmanquit (Client Quit)
19:26:28  <owen1>Raynos: what's left?
19:29:18  <Raynos>owen1: re writing it and auth
19:29:22  <owen1>nice usage of zombie.js
19:34:24  <owen1>Raynos: what's the plan for auth?
19:34:35  <Raynos>owen1: use redsess or rewrite routil-session
19:34:52  * norvillerjoined
19:34:56  <Raynos>right now rewriting routil-method
19:38:21  <mike-d>Ranos: routil-methods looks cool, we do something very similar except we interrogate the function params for the handlers (req, res, path, _ext, $query) and place them in the handler call
19:40:10  * rburton-quit (Quit: Linkinus - http://linkinus.com)
19:41:19  <Raynos>yeah. It's a nice way to do things
19:41:46  <Raynos>all the routil projects allow me to not have to put any properties on req/res and avoid boilerplate
19:41:59  * paulbjensenpart
19:42:55  * adparadisepart
19:43:27  <owen1>Raynos: u have there mapletree and routes. they serve the same puppose, right?
19:43:40  <Raynos>owen1: yes they do
19:43:42  <owen1>so it's just a collection of small packages you think are nice?
19:43:53  <Raynos>routil used to be a kitchen sink
19:43:55  * fb55quit (Remote host closed the connection)
19:43:55  <Raynos>now it's a list
19:43:59  <Raynos>you can also do `npm search routil`
19:44:05  <Raynos>for a bunch of routil-x projects
19:44:06  <mike-d>Raynos: we do { "com.site": { "/path: { "/path": { "app-name": "config" } } } } when the path is hit, we look for GET, POST etc… and inspect the function params
19:44:21  <Raynos>mike-d: I prefer control over the routes
19:44:50  <Raynos>mike-d: https://gist.github.com/217e7c710ae88fb05818
19:44:58  * L1fescapequit (Quit: Page closed)
19:45:07  <Raynos>same thing isaacs does
19:45:54  <mike-d>Raynos: by control you mean addRoute() as opposed to the above convention?
19:46:24  <Raynos>mike-d: yes. I don't like having a 1-1 mapping of API and file path
19:46:40  <Raynos>and i defiantly don't like the JSON thing
19:46:52  <Raynos>I'm open to an API being build up based on my file structure
19:47:42  <mike-d>Raynos: unless i'm missing something we are essentially doing the same thing
19:49:23  <mike-d>you supply a path and require for each url, we have one optional config in there so that the requires can be multi-purposed, but other than that they look similar
19:50:06  <Raynos>oh I see
19:50:23  <Raynos>your right\
19:50:30  <Raynos>there is no difference between a bunch of addRoute calls
19:50:37  <Raynos>and a single json file that maps uri to require call
19:51:43  <mike-d>not sure what you do behind the scenes, we walk the route object, path matching until we hit an app, then we hot load it and call it, on the next request we just call it
19:52:33  <mike-d>also no regex in out IMP, just * and ? where star is anything and ? is executed of no match is found at that level
19:52:43  <owen1>mike-d: so u have multiple apps that are served on different ports? or urls?
19:52:44  <mike-d>in our imp*
19:52:46  <Raynos>we dont do hot loading
19:53:25  <mike-d>owen1: yes, I was going to point out, you can serve multiple sites this way, you just first match the host
19:54:17  <owen1>mike-d: i guess i'll try nginx first before using something like your solution
19:54:25  * rafmcjoined
19:54:45  <owen1>Raynos: cloned your blog. how do i run it and wheere do i put my md files?
19:54:53  <Raynos>You don't
19:54:54  <Raynos>it doesn
19:54:57  <Raynos>it doesn't work
19:55:07  <mike-d>Raynos: we hot load so we can hot swap a path, we check the object type, if its a func we call it, if its a string we hot load, replace the string and then call it, here the string is the require path
19:55:34  <Raynos>mike-d: do you ahve a working async require implementaiton for hot load
19:55:52  <owen1>what's hot load
19:56:53  <Raynos>owen1: I'm rewriting my blog.
19:57:06  <Raynos>hot load means loading in demand as needed whilst your application is running
19:57:15  <owen1>Raynos: whenever it's ready for tests, please add let me know. i'll be happy to use it instead of my current solution - docpad. i wan a nice site (with blog section) that reads markdown files and display it as blog posts. db is not neeeded.
19:57:15  <Raynos>compared to a code load which is loading before your application is running
19:57:45  <Raynos>owen1: mine will store md in the database instead of reading it from a markdown file.
19:57:46  <mike-d>Raynos: still getting my head around that one, because the require can take a config, and other resources have to be loaded via async, or that's atleast the way I want it
19:57:56  <owen1>Raynos: sounds good
19:58:37  <owen1>Raynos: and u use pygments to get syntax highlight! nice
19:59:06  <mike-d>Raynos: any ideas on that one, without any more coupling of the router and handlers?
19:59:07  <owen1>Raynos: github flavor markdown should be used, in case u want my opinion
20:00:17  <Raynos>mike-d: you need to implement require(uri, function (exports) { ... })
20:00:21  <Raynos>then you can do async hot loading
20:00:29  <Raynos>unless by hot loading you mean hot loading a process
20:02:53  <Raynos>owen1: Last time I looked gfm didnt have a good library
20:02:56  <mike-d>Raynos: i'm looking in the docs, are you saying there is a require that accepts a callback?
20:03:08  <Raynos>mike-d: No, I'm asking whether you wrote that function
20:03:20  <Raynos>Which is the function you need to do asynchronous in-process hot code loading
20:03:34  <Raynos>my inability to write that function in a bug-free fashion is why I dont do hot code loading
20:04:19  <owen1>Raynos: i use https://github.com/ypocat/gfms for review my md files locally. it also uses web sockets to push the change to the browser so u don't need to hit refresh. i love it.
20:04:43  <mike-d>Raynos: no, have not done that
20:07:05  <mike-d>Raynos: guess i'm going to have to get familiar with the require internals, and do some tests, for example, if a require is in a function is it loaded prior to the function call or after the function call
20:07:43  <chapel>owen1: I use a vim plugin that uses node to display md files as you edit them
20:08:00  <chapel>when you open a md file, it opens it in the browser as well
20:08:02  <owen1>chapel: sweet. can u link it?
20:08:07  <chapel>have to find it
20:09:32  <chapel>owen1: https://github.com/suan/vim-instant-markdown
20:09:41  <chapel>I think I made some changes to it, but can't remember now
20:12:29  <mike-d>Raynos: looks like require is a sync operation: https://github.com/joyent/node/blob/master/lib/module.js#L471
20:12:37  <Raynos>yes it is
20:12:40  <Raynos>you have to rewrite module
20:12:42  <Raynos>to be async
20:12:46  <Raynos>thats why its difficult
20:12:56  <Raynos>your also not allowed to break the semantics ;)
20:14:06  <mike-d>correct, but sync should still work if it's executes just-in-time as the request comes in?
20:15:36  <Raynos>no
20:15:38  <Raynos>because it blocks
20:15:40  <Raynos>the entire event loop
20:15:47  <Raynos>it will get there but it kills performance
20:15:59  <Raynos>unless you have one process per request
20:16:00  <mike-d>my concern was doing some async loading when newing up the handler object, like loading a template and data, but I suppose I could just make any bootstrapping syncronous… I see
20:18:26  <owen1>r u guys taking about requiring a module (commonjs) vs require.js?
20:19:03  <mike-d>owen1: nodejs module system sync loading
20:20:04  <owen1>ok. so it's all blocking and it bothers you?
20:20:15  <mike-d>Raynos: so I could warm up each require() during startup
20:20:22  <Raynos>yes you can
20:21:00  <mike-d>owen1: for hot loading the requires at runtime as a path is matched, it would block the event look because it's readfilesync
20:22:02  <mike-d>Raynos: letls say I did that, and then I could call createHandler(config, callback) as part of the config api
20:22:17  <Raynos>im sure you could
20:22:20  <Raynos>its still overly complex
20:22:50  * AndreasMadsenquit (Remote host closed the connection)
20:23:05  <mike-d>Raynos: agree… also guessing i'm still in trouble because multiple requests could be coming in and create needs to be only called once
20:24:08  <mike-d>Raynos: the idea of createHandler(config) which is optional was for handler reuse for things like templating and crud
20:27:08  <owen1>Raynos: what db are u planning to store the md files?
20:27:31  <Raynos>mongo
20:27:50  <Raynos>mike-d: "handler reuse" should be done through npm & require
20:27:51  <owen1>u can also use redis for storing in memory (maybe the first page).
20:28:34  <owen1>unless u think of other caching strategy
20:29:27  <Raynos>not too worried about caching
20:34:05  * norvillerquit (Quit: norviller)
20:36:29  * No9quit (Ping timeout: 268 seconds)
20:37:59  * No9joined
20:39:29  <owen1>Raynos: but u'r generating md -> html on each request
20:39:38  <owen1>it might take some time, i assume
20:40:41  <owen1>Raynos: ^
20:42:52  * norvillerjoined
20:42:59  <Raynos>oh hi
20:43:07  <Raynos>premature optimization
20:43:11  <Raynos>that's not a bottleneck
20:43:15  <Raynos>if it is I'll optimize it
20:43:21  <Raynos>Heck if you want to optimize it then PR
20:44:17  <mike-d>owen1: node is usually IO bound
20:52:02  <owen1>Raynos: i'll be happy to try, refactor your blog already (: i can't even run it now
20:52:13  <Raynos>duplication of effort
20:52:15  <Raynos>im rewriting it
20:52:48  <owen1>Raynos: do u need ncore?
20:52:55  <Raynos>no
20:52:58  <Raynos>getting rid of that
20:53:03  <Raynos>that was a bad idea
20:53:35  <owen1>Raynos: sweet. the simplest the better.
21:04:40  <owen1>https://github.com/eivindfjeldstad/validate#readme looks nice too
21:11:55  * farvaquit (Quit: Bye)
21:12:16  * farvajoined
21:16:33  * ferloresquit (Remote host closed the connection)
21:21:16  <Raynos>owen1: yes it's good
21:21:57  <mike-d>owen1: if you do ever decide you need to cache the html, use a Buffer
21:25:31  * ramitosquit (Ping timeout: 246 seconds)
21:30:24  * EhevuTovquit (Quit: This computer has gone to sleep)
21:36:29  <Raynos>owen1: https://github.com/Raynos/raynos-blog/tree/clean
21:38:05  * wltsmrzquit (Quit: .)
21:40:32  <Raynos>owen1: you should hang out in #stackvm
21:41:49  * graeme_fjoined
21:45:18  * saschagehlich_joined
21:45:50  * saschagehlich_quit (Remote host closed the connection)
21:46:00  * saschagehlich_joined
21:46:25  * saschagehlich__joined
21:46:39  * graeme_fquit (Client Quit)
21:48:32  * saschagehlichquit (Ping timeout: 248 seconds)
21:48:33  * saschagehlich__changed nick to saschagehlich
21:49:11  * saschagehlichquit (Client Quit)
21:50:15  * saschagehlich_quit (Ping timeout: 246 seconds)
21:56:18  <mike-d>Raynos: you part of browserling?
21:56:27  <Raynos>owen1: nope
22:04:29  <Raynos>mike-d: nope.
22:06:31  * No9quit (Ping timeout: 268 seconds)
22:07:58  * No9joined
22:19:54  * ramitosjoined
22:19:54  * ramitosquit (Excess Flood)
22:21:30  * ramitosjoined
22:24:17  <owen1>Raynos: joining them now
22:27:34  * ramitosquit (Read error: Connection reset by peer)
22:28:32  <owen1>Raynos: did u just rewrite your blog? let me see!
22:28:47  <mike-d>Raynos: let's say you did want hot loading of handlers, and let's assume that require(path, cb) existed, you would have FIFO incoming req, res while the handler was loading… the more I think about it, it would be better in this case to just do a sync load & bootstrap of the handler and let node handle the back pressure, as long as you are aware that this is happening, also a handler bootstrap would be rare, so just… if (!handler) handler = …; handler(req
22:28:47  <Raynos>owen1: its not done, far from it
22:28:47  <mike-d>res)
22:29:21  <Raynos>mike-d: I dont follow. Too complex
22:31:28  <mike-d>Raynos: in other words, to async load url handlers would be too complex, so just do it synchronously and take the hit because it's rare… my context is a multi-tenant low traffic environment so this makes sense
22:31:43  <Raynos>dont take the hit
22:31:51  <Raynos>do all the loading up front
22:31:53  <Raynos>in bootstrap
22:33:31  <mike-d>Raynos: totally get that approach, i'm architecting for ver large multi-tenant and some of these sites would be very low traffic and would be stressing the GC
22:33:52  <Raynos>I doubt it
22:36:30  <owen1>Raynos:i try to add an .md file inside posts, still get 404
22:36:44  <mike-d>you could be entirely correct on that point, i'm starting to get that sometimes sync makes since, and most of the times it doesn't, but require does it, and sometimes require fires after bootstrap
22:36:58  <Raynos>owen1: of course that doesn't work ;)
22:37:38  <owen1>Raynos: that's how docpad works (:
22:37:45  <owen1>so how do i add content?
22:37:47  <Raynos>my blog is not docpad
22:37:49  <Raynos>you can't
22:37:52  <Raynos>its not done ._.
22:38:03  <owen1>how do u plan to allow adding of content?
22:38:12  <owen1>web interface? wsiwyg?
22:38:21  <owen1>text aread to enter md style?
22:39:58  <owen1>textarea
22:43:06  <Raynos>text area to enter md
22:46:53  <owen1>Raynos: cool
23:00:36  * dscapequit (Quit: Connection closed for inactivity)
23:22:19  * AndChat|740025joined
23:25:45  * farvaquit (Ping timeout: 260 seconds)
23:41:29  * farvajoined
23:41:40  * rafmcquit (Ping timeout: 246 seconds)
23:43:32  * AndChat|740025quit (Ping timeout: 245 seconds)
23:44:31  * Romokupart
23:59:24  * TheJHquit (Ping timeout: 244 seconds)