00:22:59  * isaacsjoined
00:56:52  * wiwilliaquit (Ping timeout: 244 seconds)
00:58:33  <rowbit>Hourly usage stats: [free: 11]
01:09:47  * wiwilliajoined
01:15:07  <jesusabdullah>SubStack: Check this api out lol https://github.com/visionmedia/should.js
01:15:34  <jesusabdullah>randomObject.should.have.property('foo', 'bar'); // uuuugh
01:21:17  * dominictarrjoined
01:21:21  <dominictarr>hey dudes
01:22:12  <maxogden>yoyo
01:30:12  <jesusabdullah>duude I just looked up "ruby dsl" and discovered that this counts as an "edsl":
01:30:27  <jesusabdullah>http.createServer(function (req, res) { /* ... */ });
01:30:38  <jesusabdullah>seriously, like
01:30:42  <jesusabdullah>in rake
01:31:42  <jesusabdullah>the api is basically task('some-name', function (task) { t.thing(); t.otherThing(); });
01:31:46  <jesusabdullah>I'm so disappoint :(
01:32:11  <jesusabdullah>I thought there was gonna be some leet haxxery to do crazy-weird shit but, like, jquery's more innovative and it just returns this
01:32:13  <dominictarr>no, there is more
01:32:22  <jesusabdullah>dominictarr: find it for mee
01:32:29  <dominictarr>am trying to
01:32:33  <jesusabdullah>awesome
01:32:52  <jesusabdullah>cause I think that could potentially be the one thing novel enough about ruby to get me to experiment with them
01:32:59  <jesusabdullah>if they constitute more than that
01:33:23  <jesusabdullah>frick I'm getting distracted, I need to read this chapter!
01:33:24  <dominictarr>I read this huge article where every one was researching how to make a block with new methods in it
01:34:01  <jesusabdullah>so like, a function with extra properties?
01:34:47  <jesusabdullah>Maybe I should play with scheme edsl's instead
01:34:51  <dominictarr>dsl { looksLikeANewKeyword 'I am a rubyist'; putOnBlazerOverTShirt 'I think I'm _so_ clever' }
01:34:52  <jesusabdullah>I think that would be more sane
01:35:14  <jesusabdullah>ah
01:35:18  <jesusabdullah>well, that's cute
01:35:21  <jesusabdullah>I can almost dig it
01:35:30  <dominictarr>they call the block in another context
01:35:36  <jesusabdullah>but probably only only for playtimes
01:35:50  <dominictarr>or temporally define those methods on the old one and then remove them.
01:36:03  <dominictarr>really silly if you ask me
01:36:28  <jesusabdullah>I think I prefer the lisp approach of using a macro to shit down the language's neck
01:37:39  <jesusabdullah>Oh dominictarr I think I'm gonna buy "the little schemer"
01:37:46  <jesusabdullah>along with a bunch of other shit
01:38:00  <jesusabdullah>only problem is I'm having a bit of sticker shock with my amazon bill so far
01:39:04  <dominictarr>yeah, ruby is a munted fucked up lisp with sugary syntax that seems powerful.
01:39:15  <dominictarr>but it's not actually
01:39:56  <dominictarr>it actually makes it more arkward. you have to jump through these hoops and do wacky stuff to abstact stuff.
01:40:16  <dominictarr>where in js you just use lamdbas
01:40:40  <jesusabdullah>and dynamic this
01:41:20  <dominictarr>yeah.
01:41:47  <dominictarr>the great thing about js is it takes forever for it to ever change
01:41:50  <jesusabdullah>I think I've been most impressed so far with what haskell people have done in this field so far
01:42:01  <jesusabdullah>they seem very good at writing actually novel languages using haskell
01:42:08  <dominictarr>yeah, haskell is interesting.
01:42:20  <jesusabdullah>I can't invest time into it though right now
01:42:21  <jesusabdullah>too big
01:42:58  * wiwilliaquit (Ping timeout: 244 seconds)
01:43:18  <dominictarr>I saw a (video) talk the other day where a guy implements fizzbuzz using ONLY define a lamdba, and call a lambda
01:44:31  <jesusabdullah>calls itself from 1 to 100?
01:45:09  <dominictarr>yes, also the control flow, mod, numbers and strings are also represented as lambda
01:45:11  <dominictarr>s
01:46:34  <jesusabdullah>oh, it's constructed entirely out of lambdas with no other constructs?
01:47:09  <dominictarr>YUP
01:47:10  <dominictarr>http://rubymanor.org/3/videos/programming_with_nothing/
01:47:28  <dominictarr>that is why it's called lamdba calculus
01:48:02  <dominictarr>that was haskell curry's thing
01:49:12  <dominictarr>oh, I mean he was into that.
01:49:30  <dominictarr>Alonzo Church invented the lambda caluclus
01:58:33  <rowbit>Hourly usage stats: [free: 25]
02:01:51  * wiwilliajoined
02:11:11  * tm604quit (Ping timeout: 240 seconds)
02:11:30  * ryan_stevensquit (Quit: Leaving.)
02:15:17  <maxogden>little schemer is awesome
02:25:51  * tm604joined
02:32:15  <jesusabdullah>Interesting to me that this exercise is portable across many languages
02:35:19  * st_lukejoined
02:36:20  <dominictarr>jesusabdullah: it started me thinking about how to implement lambda calc in C. started thinking of stateless lambdas as trees, not functions.
02:37:16  <dominictarr>where you can apply one tree to and it creates a new tree.
02:41:10  <maxogden>biggest bummer in js is lack of proper tail call recursion
02:47:08  <dominictarr>hmm, I'm afraid I don't fully understand that. it's a optimisation that allows you to efficiently iterate with recursion, correct?
02:47:26  <dominictarr>it doesn't add the call to the stack, right?
02:48:01  <dominictarr>if the function is return recursiveCall(...) ?
02:58:33  <rowbit>Hourly usage stats: [free: 22]
03:03:19  <jesusabdullah>dominictarr: Yes, it transforms recursive calls into stack calls if the thing you return is a call of the original function
03:04:09  <jesusabdullah>dominictarr: it's popular in functional stuffs because of the perf boost, and also scheme has tail call recursion specified at the language level
03:05:45  <dominictarr>ah cool. then I do understand it.
03:16:42  <dominictarr>new module: https://github.com/dominictarr/xdiff
03:18:53  <st_luke>nice
03:20:43  * intabulasjoined
03:29:33  * st_lukequit (Remote host closed the connection)
03:31:27  * st_lukejoined
03:39:30  * jeffbcrossjoined
03:44:37  * dominictarrquit (Quit: Page closed)
03:58:33  <rowbit>Hourly usage stats: [free: 17]
04:03:02  * intabulasquit (Read error: Connection reset by peer)
04:03:06  * intabulasjoined
04:11:28  * jeffbcrossquit (Quit: Leaving.)
04:16:08  * AvianFluquit (Ping timeout: 250 seconds)
04:28:16  * jeffbcrossjoined
04:41:12  * st_lukereally wants to move to oakland
04:45:21  * wiwilliaquit (Ping timeout: 244 seconds)
04:58:33  <rowbit>Hourly usage stats: [free: 12]
05:06:56  * intabulasquit (Read error: Connection reset by peer)
05:07:11  * intabulasjoined
05:17:57  * AvianFlujoined
05:19:12  * intabulasquit (Remote host closed the connection)
05:33:51  * prsnpart
05:42:10  * isaacsquit (Remote host closed the connection)
05:42:57  * isaacsjoined
05:48:44  * jeffbcrosspart
05:58:33  <rowbit>Hourly usage stats: [free: 6]
06:20:47  * st_lukequit (Remote host closed the connection)
06:33:05  * jeffbcrossjoined
06:37:44  * jeffbcrosspart
06:58:33  <rowbit>Hourly usage stats: [free: 33]
07:03:03  <chapel>might be interesting to some http://www.shmoocon.org/2012/videos/CreditCardFraud.m4v
07:18:07  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
07:18:07  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
07:32:39  <SubStack>wowsy!
07:53:49  * tilgoviquit (Remote host closed the connection)
07:58:33  <rowbit>Hourly usage stats: [developer: 2, free: 33]
08:32:33  <Raynos>SubStack: I love how your bot tells you "you got cash money!"
08:34:30  <SubStack>yep ^_^
08:40:08  * AvianFluquit (Quit: Leaving)
08:58:33  <rowbit>Hourly usage stats: [free: 28]
09:09:36  <Raynos>SubStack: https://github.com/azer/onejs
09:09:45  <Raynos>Similar to browserify, also emulates node packages
09:10:08  <Raynos>It won't be able to make mikeal/request work but it might make dnode work
09:13:14  <SubStack>it would need to know how node_modules works
09:16:43  <Raynos>it claims to do
09:16:47  <Raynos>it claims to support NPM
09:16:51  <Raynos>I havn't tested it myself
09:17:36  <SubStack>doesn't need to support npm, it just needs to support nested node_modules directories and use exactly the same module resolution as node
09:17:53  <SubStack>reading the main field from package.json, resolving pkg.js before pkg/index.js
09:18:09  <SubStack>resolving relative requires differently from module requires
09:18:12  <SubStack>all of those things
09:19:03  <Raynos>i should just build dnode with it and see if it works :P
09:19:55  <Raynos>Too much effort, I'll report back later
09:40:42  * AvianFlujoined
09:58:33  <rowbit>Hourly usage stats: [developer: 1, free: 40]
10:58:33  <rowbit>Hourly usage stats: [free: 28]
11:58:33  <rowbit>Hourly usage stats: [free: 32]
12:05:24  * TheJHjoined
12:22:16  * TheJHquit (Ping timeout: 264 seconds)
12:56:25  * TheJHjoined
12:58:33  <rowbit>Hourly usage stats: [free: 29]
13:49:42  * TheJHquit (Ping timeout: 248 seconds)
13:58:33  <rowbit>Hourly usage stats: [free: 46]
14:04:34  * jeffbcrossjoined
14:12:49  * TheJHjoined
14:14:28  <Raynos>SubStack: does browserify magically send my process.env variable to the browser?
14:30:31  * samljoined
14:36:19  * jeffbcrossquit (Quit: Leaving.)
14:36:28  * isaacsquit (Ping timeout: 260 seconds)
14:54:29  * ITprojoined
14:58:32  <rowbit>Hourly usage stats: [free: 35]
15:10:00  * wiwilliajoined
15:24:00  * isaacsjoined
15:58:33  <rowbit>Hourly usage stats: [free: 51]
16:02:03  * jeffbcrossjoined
16:10:52  * ryan_stevensjoined
16:13:29  * jeffbcrossquit (Quit: Leaving.)
16:44:43  * zz_shykeschanged nick to shykes
16:55:11  <pkrumins>Published a new article - The curious case of the DES algorithm - http://www.catonmat.net/blog/curious-case-of-des-algorithm/
16:58:33  <rowbit>Hourly usage stats: [developer: 1, free: 35]
17:14:46  <simcop2387>pkrumins: commendted on your article, with a likely explination of it
17:15:09  <simcop2387>only took 20 minutes for a possible answer!
17:30:10  * jeffbcrossjoined
17:39:24  * isaacsquit (Remote host closed the connection)
17:50:27  <Raynos>SubStack: if dnode blows up when I call dnode.connect twice on the client can I blame you?
17:52:57  <pkrumins>simcop2387: reading
17:54:20  <pkrumins>simcop2387: oh wow
17:56:25  <pkrumins>simcop2387: but here is the thing, the output from a 7 byte password would be different than 8 byte password
17:56:35  <pkrumins>simcop2387: even though it drops the 8th (or 7th if 0-indexed) byte
17:57:02  <pkrumins>wait are we talking about bits or bytes?
17:57:15  * jeffbcrosspart
17:58:32  <rowbit>Hourly usage stats: [developer: 1, free: 53]
18:06:09  <simcop2387>pkrumins: bits, not bytes
18:07:36  <simcop2387>DES normally drops the LSB on the key to get the 56bit from a 64bit key. vnc does it with the MSB instead since the MSB is going to be 0
18:10:00  <simcop2387>when it was designed apparently the LSB was typically for parity to make sure the key was correct, according to wikipedia.
18:10:39  <simcop2387>you should be able to get the same effect using the normal DES implementations by shifting the bits of the password to the left one
18:11:01  <simcop2387>i think, there's some talk that they're reversed too but i don't know for sure
18:16:55  <pkrumins>got it!
18:21:15  * isaacsjoined
18:22:47  * jeffbcrossjoined
18:25:23  * jeffbcrossquit (Client Quit)
18:31:45  * shykeschanged nick to zz_shykes
18:32:54  <niftylettuce>SubStack: how many customers you guys up to? break even?
18:46:59  * jeffbcrossjoined
18:54:24  * jeffbcrossquit (Quit: Leaving.)
18:55:47  * isaacschanged nick to isaacs_lunch
18:58:33  <rowbit>Hourly usage stats: [developer: 2, free: 46]
19:03:32  * wiwilliaquit (Ping timeout: 244 seconds)
19:58:33  <rowbit>Hourly usage stats: [free: 32]
19:58:33  <rowbit>Daily usage stats: [developer: 7, free: 727]
20:01:05  * mikealjoined
20:07:55  * jeffbcrossjoined
20:08:37  * jeffbcrossquit (Client Quit)
20:13:55  <guybrush>Raynos: https://github.com/substack/node-browserify/blob/master/wrappers/process.js#L1
20:16:04  <guybrush>so yes, you get window.process.env - which will contain all objects any modules attach to it
20:18:05  * mikealquit (Quit: Leaving.)
20:26:09  * wiwilliajoined
20:35:33  * isaacs_lunchquit (Read error: Connection reset by peer)
20:36:09  * isaacs_lunchjoined
20:36:28  * isaacs_lunchquit (Read error: Connection reset by peer)
20:36:58  * isaacs_lunchjoined
20:47:04  * niftylettucequit (Excess Flood)
20:48:16  * isaacs_lunchchanged nick to isaacs
20:48:24  * niftylettucejoined
20:58:32  <rowbit>Hourly usage stats: [developer: 1, free: 59]
20:59:40  * wiwilliaquit (Ping timeout: 244 seconds)
21:00:22  * ITproquit (Read error: No route to host)
21:00:42  * AvianFluquit (Ping timeout: 244 seconds)
21:00:58  * ITprojoined
21:05:18  * mikealjoined
21:09:36  <Raynos>guybrush: thats an empty object. I expected it to somehow inject all the process.env variables from node into the browser
21:11:12  <guybrush>imo that would not be ok, since the app on the client is not a "node program" its a js-program which runs in the browser
21:11:30  * AvianFlujoined
21:11:41  <guybrush>so it should contain the "env" of the browser if anything
21:14:50  * niscjoined
21:15:59  * st_lukejoined
21:16:14  <guybrush>so, when i start my app with "FOO=bar node app.js" where app.js requires browserify you want window.process.env.FOO to be 'bar'?
21:18:50  <guybrush>it would be cool to have window.process.versions containing version-numbers of browser :D
21:22:35  <SubStack>that would leak information that you probably wouldn't want everybody to know
21:22:45  <guybrush>right
21:23:11  <guybrush>but maybe it would be cool to be able to pass --env option to cli?
21:23:22  <guybrush>--env.FOO bar
21:24:01  <guybrush>more realistic: `--env.DEBUG=foo,bar`
21:24:49  <guybrush>so you can build bundles with different environments
21:25:39  <guybrush>i mean not passing nodes process.env, just a client-side process.env
21:37:52  * TheJHquit (Ping timeout: 260 seconds)
21:43:10  <st_luke>are there any affordable SmartOS vm providers for individuals?
21:43:52  * zz_shykeschanged nick to shykes
21:46:09  <Raynos>SubStack: I think shared environmental state server/client is super nifty
21:46:17  <Raynos>I should probably just use a shared json file
21:46:41  <guybrush>a shared module :D
21:46:47  <Raynos>SubStack: calling `Dnode.connect(...)` twice on the browser bakes, can we cache the client object / memoize the connect function?
21:46:52  <guybrush>which runs on the server and the client!
21:46:59  <Raynos>guybrush: I have plenty of shared modules :)
21:47:04  <guybrush>haha
21:47:13  <Raynos>guybrush: Check https://github.com/Raynos/clientmongo
21:53:32  * mikealquit (Quit: Leaving.)
21:57:03  * samlquit (Quit: Leaving)
21:57:43  * mikealjoined
21:58:33  <rowbit>Hourly usage stats: [developer: 1, free: 42]
22:00:18  * wiwilliajoined
22:00:55  * nisc_joined
22:04:34  * niscquit (Ping timeout: 265 seconds)
22:04:38  * mikealquit (Quit: Leaving.)
22:07:32  * mikealjoined
22:08:12  * wiwillia2joined
22:21:24  * mikealquit (Quit: Leaving.)
22:40:05  * amasadjoined
22:44:15  <amasad>SubStack: Is there a way for location.pathname to point to the original thing as opposed to /proxy.json/... ?
22:44:25  <amasad>SubStack: in testling
22:48:40  * jeffbcrossjoined
22:49:19  * jeffbcrosspart
22:58:33  <rowbit>Hourly usage stats: [free: 52]
23:00:03  * wiwillia2quit (Ping timeout: 244 seconds)
23:14:53  * wiwillia2joined
23:43:30  * mikealjoined
23:46:41  * wiwillia2quit (Ping timeout: 240 seconds)
23:52:01  * mikealquit (Quit: Leaving.)
23:58:33  <rowbit>Hourly usage stats: [free: 40]