00:00:00
| * ircretary | quit (Remote host closed the connection) |
00:00:08
| * ircretary | joined |
00:07:26
| * ednapiranha | quit (Quit: Leaving...) |
00:07:44
| * AvianFlu | quit (Remote host closed the connection) |
00:13:43
| <rowbit1> | /!\ ATTENTION: (default-local) toshi@... successfully signed up for developer browserling plan ($20). Cash money! /!\ |
00:13:43
| <rowbit1> | /!\ ATTENTION: (default-local) paid account successfully upgraded /!\ |
00:17:51
| * defunctzombie_zz | changed nick to defunctzombie |
00:22:01
| * funkytek | quit (Ping timeout: 240 seconds) |
00:23:22
| * wolfeida_ | joined |
00:24:48
| * pfraze | quit (Ping timeout: 264 seconds) |
00:25:58
| * wolfeidau | quit (Ping timeout: 240 seconds) |
00:40:31
| <dguttman> | ogd: https://vimeo.com/65042246 |
00:41:09
| * funkytek | joined |
00:41:25
| <dguttman> | looks like a similar talk he gave at JS.LA |
00:41:26
| * contrahax | joined |
00:41:32
| * ceejbot | joined |
00:41:54
| <terinjokes> | i've talked with him a few times |
00:41:57
| * thlorenz | quit (Remote host closed the connection) |
00:43:09
| * yorick | quit (Remote host closed the connection) |
00:47:19
| <rowbit1> | Hourly usage stats: [developer: 1, free: 35] |
00:49:21
| * toddself | joined |
00:52:14
| * tilgovi | joined |
00:54:07
| * toddself | quit (Ping timeout: 265 seconds) |
00:56:06
| * pfraze | joined |
01:01:32
| * wolfeida_ | quit (Remote host closed the connection) |
01:02:25
| * phated | quit (Remote host closed the connection) |
01:05:11
| * djcoin | quit (Quit: WeeChat 0.4.2) |
01:06:04
| * calvinmetcalf | quit (Quit: Connection closed for inactivity) |
01:06:35
| * defunctzombie | changed nick to defunctzombie_zz |
01:07:30
| * not_a_guest | quit (Quit: Connection closed for inactivity) |
01:08:11
| <ogd> | hughsk: man its confusing that atom has its own package manager but uses package.json and node modules |
01:08:26
| <ogd> | hughsk: e.g. i have the nodei.co-chrome extension installed and it shows a badge on https://github.com/hughsk/atom-npm-install for https://www.npmjs.org/package/npm-install |
01:11:13
| * Guest58290 | quit (Ping timeout: 240 seconds) |
01:14:14
| * phated | joined |
01:14:28
| <mikolalysenko> | ogd: what? I thought atom was built on npm....?! |
01:14:56
| <mikolalysenko> | why would they do it that way? |
01:15:51
| <terinjokes> | i thought apm was just a wrapper around npm? |
01:17:36
| * ednapiranha | joined |
01:21:27
| * AvianPhone | joined |
01:21:49
| * contrahax | quit (Quit: Sleeping) |
01:22:10
| * funkytek | quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
01:22:38
| * phated | quit (Remote host closed the connection) |
01:25:19
| * not_a_guest | joined |
01:32:35
| <rowbit1> | substack, pkrumins: Encoders down: 184.106.106.46 (dev-ie8-1) |
01:40:39
| * kenperkins_ | quit (Quit: Textual IRC Client: http://www.textualapp.com/) |
01:43:42
| * toddself | joined |
01:47:19
| <rowbit1> | Hourly usage stats: [developer: 4, free: 20] |
01:48:01
| * toddself | quit (Ping timeout: 240 seconds) |
01:56:35
| <hughsk> | ogd: I know right! Have the same extension too – would've be nice to just use npm directly, though imagine they've done it that way to make it easier for newcomers |
01:57:16
| * thealphanerd | quit (Quit: thealphanerd) |
01:57:50
| * wolfeidau | joined |
01:59:22
| * Kessler | quit (Ping timeout: 265 seconds) |
02:00:03
| <jesusabdullah> | http://www.reddit.com/r/javascript/comments/1zkepg/tired_of_having_to_write_correct_identifiers_us/ |
02:00:20
| <jesusabdullah> | apparently /r/javascript hates fun |
02:00:29
| <jesusabdullah> | (I see 0 votes) |
02:00:49
| * tilgovi | quit (Read error: Connection reset by peer) |
02:00:59
| * mikolalysenko | quit (Ping timeout: 240 seconds) |
02:10:10
| * indexzero | joined |
02:12:59
| * Kessler | joined |
02:16:05
| <rowbit1> | substack, pkrumins: Encoders down: 50.57.174.105 (dev-ie8-2) |
02:31:24
| * Kessler | quit (Ping timeout: 264 seconds) |
02:37:55
| * toddself | joined |
02:42:00
| * toddself | quit (Ping timeout: 240 seconds) |
02:45:11
| * indexzero | quit (Quit: indexzero) |
02:45:13
| * Kessler | joined |
02:47:19
| <rowbit1> | Hourly usage stats: [developer: 3, free: 25] |
02:50:00
| * ceejbot | quit (Remote host closed the connection) |
02:50:37
| * ceejbot | joined |
02:54:42
| * niftylettuce_ | quit (Quit: Connection closed for inactivity) |
02:55:24
| * ceejbot | quit (Ping timeout: 264 seconds) |
02:55:25
| * mikolalysenko | joined |
02:56:17
| * naneau | quit (Quit: Part.) |
02:56:42
| * thlorenz | joined |
02:58:17
| * defunctzombie_zz | changed nick to defunctzombie |
03:02:25
| * Kessler | quit (Ping timeout: 240 seconds) |
03:04:18
| <defunctzombie> | ogd: package.json existed before npm did tho I am not 100% positive on that |
03:04:36
| <defunctzombie> | ogd: also, I don't think it is correct to assume that package.json will always and forever be npm only |
03:04:46
| <defunctzombie> | it is just too generic a name and placement of the file |
03:05:09
| <defunctzombie> | for instance debian packages have a debian folder |
03:05:12
| * indexzero | joined |
03:05:38
| * indexzero | quit (Client Quit) |
03:09:02
| * eugeneware | joined |
03:10:46
| <defunctzombie> | ogd: http://williamnewton.co/blog/ui-hacking-in-the-browser/ <-- you should tell them about requirebin |
03:11:05
| <defunctzombie> | great way to do ui with modules in the browser! |
03:19:56
| * contrahax | joined |
03:20:29
| * contrahax | quit (Client Quit) |
03:20:50
| * contrahax | joined |
03:21:44
| * contrahax | quit (Client Quit) |
03:23:20
| * heath | quit (Quit: No Ping reply in 180 seconds.) |
03:23:43
| * tilgovi | joined |
03:23:55
| * Kessler | joined |
03:24:21
| * contrahax | joined |
03:25:09
| * funkytek | joined |
03:32:23
| * toddself | joined |
03:33:43
| * indexzero | joined |
03:33:51
| * indexzero | quit (Client Quit) |
03:36:18
| * toddself | quit (Ping timeout: 240 seconds) |
03:39:13
| * DTrejo | quit (Remote host closed the connection) |
03:40:18
| * feross_ | quit (Quit: feross_) |
03:40:46
| * defunctzombie | changed nick to defunctzombie_zz |
03:43:07
| * i_m_ca | joined |
03:43:56
| * tilgovi | quit (Remote host closed the connection) |
03:46:17
| * tilgovi | joined |
03:47:18
| <rowbit1> | Daily usage stats: [developer: 8, free: 101] |
03:47:19
| <rowbit1> | Hourly usage stats: [developer: 0, free: 21] |
03:49:59
| * heath | joined |
03:51:56
| * kriskowal_ | joined |
03:52:29
| * Kessler | quit (Ping timeout: 269 seconds) |
03:52:31
| * contrahax | quit (Quit: Sleeping) |
03:53:36
| * kriskowal | quit (Ping timeout: 264 seconds) |
03:53:36
| * kriskowal_ | changed nick to kriskowal |
03:54:39
| * contrahax | joined |
03:55:35
| * contrahax | quit (Client Quit) |
03:56:20
| * defunctzombie_zz | changed nick to defunctzombie |
03:56:24
| * contrahax | joined |
03:57:53
| * funkytek | quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
03:59:34
| * ednapiranha | quit (Remote host closed the connection) |
04:00:04
| * ednapiranha | joined |
04:00:56
| <ogd> | windows question: what is the best shell to use for running npm install |
04:01:00
| <ogd> | git shell? |
04:02:01
| * funkytek | joined |
04:02:28
| <ogd> | or cmd.exe? or powershell? i dont even know |
04:02:29
| <ogd> | (windows 8) |
04:03:17
| <substack> | ogd: http://win-bash.sourceforge.net/ |
04:03:46
| <ogd> | substack: do you know if `npm` will be in the path if the user did the windows installer from nodejs.org? |
04:04:59
| * ednapiranha | quit (Ping timeout: 266 seconds) |
04:05:09
| <substack> | I'm not sure |
04:05:16
| <substack> | Domenic_ might now if he's awake |
04:06:12
| <pkrumins> | ogd: it will be |
04:07:57
| * ceejbot | joined |
04:10:24
| * nfroidure | quit (Ping timeout: 264 seconds) |
04:23:49
| * tilgovi | quit (Remote host closed the connection) |
04:23:53
| * fotoverite | quit (Quit: fotoverite) |
04:24:03
| * contrahax | quit (Read error: Connection reset by peer) |
04:24:28
| * contrahax | joined |
04:27:20
| * contrahax | quit (Client Quit) |
04:27:20
| * tilgovi | joined |
04:29:23
| <Raynos> | substack: I plan to use tape at uber soon |
04:29:29
| <Raynos> | I'll prob make a bunch of cleanup PRs |
04:30:02
| <Raynos> | substack: how open are you about breaking some of the lib files out into npm ? |
04:30:04
| * thlorenz | quit (Remote host closed the connection) |
04:30:17
| * contrahax | joined |
04:30:48
| <Raynos> | substack: also make the TAP formatter swappable, so that I can iterate on a better reporter with more meta data without breaking back compat |
04:30:57
| <Raynos> | I want to do a study of multiple testing frameworks and how they report errors |
04:35:55
| <substack> | Raynos: I'm not sure how breaking the lib files into separate modules will help much |
04:36:25
| <substack> | Raynos: you can test.createStream({ objectMode: true }) to get the raw data and render it however you want |
04:36:39
| <Raynos> | substack: it will allow for re-use |
04:37:02
| <substack> | but it forces you to use a particular runner |
04:37:14
| <substack> | I like the simplicity of doing node test.js |
04:37:17
| <Raynos> | if the assertion code & the only code & the nested children code & tap rendering code lived in individual modules you can build your "own tape" like you can build your "own browserify" |
04:37:19
| <substack> | and then it spits out tap output |
04:37:27
| <Raynos> | i like node test.js as well |
04:38:36
| <mikolalysenko> | I'm glad that tape is getting more popular |
04:39:03
| <substack> | Raynos: I'm somewhat open but there would need to be a clear use-case I think |
04:39:06
| <Raynos> | substack: https://gist.github.com/Raynos/8700797 |
04:39:25
| <Raynos> | For example the whole test & child test & only() and uncaught exception and pre exit hooks blabla bla |
04:39:37
| <Raynos> | can be seperate from the thing that just writes TAP to a stream when you assert.equal() |
04:39:43
| <Raynos> | thats the biggest use case for me |
04:39:59
| <Raynos> | it seems tape does both an assert interface for writing TAP and a flow control library for test authoring |
04:40:12
| <substack> | Raynos: what if there was just a different entry point in the tape module for just the api without creating a default harness? |
04:40:30
| <Raynos> | that could work |
04:40:33
| <substack> | require('tape/harness') or whatever |
04:40:42
| <substack> | and that wouldn't have any default handlers set up |
04:41:05
| <substack> | but it's also tricky because tape wraps around process.on('exit', fn) in node |
04:41:06
| <Raynos> | substack: https://github.com/Raynos/assert-tap I tried this btw |
04:41:27
| <Raynos> | substack: https://github.com/Raynos/assert-tap/blob/master/index.js#L1-L2 |
04:41:30
| <substack> | to make sure there weren't planned assertions that didn't get run |
04:41:54
| <Raynos> | it used lib/default_stream and lib/results |
04:42:12
| <Raynos> | substack: see I dont want the .plan() feature, i never use it. |
04:42:42
| <Raynos> | I think what I really want is all the things in lib :P |
04:43:05
| <Raynos> | but sure we can do this by having multiple entry points & better docs rather then multiple github repos + npm packages |
04:43:18
| <substack> | Raynos: you can just require('tape/lib/blah') directly |
04:43:37
| <substack> | index.js doesn't have very much |
04:43:58
| * indexzero | joined |
04:44:02
| <Raynos> | This is true. |
04:44:18
| <substack> | most of it is setting up the process exit handlers |
04:47:19
| <rowbit1> | Hourly usage stats: [developer: 0, free: 27] |
04:48:01
| <Raynos> | substack: breaking things out of lib will force better documentation / apis / versioning / seperation though |
04:49:04
| * ednapiranha | joined |
04:55:45
| * fotoverite | joined |
05:11:38
| * pfraze | quit (Ping timeout: 240 seconds) |
05:14:02
| * contrahax | quit (Quit: Sleeping) |
05:18:26
| * Maciek416 | quit (Quit: Leaving...) |
05:19:22
| * funkytek | quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
05:20:00
| * funkytek | joined |
05:20:39
| * toddself | joined |
05:21:41
| * Maciek416 | joined |
05:24:05
| * calvinfo | quit (Quit: Leaving.) |
05:24:48
| * toddself | quit (Ping timeout: 240 seconds) |
05:29:31
| <jlord> | ceejbot: are you slides from the workshop online somewhere? |
05:32:44
| * dguttman | quit (Quit: dguttman) |
05:36:28
| * funkytek | quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
05:37:30
| * not_a_guest | quit (Quit: Connection closed for inactivity) |
05:41:30
| * eugeneware | quit (Remote host closed the connection) |
05:42:04
| * eugeneware | joined |
05:45:44
| * rxgx | joined |
05:46:30
| * eugeneware | quit (Ping timeout: 244 seconds) |
05:47:19
| <rowbit1> | Hourly usage stats: [developer: 0, free: 29] |
05:48:57
| * i_m_ca | quit (Ping timeout: 265 seconds) |
06:00:29
| * contrahax | joined |
06:01:16
| * maksimlin | quit (Quit: ChatZilla 0.9.90.1 [Firefox 27.0.1/20140218140359]) |
06:15:03
| * toddself | joined |
06:16:01
| * ceejbot | quit (Remote host closed the connection) |
06:16:01
| * mikolalysenko | quit (Ping timeout: 265 seconds) |
06:16:37
| * ceejbot | joined |
06:18:44
| * anvaka | joined |
06:19:12
| * toddself | quit (Ping timeout: 240 seconds) |
06:20:58
| <anvaka> | isaacs: would it be possible to support CORS on registry.npmjs.org? |
06:21:20
| * ceejbot | quit (Ping timeout: 265 seconds) |
06:21:21
| <substack> | no more open issues on tape! |
06:22:28
| <anvaka> | substack: congratulations :) |
06:26:56
| <ogd> | anvaka: couchdb supports cors now |
06:27:08
| <ogd> | anvaka: it just has to be turned on |
06:27:20
| <anvaka> | ogd it does, but still registry.npmjs.org has it off |
06:27:46
| <anvaka> | and jsonp is not working there https://github.com/npm/npmjs.org/issues/157 |
06:31:44
| <ogd> | anvaka: what about https://fullfatdb.npmjs.com/ |
06:32:18
| <anvaka> | ogd: let me check... I checked only jsonp there, which was disabled |
06:32:41
| <ogd> | anvaka: couch has jsonp + cors settings that both default to off, and only admins can see the state of the settings IIRC |
06:34:01
| <anvaka> | I must be doing something wrong with fullfatdb |
06:34:15
| <anvaka> | ogd: I don't see cors header here https://fullfatdb.npmjs.com/ |
06:34:35
| <anvaka> | ogd: https://fullfatdb.npmjs.com/registry/_design/scratch/_view/byField?limit=10 - this returns this method may not be used |
06:34:51
| <ogd> | anvaka: im guessing it needs to get the cors flag turned on in the couchdb configuration |
06:35:22
| <anvaka> | ogd: right... who can do this? |
06:35:36
| <ogd> | anvaka: probably isaacs |
06:35:36
| <anvaka> | indexzero or isaacs? |
06:36:02
| <anvaka> | ogd: got it... thank you! |
06:36:46
| <anvaka> | ogd: Do I understand it correctly that isaacs.iriscouch.com is just one of many npm mirrors behind registry.npmjs.org? |
06:36:53
| <anvaka> | or is it totally wrong? |
06:37:32
| <ogd> | anvaka: http://blog.npmjs.org/post/75707294465/new-npm-registry-architecture |
06:37:47
| <anvaka> | right... downstream mirror |
06:37:49
| <ogd> | anvaka: i think *.npmjs.com is recommended going forward |
06:38:04
| <anvaka> | yep... which does not support cors :) |
06:38:05
| <indexzero> | depends who is making the recommendation ogd ;) |
06:38:41
| <anvaka> | indexzero: :) |
06:38:43
| <ogd> | right, recommended re: that blog post |
06:39:13
| * defunctzombie | changed nick to defunctzombie_zz |
06:39:29
| <ogd> | anvaka: i have asked @jasonsmith to turn on cors many times for isaacs.iriscouch.com but AFAIK it never got enabled, not sure why exactly |
06:39:30
| * wolfeidau | quit (Remote host closed the connection) |
06:39:37
| <ogd> | anvaka: i think cors support landed in couchdb 1.3.0 |
06:39:56
| <ogd> | anvaka: are you by chance working on client side module loading? |
06:40:39
| <anvaka> | ogd: I'm thinking about client side browserify :)... But currently it's mostly work on this visualization |
06:40:45
| <anvaka> | http://www.yasiv.com/npm#view/browserify |
06:40:53
| <indexzero> | ogd: core is on isaacs.iriscouch.com |
06:40:56
| <indexzero> | I just double checked |
06:41:01
| <indexzero> | enabled_cors = true |
06:41:05
| <ogd> | indexzero: oh sweetness |
06:41:09
| <indexzero> | … errr "enable_cors" |
06:41:25
| <anvaka> | indexzero, ogd isaacs.iriscouch.com has jsonp enabled as well |
06:41:32
| <anvaka> | but it was super unstable recently |
06:41:40
| <anvaka> | usually during presentations :) |
06:41:45
| <ogd> | anvaka: i think it is totally feasible to unpack tarballs from npm on the client side |
06:41:52
| <indexzero> | anvaka: how did you get that byField thing working? I used to remember |
06:41:52
| <anvaka> | right |
06:42:02
| <ogd> | anvaka: i was gonna go down that road but ended up using browserify-cdn instead |
06:42:04
| <anvaka> | ogd it's jsonp now |
06:42:33
| <ogd> | anvaka: i mean for the actual code, not the json |
06:42:58
| * mikolalysenko | joined |
06:43:00
| <anvaka> | oh sorry. I thought ogd was asking about by field |
06:43:15
| <anvaka> | indexzero: byField works via jsonp with isaacs.iriscouch.com |
06:43:41
| <indexzero> | sure, but it should also work w/o jsonp |
06:43:52
| <indexzero> | right? |
06:43:52
| <indexzero> | it's just a view |
06:44:02
| <anvaka> | indexzero: right, if you are outside of a browser :) |
06:44:12
| <anvaka> | indexzero: I'm in a browser where cross-domain rules are too strict |
06:44:19
| <indexzero> | oh ok |
06:44:51
| <anvaka> | indexzero: so enabling cors (just one header) would let me use registry.. |
06:45:03
| <indexzero> | No, that's weird. It works in a browser on the iriscouch downstream no problem |
06:45:04
| <indexzero> | http://isaacs.iriscouch.com/registry/_design/scratch/_view/byField?limit=10 |
06:45:23
| <indexzero> | maybe I'm derping here |
06:45:56
| <anvaka> | indexzero: sorry, I was unclear. You cannot make ajax request to that endpoint from a different domain |
06:46:59
| <anvaka> | indexzero: you can open that page directly without problems |
06:47:15
| <anvaka> | indexzero: cross-domain ajax fails |
06:47:19
| <rowbit1> | Hourly usage stats: [developer: 0, free: 42] |
06:47:42
| <indexzero> | Right, but not from fullfatdb.npmjs.com … trying to understand the difference |
06:47:49
| <indexzero> | maybe a config is different I guess |
06:48:51
| <anvaka> | fullfatdb currently returns this method may not be used on all my requests |
06:48:53
| <anvaka> | https://fullfatdb.npmjs.com/registry/_design/scratch/_view/byField?limit=10 |
06:49:18
| <anvaka> | https://skimdb.npmjs.com/registry/_design/scratch/_view/byField?limit=10 - this works |
06:50:05
| <anvaka> | https://skimdb.npmjs.com/registry/_design/scratch/_view/byField?limit=10&callback=foo - this does not wrap body into callback 'foo', which does not work for jsonp |
06:52:08
| <indexzero> | hmmm … ok |
07:00:58
| * Guest58290 | joined |
07:07:45
| * gozala | quit (Quit: Connection closed for inactivity) |
07:09:07
| * toddself | joined |
07:13:18
| * toddself | quit (Ping timeout: 244 seconds) |
07:16:58
| * feross | quit (Quit: feross) |
07:22:05
| * feross | joined |
07:27:37
| * tilgovi | quit (Remote host closed the connection) |
07:33:03
| * ednapiranha | quit (Quit: Leaving...) |
07:35:29
| * Maciek416 | quit (Remote host closed the connection) |
07:47:19
| <rowbit1> | Hourly usage stats: [developer: 0, free: 21] |
07:53:07
| * djcoin | joined |
07:56:14
| * fotoverite | quit (Quit: fotoverite) |
08:02:56
| * thealphanerd | joined |
08:03:30
| * toddself | joined |
08:05:12
| * funkytek | joined |
08:06:48
| * paul_irish_ | joined |
08:07:33
| * toddself | quit (Ping timeout: 244 seconds) |
08:07:39
| * ins0mnia | joined |
08:08:18
| * contraha_ | joined |
08:11:02
| * Guest58290 | quit (*.net *.split) |
08:11:02
| * mikolalysenko | quit (*.net *.split) |
08:11:02
| * contrahax | quit (*.net *.split) |
08:11:03
| * AvianPhone | quit (*.net *.split) |
08:11:04
| * timoxley | quit (*.net *.split) |
08:11:05
| * paul_irish | quit (*.net *.split) |
08:11:06
| * djcoin | quit (*.net *.split) |
08:11:07
| * kriskowal | quit (*.net *.split) |
08:11:07
| * heath | quit (*.net *.split) |
08:11:09
| * cpup | quit (*.net *.split) |
08:11:09
| * owenb_ | quit (*.net *.split) |
08:11:10
| * grncdr | quit (*.net *.split) |
08:11:10
| * rannmann | quit (*.net *.split) |
08:12:12
| * Guest58290 | joined |
08:14:44
| * rxgx | quit (Ping timeout: 245 seconds) |
08:15:37
| * not_a_guest | joined |
08:42:02
| * peutetre | joined |
08:47:19
| <rowbit1> | Hourly usage stats: [developer: 0, free: 30] |
08:56:07
| <rowbit1> | substack, pkrumins: At least 10 people waiting in the queue for free servers! (Waiting: 10) |
08:56:51
| <substack> | o_O |
08:59:39
| * mikolalysenko | joined |
09:00:57
| * addisonj | quit (Quit: Connection closed for inactivity) |
09:01:09
| * timoxley_ | joined |
09:01:09
| * nfroidure | joined |
09:01:09
| * rannmann | joined |
09:01:09
| * grncdr | joined |
09:01:09
| * owenb_ | joined |
09:01:09
| * cpup | joined |
09:01:09
| * heath | joined |
09:01:09
| * kriskowal | joined |
09:01:09
| * djcoin | joined |
09:01:09
| * rxgx | joined |
09:01:09
| * AvianPhone | joined |
09:03:29
| * ehd | quit (Ping timeout: 245 seconds) |
09:03:54
| * greweb | quit (Ping timeout: 245 seconds) |
09:03:54
| * daleharvey | quit (Ping timeout: 245 seconds) |
09:04:43
| * mikolalysenko | quit (Ping timeout: 265 seconds) |
09:04:44
| * mrb_bk | quit (Ping timeout: 245 seconds) |
09:05:47
| * eugeneware | joined |
09:06:57
| * greweb | joined |
09:07:14
| * mrb_bk | joined |
09:07:22
| * ehd | joined |
09:07:35
| * daleharvey | joined |
09:13:34
| * eugeneware | quit (Ping timeout: 240 seconds) |
09:19:51
| * thealphanerd | quit (Quit: thealphanerd) |
09:20:13
| * rxgx | quit (Quit: Connection closed for inactivity) |
09:24:06
| * Maciek416 | joined |
09:27:03
| * thealphanerd | joined |
09:28:24
| * peutetre | quit (Ping timeout: 264 seconds) |
09:28:53
| * Maciek416 | quit (Ping timeout: 265 seconds) |
09:29:11
| * peutetre | joined |
09:31:51
| * thealphanerd | quit (Client Quit) |
09:38:56
| * feross | quit (Quit: feross) |
09:43:18
| * mikolalysenko | joined |
09:45:25
| * indexzero | quit (Quit: indexzero) |
09:47:19
| <rowbit1> | Hourly usage stats: [developer: 1, free: 39] |
09:47:48
| * ins0mnia | quit (Ping timeout: 252 seconds) |
09:48:21
| * mikolalysenko | quit (Ping timeout: 252 seconds) |
09:51:18
| * ins0mnia | joined |
09:51:41
| * toddself | joined |
09:53:49
| * Guest58290 | quit (Read error: Connection reset by peer) |
09:56:26
| * toddself | quit (Ping timeout: 265 seconds) |
10:07:07
| * DTrejo | joined |
10:09:25
| * DTrejo | quit (Remote host closed the connection) |
10:10:03
| * DTrejo | joined |
10:12:38
| * DTrejo | quit (Read error: Connection reset by peer) |
10:35:44
| * calvinfo | joined |
10:37:30
| * not_a_guest | quit (Quit: Connection closed for inactivity) |
10:44:05
| * mikolalysenko | joined |
10:46:00
| * toddself | joined |
10:47:19
| <rowbit1> | Hourly usage stats: [developer: 2, free: 35] |
10:47:37
| <rowbit1> | substack, pkrumins: Encoders down: 166.78.102.157 (dev-ie10-1) |
10:48:58
| * mikolalysenko | quit (Ping timeout: 240 seconds) |
10:50:36
| * toddself | quit (Ping timeout: 264 seconds) |
10:55:00
| * calvinfo | quit (Quit: Leaving.) |
10:56:33
| * eugeneware | joined |
11:01:41
| * eugeneware | quit (Ping timeout: 265 seconds) |
11:13:09
| * Maciek416 | joined |
11:13:51
| * funkytek | quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
11:14:57
| * anvaka | quit (Remote host closed the connection) |
11:18:12
| * Maciek416 | quit (Ping timeout: 264 seconds) |
11:20:10
| * Kessler | joined |
11:41:41
| * Kessler | quit (Ping timeout: 252 seconds) |
11:44:53
| * mikolalysenko | joined |
11:47:19
| <rowbit1> | Hourly usage stats: [developer: 0, free: 50] |
11:49:57
| * mikolalysenko | quit (Ping timeout: 252 seconds) |
11:50:52
| * hij1nx_ | joined |
11:51:44
| * trodrigues | quit (Disconnected by services) |
11:51:46
| * WHARGARBL | joined |
11:52:51
| * jcrugzz_ | joined |
11:53:43
| * hackygolucky_ | joined |
11:54:18
| * mmckegg_ | joined |
11:54:45
| * parshap_ | joined |
11:55:12
| * contraha_ | quit (Quit: Sleeping) |
11:56:12
| * fent_ | joined |
11:56:14
| * hij1nx | quit (Ping timeout: 265 seconds) |
11:56:14
| * mmckegg | quit (Ping timeout: 265 seconds) |
11:56:15
| * greweb | quit (Ping timeout: 265 seconds) |
11:56:15
| * occamshatchet | quit (Ping timeout: 265 seconds) |
11:56:15
| * hackygolucky | quit (Ping timeout: 265 seconds) |
11:56:15
| * mmckegg_ | changed nick to mmckegg |
11:56:17
| * monteslu_ | joined |
11:56:48
| * jcrugzz | quit (Ping timeout: 265 seconds) |
11:56:49
| * parshap | quit (Ping timeout: 265 seconds) |
11:56:49
| * fent | quit (Ping timeout: 265 seconds) |
11:56:49
| * tanepiper | quit (Ping timeout: 265 seconds) |
11:56:50
| * collypops | quit (Ping timeout: 265 seconds) |
11:56:50
| * tobie | quit (Ping timeout: 265 seconds) |
11:56:52
| * greweb | joined |
11:56:52
| * ehd | quit (Ping timeout: 265 seconds) |
11:56:52
| * monteslu | quit (Ping timeout: 265 seconds) |
11:56:53
| * occamshatchet | joined |
11:56:53
| * tobie_ | joined |
11:56:53
| * tanepiper | joined |
11:56:54
| * greweb | quit (Changing host) |
11:56:54
| * greweb | joined |
11:56:55
| * tobie_ | quit (Changing host) |
11:56:55
| * tobie_ | joined |
11:56:55
| * tanepiper | quit (Changing host) |
11:56:55
| * tanepiper | joined |
11:56:55
| * Kessler | joined |
11:57:18
| * hackygolucky_ | changed nick to hackygolucky |
11:57:18
| * monteslu_ | changed nick to monteslu |
11:57:18
| * jcrugzz_ | changed nick to jcrugzz |
11:57:18
| * fent_ | changed nick to fent |
11:57:22
| * ehd | joined |
11:58:27
| * parshap_ | changed nick to parshap |
12:08:31
| * wolfeidau | joined |
12:19:43
| * calvinmetcalf | joined |
12:20:00
| * Kessler | quit (Ping timeout: 264 seconds) |
12:34:26
| * toddself | joined |
12:38:49
| * toddself | quit (Ping timeout: 240 seconds) |
12:43:59
| * AvianPhone | quit (Ping timeout: 240 seconds) |
12:45:19
| * AvianPhone | joined |
12:45:33
| * fotoverite | joined |
12:45:48
| * mikolalysenko | joined |
12:46:55
| <rowbit1> | /!\ ATTENTION: (default-local) darryl@... successfully signed up for developer browserling plan ($20). Cash money! /!\ |
12:46:55
| <rowbit1> | /!\ ATTENTION: (default-local) paid account successfully upgraded /!\ |
12:47:19
| <rowbit1> | Hourly usage stats: [developer: 2, free: 38] |
12:50:29
| * mikolalysenko | quit (Ping timeout: 240 seconds) |
12:52:36
| * peutetre | quit (Quit: peutetre) |
12:56:03
| * Kessler | joined |
12:56:17
| * eugeneware | joined |
12:58:26
| * AvianPhone | quit (Remote host closed the connection) |
13:01:13
| * eugeneware | quit (Ping timeout: 240 seconds) |
13:01:53
| * Maciek416 | joined |
13:06:14
| * wolfeidau | quit (Remote host closed the connection) |
13:06:22
| * AvianPhone | joined |
13:06:52
| * Maciek416 | quit (Ping timeout: 265 seconds) |
13:08:13
| <calvinmetcalf> | substack: https://github.com/isaacs/readable-stream/pull/83 |
13:08:24
| <calvinmetcalf> | not **just** bitching about stuff on twitter |
13:10:30
| * wolfeidau | joined |
13:11:55
| * ceejbot | joined |
13:16:00
| * ceejbot | quit (Ping timeout: 240 seconds) |
13:21:31
| * thlorenz | joined |
13:27:32
| * yorick | joined |
13:28:40
| * toddself | joined |
13:33:03
| * toddself | quit (Ping timeout: 244 seconds) |
13:43:25
| * WHARGARBL | changed nick to trodrigues |
13:43:34
| * trodrigues | quit (Changing host) |
13:43:34
| * trodrigues | joined |
13:46:28
| * mikolalysenko | joined |
13:47:19
| <rowbit1> | Hourly usage stats: [developer: 308, free: 44] |
13:49:39
| * nickleefly___ | joined |
13:50:59
| * mikolalysenko | quit (Ping timeout: 240 seconds) |
13:56:36
| * eugeneware | joined |
13:58:18
| * nickleefly___ | part |
14:01:26
| * eugeneware | quit (Ping timeout: 252 seconds) |
14:02:42
| * nickleefly | joined |
14:12:52
| * ceejbot | joined |
14:17:36
| * ceejbot | quit (Ping timeout: 264 seconds) |
14:18:08
| * guybrush | quit (Excess Flood) |
14:18:15
| * guybrush | joined |
14:22:53
| * toddself | joined |
14:23:52
| * peutetre | joined |
14:26:22
| * toddself_ | joined |
14:27:13
| * toddself | quit (Ping timeout: 240 seconds) |
14:47:09
| * mikolalysenko | joined |
14:47:19
| <rowbit1> | Hourly usage stats: [developer: 0, free: 70] |
14:50:48
| * Maciek416 | joined |
14:52:06
| * mikolalysenko | quit (Ping timeout: 244 seconds) |
14:55:37
| * Maciek416 | quit (Ping timeout: 265 seconds) |
14:56:08
| <rowbit1> | substack, pkrumins: At least 10 people waiting in the queue for free servers! (Waiting: 26) |
15:06:30
| * kevino80 | joined |
15:07:13
| * wolfeidau | quit (Ping timeout: 265 seconds) |
15:12:07
| * ceejbot | joined |
15:14:53
| * pfraze | joined |
15:17:34
| <ceejbot> | jlord: yes, they're on SpeakerDeck. https://speakerdeck.com/ceejbot/writing-your-talk |
15:18:21
| * dguttman | joined |
15:23:06
| * Kessler | quit (Ping timeout: 244 seconds) |
15:23:23
| * defunctzombie_zz | changed nick to defunctzombie |
15:24:32
| * naneau | joined |
15:27:59
| * Maciek416 | joined |
15:38:57
| * Kessler | joined |
15:47:19
| <rowbit1> | Hourly usage stats: [developer: 0, free: 60] |
15:47:54
| * mikolalysenko | joined |
15:49:16
| * AvianPhone | quit (Ping timeout: 265 seconds) |
15:50:37
| * AvianPhone | joined |
15:51:10
| * xaq | joined |
15:53:08
| * mikolalysenko | quit (Ping timeout: 265 seconds) |
15:55:04
| * AvianPhone | quit (Ping timeout: 265 seconds) |
15:55:46
| * ceejbot | quit (Remote host closed the connection) |
16:05:59
| * defunctzombie | changed nick to defunctzombie_zz |
16:13:04
| * xaq | quit (Remote host closed the connection) |
16:17:29
| * ednapiranha | joined |
16:22:12
| * AvianFlu | joined |
16:24:50
| * nickleefly | quit (Quit: Connection closed for inactivity) |
16:37:25
| * ceejbot | joined |
16:40:38
| * kumavis_ | joined |
16:43:47
| * ceejbot | quit (Remote host closed the connection) |
16:47:04
| * defunctzombie_zz | changed nick to defunctzombie |
16:47:19
| <rowbit1> | Hourly usage stats: [developer: 0, free: 51] |
16:48:42
| * mikolalysenko | joined |
16:53:31
| * mikolalysenko | quit (Ping timeout: 244 seconds) |
16:56:55
| * eugeneware | joined |
16:57:57
| * calvinfo | joined |
17:00:58
| * eugeneware | quit (Ping timeout: 240 seconds) |
17:02:52
| * mikolalysenko | joined |
17:04:26
| * gozala | joined |
17:04:38
| * Kessler | quit (Ping timeout: 252 seconds) |
17:04:54
| * Kessler | joined |
17:18:38
| * not_a_guest | joined |
17:36:09
| * thlorenz | quit (Remote host closed the connection) |
17:36:32
| * anvaka | joined |
17:36:45
| * thlorenz | joined |
17:37:02
| * thlorenz | quit (Read error: Connection reset by peer) |
17:42:55
| * thlorenz | joined |
17:47:19
| <rowbit1> | Hourly usage stats: [developer: 0, free: 38] |
17:50:14
| * thlorenz | quit (Read error: Connection reset by peer) |
17:50:36
| * thlorenz | joined |
17:59:46
| * defunctzombie | changed nick to defunctzombie_zz |
18:00:53
| * phated | joined |
18:15:27
| <creationix> | so I think I finally realized my problem with tiny npm modules and large npm modules |
18:16:00
| <creationix> | I agree that function-level modularity is ideal for code reuse, but the overhead of creating a package is way too high for such a granular approach |
18:16:49
| <creationix> | I would love an editor where I just created a new module (like I create a new file today) marked it with some metadata like the signature, tags, topic group, etc |
18:17:17
| <creationix> | then whenever I need that code, I search for it locally and it inserts the proper require for it. |
18:17:26
| <Raynos> | thlorenz: https://github.com/thlorenz/doctoc/pull/29 |
18:17:27
| <Raynos> | :D |
18:18:08
| <thlorenz> | Raynos: did you edit this in github? |
18:18:16
| <Raynos> | yes >_>; |
18:19:11
| <thlorenz> | thanks |
18:19:13
| <thlorenz> | pulled |
18:19:24
| <creationix> | Raynos, ever tried editing in tedit yet? |
18:19:34
| <Raynos> | not yet |
18:19:41
| <Raynos> | there is not "edit in tedit" button on github :P |
18:19:54
| <creationix> | nope, there's an edit github button in tedit |
18:23:37
| * cpup | quit (Ping timeout: 240 seconds) |
18:25:29
| * eugeneware | joined |
18:25:47
| <Raynos> | thlorenz: how does https://github.com/thlorenz/doctoc/blob/master/lib/transform.js#L116-L119 work ? |
18:26:29
| <anvaka> | creationix: I built a generator to automate that overhead https://www.youtube.com/watch?v=VKsmKs9DzsE |
18:27:07
| <creationix> | anvaka, but you still need to name the modules and publish them to npm and github right? |
18:27:35
| <anvaka> | creationix: that's right |
18:27:38
| <thlorenz> | Raynos: stupidly right now, I need to fix it so it works more like docme via https://github.com/thlorenz/update-section |
18:27:50
| <Raynos> | thlorenz: I'm writing something that should help :) |
18:27:50
| <thlorenz> | Raynos: at this point the toc has to be at the top of your file ;( |
18:27:58
| <thlorenz> | just use update-section |
18:28:02
| <creationix> | anvaka, yeah, that's still way too much overhead for the kind of workflow I'm looking for |
18:28:09
| <thlorenz> | that'll do it, I just haven't had the time to do it yet |
18:28:19
| <Raynos> | thlorenz: no, I'm using a markdown parser + magic :D |
18:29:19
| <thlorenz> | ah, cool, I'll except PRs as long as all tests pass |
18:29:43
| <thlorenz> | but for replacing update-section would be sufficient |
18:31:54
| <Raynos> | im not sure how I want to do this atm |
18:33:50
| <thlorenz> | Raynos: ok, maybe I'll hack it once I'm in SFO |
18:34:04
| <thlorenz> | the parsing can change independently of it |
18:35:12
| * phated | quit (Read error: Connection reset by peer) |
18:35:33
| * phated | joined |
18:39:24
| * phated | quit (Remote host closed the connection) |
18:39:25
| <Raynos> | thlorenz: https://github.com/thlorenz/doctoc/pull/30 :D |
18:41:02
| * kumavis_ | quit (Quit: Textual IRC Client: www.textualapp.com) |
18:43:04
| * eugeneware | quit (Remote host closed the connection) |
18:43:21
| * thlorenz | quit (Remote host closed the connection) |
18:44:04
| * calvinfo | quit (Quit: Leaving.) |
18:44:35
| * cpup | joined |
18:45:42
| * ceejbot | joined |
18:46:08
| * eugeneware | joined |
18:46:56
| * phated | joined |
18:47:19
| <rowbit1> | Hourly usage stats: [free: 20] |
18:47:29
| * ceejbot | quit (Remote host closed the connection) |
18:49:03
| * phated | quit (Read error: Connection reset by peer) |
18:49:34
| * phated | joined |
18:49:43
| * mikolalysenko | quit (Ping timeout: 252 seconds) |
18:51:06
| * eugeneware | quit (Remote host closed the connection) |
18:54:03
| * mikolalysenko | joined |
18:56:54
| <creationix> | Ok, I'll give medium a try, gists don't seem to work well for explaining concepts |
18:56:55
| <creationix> | https://medium.com/p/d8313c437fe4 |
18:57:09
| <creationix> | my idea (roughly) about micro modules with low overhead |
18:57:20
| * eugeneware | joined |
18:59:37
| * brianloveswords | quit (Ping timeout: 252 seconds) |
19:00:22
| * anvaka | quit (Remote host closed the connection) |
19:00:43
| * brianloveswords | joined |
19:00:52
| * ceejbot | joined |
19:01:37
| * jackass | joined |
19:02:07
| * jackass | part ("Leaving") |
19:14:03
| * phated | quit (Read error: Connection reset by peer) |
19:14:06
| * phated_ | joined |
19:16:21
| * eugeneware | quit (Remote host closed the connection) |
19:18:35
| * eugeneware | joined |
19:20:51
| <Raynos> | thlorenz: i cant do it my way because I have no markdown serializer :( ( https://gist.github.com/Raynos/9374532 ) |
19:22:50
| * Kessler | quit (Ping timeout: 244 seconds) |
19:25:29
| * pfraze | quit (Ping timeout: 252 seconds) |
19:25:30
| * calvinfo | joined |
19:27:06
| * pfraze | joined |
19:28:26
| <chrisdickinson> | creationix: one nit: in chrome/v8 you can hot-rewrite functions |
19:28:45
| <creationix> | cool |
19:28:45
| <chrisdickinson> | (pause execution, rewrite, cmd + s, resume execution) |
19:28:53
| <chrisdickinson> | (works with node as well!) |
19:28:57
| * rxgx | joined |
19:29:23
| * addisonj | joined |
19:31:00
| <creationix> | chrisdickinson, added a note to the post |
19:32:39
| * phated_ | quit (Read error: Connection reset by peer) |
19:33:55
| * phated_ | joined |
19:34:03
| * thlorenz | joined |
19:38:50
| * Kessler | joined |
19:38:50
| * eugeneware | quit (Remote host closed the connection) |
19:39:29
| * eugeneware | joined |
19:43:33
| * eugeneware | quit (Remote host closed the connection) |
19:44:02
| * toddself_ | quit (Remote host closed the connection) |
19:44:21
| * toddself | joined |
19:45:23
| * toddself | quit (Remote host closed the connection) |
19:46:03
| * toddself | joined |
19:47:01
| * phated__ | joined |
19:47:12
| * phated_ | quit (Read error: Connection reset by peer) |
19:47:19
| <rowbit1> | Hourly usage stats: [developer: 10, free: 59] |
19:50:33
| * phated__ | quit (Read error: Connection reset by peer) |
19:50:57
| * toddself | quit (Ping timeout: 265 seconds) |
19:51:00
| * phated_ | joined |
19:51:15
| * fotoverite_ | joined |
19:51:59
| * fotoverite | quit (Ping timeout: 240 seconds) |
19:51:59
| * fotoverite_ | changed nick to fotoverite |
19:52:03
| * thealphanerd | joined |
19:54:12
| * jez0990 | joined |
19:54:43
| <jez0990> | creationix: you saw williamcotton's corslit stuff, right? |
19:54:55
| * feross | joined |
19:55:02
| <jez0990> | http://williamcotton.com/another-way-to-publish-code |
19:55:52
| <jez0990> | function-level modularity and versioning is totally the right approach in the long term |
19:56:25
| <creationix> | jez0990, nice, I haven't come back to this since he was starting it |
19:57:57
| <jez0990> | I'm not sure it will have changed much, but asides from the amd design-decision it's a pretty compelling prototype |
19:59:07
| <creationix> | right, it's not hard at all to scan for require calls |
20:01:54
| <jez0990> | even that's too much, it would be better to visually represent the dependency graph at the same time |
20:02:29
| <jez0990> | perhaps even using icons / drawings for the modules... |
20:02:39
| <creationix> | yeah, I'm all for graphical and automatic dependency graphs |
20:03:00
| <creationix> | code is data is code |
20:03:15
| * naneau | quit (Quit: Part.) |
20:03:16
| <creationix> | that's why I've been playing with using git as a database |
20:03:28
| * kumavis_ | joined |
20:03:28
| <creationix> | like, a normal database, not a code revision control system |
20:05:03
| * kumavis_ | quit (Client Quit) |
20:05:33
| * thealphanerd | quit (Quit: thealphanerd) |
20:07:19
| * ceejbot | quit (Remote host closed the connection) |
20:09:05
| <jez0990> | you mean you've building a pouchdb competitor? |
20:09:21
| <jez0990> | I strongly believe that nearly all human-inputted data should be stored immutably anyway |
20:09:28
| <jez0990> | *you've been |
20:09:54
| <creationix> | more like finding creative ways to use git, I don't care about competing with existing DBs |
20:10:34
| * ralphtheninja | joined |
20:10:45
| * ralphtheninja | part |
20:10:51
| * ceejbot | joined |
20:11:57
| <jez0990> | naturally, competition is orthogonal to the hacker ethos |
20:12:00
| * contrahax | joined |
20:12:25
| * Kessler | quit (Ping timeout: 240 seconds) |
20:14:01
| <creationix> | though it turns out that hacker ethos works better if you have another existing source of income |
20:19:33
| * kevino80 | quit (Remote host closed the connection) |
20:20:10
| * peutetre | quit (Quit: peutetre) |
20:21:53
| * wolfeidau | joined |
20:24:27
| <jez0990> | creationix: you mean more than just in practical terms? |
20:26:12
| <creationix> | I mean, I've been working on open source fill-time for the last year, and despite writing enough code to be easily worth over $250k and giving it away for free, I don't have a way to pay my bills next month. |
20:26:24
| <creationix> | donations and crowd-funding aren't enough |
20:26:58
| * toddself | joined |
20:28:02
| <creationix> | ideally, I would write code that's worth value and the people who benifit from the code would share the cost so I can keep writing more |
20:28:08
| <creationix> | but that's not the world we live in |
20:28:51
| <creationix> | though I do believe we'll get there some day |
20:29:26
| <ogd> | i forget, if i am a transform stream and i have an error, am i supposed to do me.emit('error', err) and me.destroy() ? |
20:29:50
| <ogd> | or do i just do me.emit('error', err) |
20:30:17
| * peutetre | joined |
20:30:51
| * xaq | joined |
20:31:29
| * toddself | quit (Ping timeout: 240 seconds) |
20:33:06
| * xaq | quit (Read error: Connection reset by peer) |
20:33:13
| * xaq_ | joined |
20:34:22
| * Kessler | joined |
20:36:12
| <substack> | ogd: just emit error |
20:36:13
| <chrisdickinson> | ogd: i think destroy is handled for you |
20:37:17
| * xaq | joined |
20:37:35
| <ogd> | mmk sweet |
20:37:46
| * xaq_ | quit (Read error: Connection reset by peer) |
20:37:58
| * mikolalysenko | quit (Ping timeout: 240 seconds) |
20:43:51
| * xaq | quit (Read error: Connection reset by peer) |
20:44:21
| * xaq | joined |
20:45:30
| * kevino80 | joined |
20:45:43
| * defunctzombie_zz | changed nick to defunctzombie |
20:46:04
| * abiraja | joined |
20:47:19
| <rowbit1> | Hourly usage stats: [developer: 4, free: 47] |
20:48:19
| * DTrejo | joined |
20:50:14
| * ceejbot | quit (Remote host closed the connection) |
20:51:27
| * ceejbot | joined |
20:54:03
| * wolfeidau | quit (Ping timeout: 252 seconds) |
20:56:38
| * feross | quit (Ping timeout: 240 seconds) |
21:00:25
| * kevino80 | quit (Remote host closed the connection) |
21:05:53
| * phated_ | quit (Remote host closed the connection) |
21:11:24
| * DTrejo | quit (Remote host closed the connection) |
21:14:09
| * funkytek | joined |
21:14:10
| * ednapira_ | joined |
21:14:36
| * ednapira_ | changed nick to ednapiranha_ |
21:16:59
| * ednapiranha | quit (Ping timeout: 264 seconds) |
21:17:01
| * Kessler | quit (Ping timeout: 244 seconds) |
21:17:53
| * ednapiranha_ | changed nick to ednapiranha |
21:19:30
| * kummer | joined |
21:21:15
| * toddself | joined |
21:22:52
| * kevino80 | joined |
21:23:02
| * thealphanerd | joined |
21:25:29
| * toddself | quit (Ping timeout: 240 seconds) |
21:30:56
| * DTrejo | joined |
21:32:34
| <jesusabdullah> | yo thlorenz it sounds like we're gonna be chillin' Thurs/Fri |
21:32:51
| <jesusabdullah> | and figuring out how to make our API work for you... should be EXCITING |
21:33:10
| <thlorenz> | jesusabdullah: cool, I'm gonna be in SFO though :) |
21:33:15
| <jesusabdullah> | oh crap |
21:33:17
| <jesusabdullah> | that's right |
21:33:18
| <jesusabdullah> | talk? |
21:33:22
| <jesusabdullah> | conf, rather? Which? |
21:33:24
| <thlorenz> | yes |
21:33:28
| <thlorenz> | jsfest |
21:33:35
| <thlorenz> | speaking at rejectjs |
21:33:47
| <terinjokes> | thlorenz: oh, right you're here? |
21:34:02
| <thlorenz> | terinjokes: not yet coming in tomorrow afternoon around 3 |
21:34:21
| <terinjokes> | thlorenz: nice! |
21:34:45
| * defunctzombie | changed nick to defunctzombie_zz |
21:35:27
| * peutetre | quit (Quit: peutetre) |
21:37:57
| * peutetre | joined |
21:44:03
| <pkrumins> | new blog post about how we deploy code at browserling/testling with ploy: http://www.catonmat.net/blog/ploy-deployment-at-browserling/ |
21:46:56
| <marcello3d> | who all here is going to jsfest? just relearned about it (saw it a few months back but forgot)---trying to see if I can get tickets but not sure what things to go to |
21:47:19
| <rowbit1> | Hourly usage stats: [developer: 4, free: 47] |
21:50:13
| * rxgx | quit (Quit: Connection closed for inactivity) |
21:52:05
| * phated_ | joined |
21:56:55
| * phated_ | quit (Remote host closed the connection) |
22:05:19
| <marcello3d> | alright. picked TEoE, SUaD, DHTMLConf, and RejectJS |
22:06:14
| * xaq | quit (Remote host closed the connection) |
22:07:01
| <terinjokes> | thlorenz: going to DHTMLConf? |
22:10:32
| * toddself | joined |
22:20:03
| * peutetre | quit (Quit: peutetre) |
22:20:20
| * wolfeidau | joined |
22:20:52
| <DTrejo> | marcello3d: I am! |
22:22:27
| * taterbase | joined |
22:22:29
| <marcello3d> | right on! which ones? |
22:29:08
| * feross | joined |
22:31:44
| * mikolalysenko | joined |
22:34:50
| * thlorenz | quit (Remote host closed the connection) |
22:35:33
| * wolfeidau | quit (Remote host closed the connection) |
22:35:56
| * tilgovi | joined |
22:37:09
| * kevino80 | quit (Remote host closed the connection) |
22:37:55
| * eugeneware | joined |
22:44:45
| <mikolalysenko> | rvagg: I want to get started on building a workshopper for glslify/gl-modules |
22:45:00
| <mikolalysenko> | do you have any recommendations on how to get workshopper running within a browser window? |
22:45:16
| <mikolalysenko> | ie, is there some sort of in browser testing harness that works nicely with workshopper? |
22:45:18
| * dominictarr | joined |
22:47:19
| <rowbit1> | Hourly usage stats: [free: 24] |
22:49:03
| <dominictarr> | substack, ogd hey anyone want to ride bikes to mexico after nodeconf? |
22:52:52
| * tilgovi_ | joined |
22:53:18
| * tilgovi | quit (Ping timeout: 240 seconds) |
22:54:12
| * phated_ | joined |
22:54:58
| * djcoin | quit (Quit: WeeChat 0.4.2) |
22:57:01
| * phated_ | changed nick to phated |
23:03:21
| * kummer | quit (Ping timeout: 252 seconds) |
23:09:05
| * wolfeidau | joined |
23:09:36
| <chrisdickinson> | mikolalysenko: i'd like to help with that process |
23:09:48
| * ednapiranha | quit (Remote host closed the connection) |
23:10:33
| <chrisdickinson> | are you thinking that the workshop would operate entirely in browser? |
23:11:00
| <chrisdickinson> | (i.e., no CLI outside of "start running the workshopper!") |
23:13:05
| <chrisdickinson> | or would it be a mixed mode -- where verify pops open a browser window with your code and runs a canvas-verify module of some sort? |
23:13:41
| * phated | quit (Remote host closed the connection) |
23:15:32
| * toddself | quit (Remote host closed the connection) |
23:18:17
| * ednapiranha | joined |
23:18:44
| <mikolalysenko> | chrisdickinson: I'm open to ideas |
23:18:59
| <mikolalysenko> | chrisdickinson: I was thinking about something kind of like a beefy interface |
23:19:12
| <mikolalysenko> | though maybe it could be integrated into a webpage and hosted on modules.gl |
23:19:38
| <mikolalysenko> | (also I need to revisit the dns hosting records for that and somehow get it working on gh-pages) |
23:19:47
| <chrisdickinson> | i was thinking along the beefy lines too -- i.e., `gl-workshopper verify program.js` would run beefy and pop open a window |
23:19:55
| <mikolalysenko> | yeah |
23:20:08
| <chrisdickinson> | and the verification bits would be "render into this offscreen canvas at a known h/w", perhaps, and compare |
23:20:27
| <mikolalysenko> | right, though it might be fun to have it draw some stuff to the browser window |
23:20:33
| <mikolalysenko> | so people could see the effects of their code |
23:20:40
| <chrisdickinson> | oh yeah |
23:20:48
| <chrisdickinson> | maybe have it mirror the commands to both somehow? |
23:20:54
| <chrisdickinson> | or only do the offscreen drawing on verify? |
23:20:57
| <mikolalysenko> | that could be neat |
23:21:10
| <mikolalysenko> | so I'm kind of two minds on the issue |
23:21:17
| <mikolalysenko> | on the one hand, editing text files in a browser sucks |
23:21:36
| <mikolalysenko> | and so it is better to let people just do that stuff using whatever system they like on their local computer |
23:21:45
| <mikolalysenko> | especially so they can save and review their progress |
23:22:02
| <mikolalysenko> | on the other hand though, it would be nice to have an in browser tutorial of some form |
23:22:18
| <mikolalysenko> | that could also work as a way to introduce people to glslify etc. |
23:22:27
| * chrisdickinson | nods |
23:22:29
| <mikolalysenko> | since you could just run some of the early examples in a page |
23:22:47
| * phated | joined |
23:22:51
| <chrisdickinson> | what about using something like exterminate? |
23:22:58
| <mikolalysenko> | hmm, how does that work? |
23:23:09
| <chrisdickinson> | where the workshopper runs entirely in browser, but the default interface is just a shell |
23:23:35
| <chrisdickinson> | that way verify could just plop iframes into the current window running the code |
23:23:39
| <mikolalysenko> | ah, I see |
23:23:45
| <mikolalysenko> | that could be really cool |
23:24:05
| <chrisdickinson> | the one downside i can see is that it distances folks from "how do i run this code" |
23:24:09
| <mikolalysenko> | yeah... |
23:24:14
| <mikolalysenko> | maybe simpler is better here |
23:24:32
| <mikolalysenko> | just have them run the workshopper, it pops up a window and draws some stuff |
23:24:39
| <mikolalysenko> | the results get read back from a local server |
23:25:12
| <mikolalysenko> | at least it gives us something to work from |
23:25:17
| * chrisdickinson | nods |
23:25:33
| <mikolalysenko> | and if the test cases are written against a generic interface, the rest of the details shouldn't matter too much if we change them |
23:25:51
| <mikolalysenko> | the other issue is the order in which to present the material |
23:25:56
| <chrisdickinson> | the bit that would be neat is to have (at the end of this) a way to test glslify modules |
23:26:00
| <mikolalysenko> | yeah |
23:26:04
| <mikolalysenko> | exactly what I was thinking |
23:26:22
| <mikolalysenko> | basically first do a set of lessons that just introduce glsl/glslify |
23:26:38
| <mikolalysenko> | starting from basic syntax and types, etc. |
23:26:48
| <mikolalysenko> | then writing fragment -> vertex shaders -> using modules |
23:27:04
| <mikolalysenko> | once that is done, then introduce the webgl modules |
23:27:32
| * chrisdickinson | nods |
23:27:36
| <chrisdickinson> | "here's how you draw a triangle" |
23:27:44
| <chrisdickinson> | should we grab prior art from nehe, perhaps? |
23:28:01
| <mikolalysenko> | nah, not sure if nehe is a great idea |
23:28:19
| <chrisdickinson> | well, to rephrase: borrow the progression of lessons from nehe |
23:28:47
| <mikolalysenko> | not really a huge fan of that, I think nehe follows gl1.0 too closely and goes off into the weeds pretty quickly |
23:29:23
| <mikolalysenko> | probably a saner progression is to start with shaders and related syntax, introduce buffers and basic drawing commands, then move onto textures, fbos, etc. |
23:29:41
| <mikolalysenko> | just focus on explaining the capabilities of the drawing api before getting into 3d matrix math |
23:29:42
| * maksimlin | joined |
23:29:42
| <chrisdickinson> | interesting |
23:29:49
| * collypops | joined |
23:30:12
| * wolfeida_ | joined |
23:30:12
| <chrisdickinson> | i.e., start with fragment shaders, then vertex, then drawing commands? |
23:30:17
| <mikolalysenko> | yep |
23:30:20
| * ednapiranha | quit (Remote host closed the connection) |
23:30:21
| <chrisdickinson> | sounds good |
23:30:30
| <chrisdickinson> | gets people drawing things immediately |
23:30:32
| <mikolalysenko> | make sure everyone understands basic 2d drawing 100% before introducing 3d concepts |
23:30:35
| <mikolalysenko> | yeah |
23:30:48
| <mikolalysenko> | since really before you can understand 3d you need to understand all the basics first |
23:30:49
| <chrisdickinson> | and sets up fragment shaders as "this is how you draw onto a surface" |
23:31:09
| <mikolalysenko> | yeah, or more to the point think of fragment shader as tiny programs that run on the gpu |
23:31:17
| * chrisdickinson | nods |
23:31:21
| <mikolalysenko> | it is also good to get used to the weirdness of shaders right away |
23:31:32
| <mikolalysenko> | the main sticking point is that all computations in shaders are finite |
23:31:38
| <mikolalysenko> | so no loops and no dynamic memory |
23:31:46
| <chrisdickinson> | it might be good to have a glsl linter module by then |
23:31:52
| <chrisdickinson> | so we can give folks intelligent feedback |
23:31:52
| <mikolalysenko> | once you understand that and get used to the syntax it is easy to compute with them |
23:32:13
| <mikolalysenko> | a linter could be nice, but maybe lower priority |
23:32:24
| <chrisdickinson> | (since you can loop, but you have to be looping up to a constant) |
23:32:45
| <mikolalysenko> | right |
23:32:49
| <mikolalysenko> | all loops must terminate in glsl |
23:33:03
| <mikolalysenko> | same with recursion and so on |
23:33:13
| * wolfeidau | quit (Ping timeout: 240 seconds) |
23:34:04
| <mikolalysenko> | I think if you just stick to glsl you can introduce all the basic stuff, like the different types, texture memory, and possibly even basic gpgpu stuff |
23:34:20
| <substack> | I think agda or coq is the same way |
23:34:21
| <mikolalysenko> | like the final exercise for glslify could be to implement a gpu based game of life or similar cellular automata |
23:34:27
| <substack> | enforcing non-halting behavior |
23:35:21
| * phated | quit (Remote host closed the connection) |
23:35:39
| <chrisdickinson> | hmm |
23:36:08
| <chrisdickinson> | i think a lot of it should be in glsl, but it'd be desirable to move out of it after about 2-3 lessons and show how things are wired up at the js level |
23:36:23
| <mikolalysenko> | eventually yes |
23:36:46
| <chrisdickinson> | it'd be cool for the final lesson to be wiring up your own voxel clone :) |
23:36:55
| <mikolalysenko> | but I think learning how to use things before learning how to wire them up might be easier |
23:37:06
| <mikolalysenko> | since you only have to learn one thing at a time instead of two |
23:38:10
| * phated | joined |
23:38:11
| <mikolalysenko> | by the end of the glslify workshop, they should have a basic enough understanding to create stuff on shader toy for example |
23:38:37
| <mikolalysenko> | or at least get some crude examples working |
23:41:22
| * substack | built an implicit surface solver once in glsl using macros >:D |
23:41:57
| <substack> | still on github but I would be hard-pressed to find it |
23:43:04
| <substack> | mikolalysenko: hah when I search "implicit surface" something you made is #1 in the results |
23:44:13
| <mikolalysenko> | substack: haha |
23:44:25
| * wolfeida_ | quit (Remote host closed the connection) |
23:45:23
| <mikolalysenko> | I just tried it, but #1 is some irrelevant thing |
23:45:56
| * wolfeidau | joined |
23:46:29
| * toddself | joined |
23:46:53
| * wolfeidau | quit (Remote host closed the connection) |
23:47:19
| <rowbit1> | Hourly usage stats: [free: 31] |
23:53:16
| * phated | quit (Remote host closed the connection) |
23:54:43
| * wolfeidau | joined |
23:56:28
| <mikolalysenko> | chrisdickinson: so thinking about glslify from the perspective of glsl first, it might be fun to have students first do a full set of glsl activities, then in the second part go through and hook up their solutions to handle all the webgl plumbing |
23:56:39
| <mikolalysenko> | like part 1 = glslify tutorial, just write shaders |
23:56:49
| * ednapiranha | joined |
23:56:49
| <mikolalysenko> | and part 2 = take stuff from part 1 and glue it all together |
23:57:11
| <chrisdickinson> | that would be neat |
23:57:39
| <mikolalysenko> | that way they would only have to debug one thing at a time as they are writing their code |
23:58:03
| <chrisdickinson> | i think one thing i liked about nehe (from way, way, *way* back) was that often the lessons were springboards for things i wanted to build anyway |
23:58:03
| <chrisdickinson> | in particular "here's how you do fps controls" was pretty rad |
23:58:29
| <chrisdickinson> | but having a few of those mixed into the latter workshop would be grand, and i think it would get people excited to take what they learned and build on it |
23:58:34
| <mikolalysenko> | yeah |
23:58:51
| <mikolalysenko> | I think somewhere in there we have to talk about clip coordinates |
23:58:53
| <chrisdickinson> | re: the glslify tutorial, how would you go about integrating the vertex shader? |
23:59:05
| <mikolalysenko> | just have them write two shaders |
23:59:18
| <chrisdickinson> | ah, cool |
23:59:29
| <mikolalysenko> | it might also be the right time to bring in clipping/transformations |
23:59:50
| <mikolalysenko> | vertex shaders also introduce the concept of attributes and varying variables |
23:59:56
| <chrisdickinson> | yep |