00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:03:41  <chapel>Weather for San Francisco, Argentina · 53°F (12°C) · Humidity: 30% · Partly Cloudy · Wind: West at 0 mph
00:03:44  <chapel>Weather for San Francisco, CA · 61°F (16°C) · Humidity: 60% · Mostly Cloudy · Wind: West at 25 mph
00:07:28  <jesusabdullah>are you in sanfer sisco now?
00:07:59  * calvinfo_quit (Ping timeout: 245 seconds)
00:09:16  * mikolalysenkojoined
00:09:38  <chapel>not until saturday
00:09:45  * thl0quit (Remote host closed the connection)
00:09:48  <chapel>wont get into town until 11pm though lol
00:10:06  <chapel>jesusabdullah: are you in anchorage?
00:10:11  <jesusabdullah>yes
00:10:27  <chapel>jesusabdullah: I really want to make a trip back to ak soonish, its been a long time (since I graduated in 2001)
00:10:43  <chapel>when I make it back up there, we should grab some beers
00:11:11  <chapel>though I don't expect it will be this year lol
00:13:55  * no9quit (Ping timeout: 246 seconds)
00:15:57  <jesusabdullah>chapel: yeah if I stay up here, haven't though very far ahead here
00:16:10  <chapel>yeah, where would you go otherwise?
00:16:14  <chapel>back down to the bay?
00:17:50  <jesusabdullah>yeah maybe
00:19:17  <chapel>are you working now?
00:19:42  * calvinfo_joined
00:20:37  <jesusabdullah>yeah
00:22:10  <jesusabdullah>like, literally working right now
00:23:47  * st_lukequit (Remote host closed the connection)
00:23:49  * nodepdx-irctermjoined
00:23:53  <nodepdx-ircterm>hello from #nodepdx
00:23:56  <jesusabdullah>what ur doin here
00:24:01  <jesusabdullah>hello friends
00:24:12  <nodepdx-ircterm>RELAYIN SOME CHATS BRO
00:24:12  <LOUDBOT>YARRR I'M A ROAD KILL BUTT PIRATE
00:24:14  <jesusabdullah>sorry I don't attend conferences
00:24:23  <jesusabdullah>IM SURE YOU ARE ALL VERY UPSET I AM NOT THERE
00:24:23  <LOUDBOT>THIS APP IS TOO EASY TO USE. I WISH THE DEVELOPERS WOULD SPEND SOME TIME CREATING A HORRIBLE UI INSTEAD OF USING THE SYSTEM FRAMEWORKS
00:24:33  <nodepdx-ircterm>MAN I WISH JESUSABDULLAH WERE HERE
00:24:34  <LOUDBOT>I PLAN TO DIG UP MARY TODD LINCOLN, REVIVE HER CORPSE AND ASK HER HOW THE FUCKING PLAY WAS
00:24:52  <jesusabdullah>GO HOME LOUDBOT YOU'RE WRITTEN IN PERL
00:24:52  <LOUDBOT>IT'S FUCKING BROKEN!
00:25:07  <nodepdx-ircterm>:( too loud for my tastes
00:25:33  <jesusabdullah>also not enough nodes
00:25:50  <nodepdx-ircterm>perl is a pearl
00:27:12  <jesusabdullah>but is it fun like javascript? ;)
00:28:34  * thl0joined
00:29:15  <nodepdx-ircterm>aybe
00:29:17  <nodepdx-ircterm>maybe
00:29:21  <jesusabdullah>IT IS A MYSTERY
00:29:22  <LOUDBOT>OMG I FINISHED THE FUCKING FORM
00:29:28  <jesusabdullah>^5 loudbawt
00:29:30  <nodepdx-ircterm>finally, loudbot
00:33:28  * dominictarrquit (*.net *.split)
00:33:29  * owenb_quit (*.net *.split)
00:33:30  * mirkok_quit (*.net *.split)
00:33:30  * vitorpachecoquit (*.net *.split)
00:33:31  * brianloveswordsquit (*.net *.split)
00:33:31  * elliottcable__quit (*.net *.split)
00:33:32  * zuquit (*.net *.split)
00:33:32  * mirkokquit (*.net *.split)
00:33:32  * purrquit (*.net *.split)
00:33:33  * farnsworthquit (*.net *.split)
00:33:33  * Altreusquit (*.net *.split)
00:33:33  * jlordquit (*.net *.split)
00:33:34  * ryan2quit (*.net *.split)
00:33:35  * chapelquit (*.net *.split)
00:33:36  * mint_xianquit (*.net *.split)
00:33:36  * creationixquit (*.net *.split)
00:33:36  * gozalaquit (*.net *.split)
00:33:36  * juliangruberquit (*.net *.split)
00:33:37  * tim_smartquit (*.net *.split)
00:33:37  * ehdquit (*.net *.split)
00:33:37  * sorensenquit (*.net *.split)
00:33:38  * niftylettucequit (*.net *.split)
00:33:38  * dguttmanquit (*.net *.split)
00:33:39  * hij1nxquit (*.net *.split)
00:33:39  * mbalhoquit (*.net *.split)
00:33:39  * nk109quit (*.net *.split)
00:33:39  * jjjjohnn1yquit (*.net *.split)
00:33:40  * elliottcablequit (*.net *.split)
00:33:42  * timoxleyquit (*.net *.split)
00:33:42  * saijanai_quit (*.net *.split)
00:33:42  * kenperkinsquit (*.net *.split)
00:33:42  * jaz303_quit (*.net *.split)
00:33:43  * gildeanquit (*.net *.split)
00:33:43  * jez0990_quit (*.net *.split)
00:33:44  * pikpikquit (*.net *.split)
00:33:44  * shadghostquit (*.net *.split)
00:33:44  * isaacsquit (*.net *.split)
00:33:45  * pkruminsquit (*.net *.split)
00:33:45  * chrisdickinsonquit (*.net *.split)
00:35:00  * mikolalysenkoquit (Quit: Reconnecting)
00:38:19  * timoxleyjoined
00:38:19  * saijanai_joined
00:38:19  * kenperkinsjoined
00:38:19  * jaz303_joined
00:38:19  * gildeanjoined
00:38:19  * jez0990_joined
00:38:19  * pikpikjoined
00:38:19  * shadghostjoined
00:38:19  * isaacsjoined
00:38:19  * pkruminsjoined
00:38:19  * chrisdickinsonjoined
00:39:19  * saijanai_quit (Remote host closed the connection)
00:39:29  * nodepdx-irctermchanged nick to jden_
00:41:23  * mikolalysenkojoined
00:41:28  * jden_quit (Quit: WeeChat 0.4.0)
00:45:54  * nodepdx-irctermjoined
00:51:41  * yorickquit (Remote host closed the connection)
00:52:00  * ricardobeatjoined
00:52:20  * dominictarr1joined
00:52:20  * dguttmanjoined
00:52:20  * hij1nxjoined
00:52:20  * mbalhojoined
00:52:20  * nk109joined
00:52:20  * jjjjohnn1yjoined
00:52:20  * elliottcablejoined
00:52:46  * 18VAA48G4joined
00:52:46  * chapeljoined
00:52:46  * farnsworthjoined
00:52:46  * vitorpachecojoined
00:52:46  * Altreusjoined
00:52:46  * brianloveswordsjoined
00:52:46  * jlordjoined
00:52:46  * mint_xianjoined
00:52:46  * ryan2joined
00:52:46  * creationixjoined
00:52:46  * gozalajoined
00:52:46  * juliangruberjoined
00:52:46  * niftylettucejoined
00:52:46  * sorensenjoined
00:52:46  * ehdjoined
00:52:46  * tim_smartjoined
00:52:46  * elliottcable__joined
00:52:46  * zujoined
00:52:46  * mirkokjoined
00:52:46  * purrjoined
00:52:56  * elliottcablequit (Max SendQ exceeded)
00:53:32  * saijanai_joined
00:53:51  * elliottcablejoined
00:54:11  * 18VAA48G4quit (Ping timeout: 252 seconds)
00:55:08  * mikolalysenkoquit (Ping timeout: 256 seconds)
00:55:24  * st_lukejoined
00:58:41  * ricardobeatquit (Ping timeout: 252 seconds)
00:58:49  * ralphtheninjaquit (Ping timeout: 256 seconds)
00:58:51  * st_lukequit (Remote host closed the connection)
00:59:22  <wolfeidau>dominictarr1: Did you see the v8 performance session posted earlier today? Very very good guide to tools
00:59:45  * dguttmanquit (Quit: dguttman)
01:04:55  * thl0quit (Remote host closed the connection)
01:10:47  * mikolalysenkojoined
01:13:52  * kevino80joined
01:31:15  * fotoveritequit (Quit: fotoverite)
01:43:02  <jesusabdullah>substack: did you know that alaska's governor was a lawyer representing Exxon during Valdez oil spill litigation?
01:51:52  * jxsonquit (Remote host closed the connection)
02:09:12  * fotoveritejoined
02:13:00  * nicholasfquit (Remote host closed the connection)
02:13:18  * AvianFlujoined
02:13:22  * kevino80quit (Remote host closed the connection)
02:15:13  * fotoveritequit (Quit: fotoverite)
02:20:41  <substack>jesusabdullah: I don't even know who AK's governor is these days.
02:20:52  <jesusabdullah>substack: SEAN PARNELL
02:21:16  <jesusabdullah>substack: THE MORE YOU KNOW ★===
02:23:20  * owenb_joined
02:30:05  <AvianFlu>jesusabdullah: DAMN IT, MAN, YOUR STAR IS POINTING THE WRONG WAY
02:33:38  * jolissjoined
02:36:58  <jesusabdullah>YOUR star is pointing the wrong way
02:37:01  <jesusabdullah>Avian Flu !
02:37:07  <jesusabdullah>how are you btw?
02:37:22  <AvianFlu>currently in a hotel room in manchester, NH
02:37:43  <AvianFlu>I've been worse lol
02:38:48  <jesusabdullah>why are you in new hampshire ??
02:38:58  <AvianFlu>you know Dyn?
02:39:01  <AvianFlu>like DynDNS?
02:39:17  <AvianFlu>I taught a node workshop at their HQ (which is here) for a bunch of college kids today
02:39:25  <AvianFlu>doing more tomorrow
02:39:30  <AvianFlu>it like, precedes a hackathon
02:41:09  <AvianFlu>there appear to be several significant tech companies based here, I was quite surprised
02:41:21  <jesusabdullah>huh
02:41:23  <jesusabdullah>yeah I know Dyn
02:41:32  <jesusabdullah>did not expect them to be in NH not gonna lie
02:41:34  <AvianFlu>their offices are pretty leet
02:41:38  <jesusabdullah>cool
02:41:43  <AvianFlu>but yeah, they're in manchester, and I'm kinda shocked too
02:41:50  <AvianFlu>but hey, it's probably cheap here
02:41:59  <AvianFlu>and this time of year it's nice
02:42:31  <jesusabdullah>It's chilly up here for May, even by Alaska standards
02:42:44  <AvianFlu>it was like high 70s here today
02:42:48  <AvianFlu>supposed to have been 80 in NY
02:43:07  <jesusabdullah>http://www.nenanaakiceclassic.com/ This is a month late so far
02:43:16  <jesusabdullah>jackpot usually hits sometime in April
02:45:20  <AvianFlu>I mean
02:45:21  <AvianFlu>what is that?
02:47:36  <jesusabdullah>It's a, umm, contest? I guess? Where people buy tickets and guess when the ice on the Nenana River is going to give out
02:48:03  <AvianFlu>that makes sense
02:48:04  <jesusabdullah>and when the tripod moves sufficiently downstream to trigger the sensors and the date/time is called, the closest ticket(s) wins
02:48:10  <AvianFlu>sort of like guessing when the first snowfall is
02:48:13  <jesusabdullah>yeah
02:48:15  <AvianFlu>BUT SO MUCH MORE ALASKAN
02:48:16  <LOUDBOT>SOUND GOES SLOWER IN A VACUUM, I AM PRETTY SURE
02:48:24  <jesusabdullah>and it's mid-may and the river is still frozen
02:48:29  <AvianFlu>gnar
02:48:31  <jesusabdullah>yeah
02:48:35  <AvianFlu>yeah, I saw the ice measurements
02:48:40  <AvianFlu>shit's still 40"
02:48:46  <jesusabdullah>yeah
02:49:11  <AvianFlu>you know what they say, though
02:49:14  <AvianFlu>NENANA-NA
02:50:25  <jesusabdullah>Or what they REALLY say
02:50:36  <jesusabdullah>"Nonono Nenana rhymes with banana, Tanana doesn't"
02:51:17  <jesusabdullah>along with "Oh geez they pronounced Valdez like it's Spanish they're obviously from out-of-state"
02:51:31  <AvianFlu>I mean
02:51:38  <AvianFlu>how do you northerners say it?
02:51:54  <AvianFlu>also, did you get many whitewalkers north of the wall this winter? #trollolol
02:51:55  <jesusabdullah>Vowel-dease
02:52:07  <jesusabdullah>well
02:52:11  <jesusabdullah>the deez part anyway
02:52:19  * jxsonjoined
02:52:26  <jesusabdullah>Tanana is TAN uh naw
02:52:32  <jesusabdullah>TAN nuh naw
02:52:33  <jesusabdullah>maybe
02:52:34  <jesusabdullah>yeah
02:52:44  <jesusabdullah>and Nenana is Knee nanna
02:54:21  <jesusabdullah>funny thing is, I never really realized it until recently but Valdez was named after a Spanish dude when the Spaniards sent explorers to prince william sound
02:54:29  <jesusabdullah>so we totally butchered that one (good job)
02:56:41  * jxsonquit (Ping timeout: 256 seconds)
02:59:41  <AvianFlu>no worse than they do in LA
03:00:41  * timoxleyquit (Quit: Computer has gone to sleep.)
03:04:24  * tmcwjoined
03:05:11  <jesusabdullah>AvianFlu: yeah XD
03:05:36  <jesusabdullah>AvianFlu: my favorite is in Austin they say San Jacinto like, "san juh SIN toe"
03:05:45  <jesusabdullah>AvianFlu: it's a street there
03:06:07  <AvianFlu>well I mean look at arguello in SF
03:06:11  <AvianFlu>"arg wello"
03:06:32  <jesusabdullah>lol yeah
03:06:46  <jesusabdullah>There's an "authentic Mexican" restaurant in AK called Gallos
03:06:49  <jesusabdullah>guess how they say it
03:06:56  <jesusabdullah>"gallows"
03:07:06  <AvianFlu>yeah I was gonna say LIKE THE THING THEY HANG PEOPLE FROM
03:07:17  <jesusabdullah>lol yup
03:07:29  <jesusabdullah>ugh I hate deploys
03:08:37  * tmcwquit (Remote host closed the connection)
03:10:00  <jesusabdullah>Counselor Troi: "There's life on board but it's totally fucked somehow"
03:11:27  <AvianFlu>lolololol
03:11:42  * thl0joined
03:11:53  <jesusabdullah>Worf: "This was done with a phaser on a setting of 'srs fkn bsns'
03:12:53  * mikolaly1enkojoined
03:14:31  <AvianFlu>Worf, continued: "It was *not* done with honor."
03:15:42  <jesusabdullah>Alexander.
03:16:14  * mikolalysenkoquit (Ping timeout: 256 seconds)
03:27:29  * mikolaly1enkoquit (Ping timeout: 248 seconds)
03:34:46  * kenperkinsquit (Quit: Computer has gone to sleep.)
03:39:21  * kenperkinsjoined
03:43:44  * mikolalysenkojoined
03:47:21  * AvianFluquit (Remote host closed the connection)
03:57:42  * vitorpachecoquit (Remote host closed the connection)
04:00:26  * timoxleyjoined
04:00:57  * thl0quit (Remote host closed the connection)
04:01:51  * FireFlyquit (Ping timeout: 256 seconds)
04:02:18  * vitorpachecojoined
04:03:09  <jjjjohnn1y>hey you guuuys
04:03:24  <nodepdx-ircterm>hi jjjjohnn1y
04:03:34  <jjjjohnn1y>woo
04:03:45  <jjjjohnn1y>nodepdx-ircterm: http://secret.synth.fm
04:04:24  <nodepdx-ircterm>jjjjohnn1y: I can't actually open that. I'm on a BitchX terminal (it appears) with no actual web browser.
04:04:34  <nodepdx-ircterm>The people behind me say hello. Nexxy said hi.
04:04:56  <jjjjohnn1y>BitchX Terminals!
04:05:08  <jjjjohnn1y>watsup nexxy :^*
04:05:51  <jjjjohnn1y>well if aughtbody wanna play with a live scripter web audio thingy there it is
04:11:59  * tilgovijoined
04:13:32  * nicholasfjoined
04:14:54  <nodepdx-ircterm>jjjjohnn1y: whats up
04:15:04  <nodepdx-ircterm>jjjjohnn1y: maxogden here
04:15:19  <nodepdx-ircterm>jjjjohnn1y: at the NODECONF
04:15:22  <nodepdx-ircterm>err nodepdx
04:16:19  <jjjjohnn1y>heyo
04:16:45  <jjjjohnn1y>nodepdx-ircterm: whats with the orcterm thingy
04:17:05  <jjjjohnn1y>ya'll in the dark, sharing one ssh like candleight?
04:17:41  * nicholasfquit (Ping timeout: 248 seconds)
04:18:57  <jjjjohnn1y>neat https://github.com/mothran/bunny
04:28:09  * douglaslassancejoined
04:29:04  * timoxleyquit (Quit: Textual IRC Client: www.textualapp.com)
04:31:25  <jjjjohnn1y>mikolalysenko: i have tweaked mbalho's javascript editor at http://secret.synth.fm
04:33:04  <nodepdx-ircterm> ping
04:33:15  <nodepdx-ircterm>all your closures are belong to us
04:33:21  <nodepdx-ircterm>FUCKING PING
04:33:21  <LOUDBOT>WELL JOANNA AND JERCOS WERE ACTIONING AT EACH OTHER
04:33:28  <jjjjohnn1y>you can have em
04:33:36  <nodepdx-ircterm>battle of algiers vs. rules of the game
04:33:50  <nodepdx-ircterm>this shit is important
04:33:56  <nodepdx-ircterm>don't hold out on me people
04:34:05  <nodepdx-ircterm>drop whatever useless shit you're doing and answer me
04:34:10  <nodepdx-ircterm>use. less. shit.
04:35:06  <jjjjohnn1y>lol OK PORTLAND
04:35:33  <jjjjohnn1y>upcycle right
04:36:14  <jesusabdullah>waiting for starfleet to find out that the traiter on board the enterprise is the betazoid inquisitor
04:44:24  * kenperkinsquit (Quit: Computer has gone to sleep.)
04:44:44  * jolissquit (Quit: joliss)
04:47:41  <jesusabdullah>dangit was hoping
04:57:39  * fotoveritejoined
04:58:02  * thl0joined
05:04:43  <nodepdx-ircterm>"This is a remix of one of our own songs" may be one of the douchiest things I have ever heard.
05:05:41  * timoxleyjoined
05:05:51  <jesusabdullah>is it?
05:05:53  <jesusabdullah>I mean
05:05:58  <jesusabdullah>I'd remix one of my own songs
05:06:05  <jesusabdullah>and be like, "hey I thought this was kinda cool"
05:07:52  <jjjjohnn1y>nodepdx-ircterm: yeah same with bloggers requoting they earlier blog posts
05:08:12  <nodepdx-ircterm>I found a fruit basket with strawberries at the bottom!
05:08:29  <jjjjohnn1y>[CITATION NEEDED]
05:08:30  <LOUDBOT>ARE YOU STILL TRYING TO MAKE SENSE?
05:09:46  * mikolalysenkoquit (Ping timeout: 276 seconds)
05:11:12  <nodepdx-ircterm>Magners is supposed to be a step above Strongbow, but really I like Strongbow better.
05:11:34  <jjjjohnn1y>fuck is this brand shit
05:12:10  <jjjjohnn1y>you'll pay what your donkey ass nose think theyll pay
05:13:03  <nodepdx-ircterm>Donkey? There's a unicorn and a horse, but there are no donkies here.
05:13:04  * thl0quit (Remote host closed the connection)
05:16:03  <jjjjohnn1y>All of those can interbreed. Mule on that.
05:16:41  <jesusabdullah>are those bands or blends of coffee?
05:17:09  <jjjjohnn1y>lol
05:17:27  <jjjjohnn1y>better be death metal
05:19:11  * tilgoviquit (Remote host closed the connection)
05:20:10  <jesusabdullah>so
05:20:12  <jesusabdullah>coffee?
05:22:07  <jjjjohnn1y>"THIS IS THE BLENDMIX"
05:22:07  <LOUDBOT>BECAUSE HE IS THE FUCKING HONEY CRULLERS?!?!
05:23:28  * timoxleyquit (Quit: Computer has gone to sleep.)
05:33:04  * nicholasfjoined
05:45:38  * timoxleyjoined
05:51:25  * jxsonjoined
05:53:36  * jxsonquit (Remote host closed the connection)
06:02:50  * saijanai_quit (Quit: saijanai_)
06:15:49  * mikolalysenkojoined
06:20:43  * mikolalysenkoquit (Ping timeout: 246 seconds)
06:22:28  * douglaslassancequit (Read error: Connection reset by peer)
06:24:21  * djcoinjoined
06:25:48  * nicholasfquit (Read error: Connection reset by peer)
06:25:59  * nicholasfjoined
06:50:31  * thl0joined
07:10:35  * timoxleyquit (Quit: Computer has gone to sleep.)
07:14:19  * no9joined
07:24:34  * timoxleyjoined
07:26:08  * shamaquit (Remote host closed the connection)
07:28:37  * thl0quit (Remote host closed the connection)
07:48:21  * nicholasfquit (Remote host closed the connection)
07:59:35  * nodepdx-irctermquit (Ping timeout: 240 seconds)
08:05:47  * timoxleyquit (Quit: Computer has gone to sleep.)
08:26:31  * timoxleyjoined
09:03:10  * ralphtheninjajoined
09:10:26  * py1hon_joined
09:14:02  * mcollinajoined
09:21:17  * rvaggquit (Excess Flood)
09:21:18  * stagasjoined
09:21:48  * rvaggjoined
10:11:55  * ins0mniajoined
10:24:47  * timoxleyquit (Quit: Computer has gone to sleep.)
10:26:25  * spionjoined
10:36:31  * jibayjoined
10:54:51  * no9quit (Read error: Operation timed out)
10:57:53  * timoxleyjoined
11:04:23  * cianomaidinjoined
11:12:22  * no9joined
11:28:05  * shuaibjoined
11:38:49  * calvinfo_quit (Ping timeout: 245 seconds)
11:50:52  * jolissjoined
11:59:15  * shuaibquit (Ping timeout: 252 seconds)
11:59:45  * cianomaidinquit (Quit: cianomaidin)
12:00:45  * shuaibjoined
12:01:25  * cianomaidinjoined
12:04:35  * no9quit (Quit: Leaving)
12:12:53  * cianomaidinquit (Quit: cianomaidin)
12:41:31  * spionquit (Ping timeout: 246 seconds)
12:44:55  * jolissquit (Quit: joliss)
12:52:47  * cianomaidinjoined
12:53:28  <dominictarr1>modular bicycles
12:53:30  <dominictarr1>http://www.n55.dk/MANUALS/SPACEFRAMEVEHICLES/spaceframevehicles.html
12:54:25  * spionjoined
13:02:29  * shuaibquit (Ping timeout: 248 seconds)
13:05:46  * shuaibjoined
13:11:13  * cianomaidinquit (Quit: cianomaidin)
13:19:16  * AvianFlujoined
13:29:37  <dominictarr1>want one like this: http://www.python-lowracer.de/
13:32:56  <dominictarr1>http://www.facebook.com/media/set/?set=a.461630967036.256357.523207036&type=1&l=2f1025e469
13:33:01  <dominictarr1>^ my crude wooden one
13:34:52  * jamieschenajoined
13:35:33  * jamieschenachanged nick to jamiejam
13:37:10  * applekorjoined
13:37:23  * cmw244joined
13:37:51  * twofiftyfivejoined
13:42:48  * JonCatteljoined
13:50:54  * cianomaidinjoined
13:55:04  * cianomaidinquit (Client Quit)
13:55:38  * cmw244part ("Leaving")
13:55:45  * twofivefivejoined
13:55:56  * twofiftyfivequit
13:57:10  * shuaibquit (Quit: Computer has gone to sleep.)
14:06:26  * mikolalysenkojoined
14:17:31  <jjjjohnn1y>dominictarr1: did you make that??
14:18:11  <jjjjohnn1y>thats rad
14:22:04  <jjjjohnn1y>dominictarr1: i was recently envisioning a carriage made for for several people who peddled into a flywheel
14:23:08  <chilts>heh, by Te Papa :)
14:24:21  <jjjjohnn1y>dominictarr1: you should look for one of these recumbant chairs and take the frame https://www.google.com/search?um=1&biw=1679&bih=929&hl=en&tbm=isch&sa=1&q=le+corbusier+chair&btnG=
14:24:32  <jjjjohnn1y>i have one
14:24:36  <jjjjohnn1y>but u cant have it
14:26:32  * kenperkinsjoined
14:29:19  <dominictarr1>jjjjohnn1y: oh, I saw that one. very nice.
14:32:25  <dominictarr1>jjjjohnn1y: I want to do this: http://microship.com/bike/index.html
14:32:52  <jjjjohnn1y>i dont even have to look :D
14:33:08  <jjjjohnn1y>oh whoa not what i was expecting
14:33:42  <jjjjohnn1y>"winebiko"
14:33:48  <jjjjohnn1y>"winnebiko"
14:34:16  <dominictarr1>that guy did that in the 80s
14:35:14  <jjjjohnn1y>is that an anolg synth in the front or what
14:35:50  <jjjjohnn1y>thats what i would put there now
14:35:55  <dominictarr1>but today you could that with off the shelf parts, and 3g
14:37:38  <jjjjohnn1y>The primary design objective -- being able to type while riding -- had evolved into a mad tangle of processors and other subsystems.
14:37:49  <jjjjohnn1y>lol
14:38:00  <dominictarr1>haha, yeah. he got a bit carried away.
14:38:20  <dominictarr1>just want means to travel and charge batteries
14:38:45  <dominictarr1>otherwise, the only real reason that I am living in houses is because of power plugs.
14:43:00  * shuaibjoined
14:43:41  * mikolalysenkoquit (Ping timeout: 252 seconds)
14:48:06  * applekorquit (Ping timeout: 264 seconds)
14:49:00  * applekorjoined
14:51:47  * thl0joined
14:57:14  * Arsanijoined
15:02:04  * applekorquit (Quit: Leaving)
15:05:43  <jjjjohnn1y>magically after accidentally unlinking a file i liked
15:06:04  <jjjjohnn1y>cp *.wav ../dir found it
15:06:39  <jjjjohnn1y>DADT
15:07:52  <jjjjohnn1y>DADTS HOW WE DO IT
15:07:52  <LOUDBOT>HEY BUDDY! HOW ARE YOU ENDURING YOUR FREEDOM?
15:11:19  * spionquit (Ping timeout: 246 seconds)
15:14:35  * calvinfojoined
15:16:34  * thl0quit (Remote host closed the connection)
15:17:16  * thl0joined
15:18:26  * thl0quit (Remote host closed the connection)
15:39:15  * mikolalysenkojoined
15:40:20  * shuaibquit (Ping timeout: 252 seconds)
15:43:02  * shuaibjoined
15:43:04  * shuaibquit (Changing host)
15:43:04  * shuaibjoined
15:47:49  * mikolalysenkoquit (Ping timeout: 248 seconds)
15:49:07  * calvinfoquit (Ping timeout: 264 seconds)
15:58:18  * jcrugzzjoined
15:59:39  * mikolalysenkojoined
16:03:26  <jjjjohnn1y>anybody know what paul irish is gonna advocate for client side package management? https://developers.google.com/events/io/sessions/325634001
16:03:44  <jjjjohnn1y>"Yeoman, Grunt, RequireJS, and NPM."
16:04:12  <jjjjohnn1y>yeoman being a group of tools itself wtf
16:05:08  * calvinfojoined
16:07:56  <jjjjohnn1y>LOOKS IT EASY YOU JUST USE THESE SEVERAL BUILD STEPS THE KNIVES GO HERE AND THE BLOOD FLOWS OUT THERE
16:07:56  <LOUDBOT>OK I WILL GET RIGHT ON IT NO FURTHER DESCRIPTION OR REQUIREMENTS NECESSARY
16:08:58  <jjjjohnn1y>don't forget your boilerplate
16:09:11  <jjjjohnn1y>and the frontispiece
16:09:23  * dominictarr1quit (Quit: WeeChat 0.3.9.2)
16:09:30  <jjjjohnn1y>an appendage here here and here
16:09:42  * dominictarrjoined
16:10:19  <jjjjohnn1y>WHERE AR ETHE EXTREMETIES???
16:10:19  <LOUDBOT>BY USING BONERS AS OFTEN AS POSSIBLE
16:14:09  * Arsaniquit (Remote host closed the connection)
16:20:11  * shuaibquit (Ping timeout: 260 seconds)
16:21:30  * shuaibjoined
16:32:16  * shamajoined
16:36:31  * shuaibquit (Ping timeout: 260 seconds)
16:40:09  * mcollinaquit (Remote host closed the connection)
16:40:31  * shuaibjoined
16:44:37  * twofivefivequit (Ping timeout: 276 seconds)
16:51:12  * Arsanijoined
17:10:29  * twofivefivejoined
17:12:27  * Arsaniquit (Remote host closed the connection)
17:13:11  * Arsanijoined
17:13:57  * jxsonjoined
17:14:56  * djcoinquit (Quit: WeeChat 0.4.0)
17:21:57  <mikolalysenko>I don't get why you would ever use bower
17:22:07  <mikolalysenko>I mean to even run the damn thing you have to install npm anyway
17:22:37  <mikolalysenko>even component is better
17:23:26  <dominictarr>all of the package managers except npm are aweful
17:23:31  <dominictarr>npm is acceptable.
17:23:46  <mikolalysenko>well, I won't say awful but they are redundant
17:24:06  <mikolalysenko>I mean a few really are awful
17:24:12  <mikolalysenko>like anything using require.js/amd
17:24:46  <mikolalysenko>I think it is absolutely terrible that require.js has gotten as much traction as it has - especially since we already had commonjs before it even existed
17:25:40  <mikolalysenko>but looking at bower, I just don't see the point. it doesn't do anything you can't already do with npm
17:26:10  <mikolalysenko>and it is still a central repository of packages, so it doesn't have the supposed advantages of being distributed like component (which you may/may not like)
17:26:30  <mikolalysenko>all it amounts to is just a less finished reimplementation of the same concepts
17:26:35  <mikolalysenko>except worse because it has amd
17:28:37  <dominictarr>also, things like homebrew that have all the packages in a git repo
17:29:05  <dominictarr>… and thousands of outstanding pull requests...
17:30:43  <mikolalysenko>yeah
17:31:00  <mikolalysenko>I don't like homebrew for exactly that reason
17:31:08  <mikolalysenko>but I still use it because the alternatives are even worse
17:35:38  <mikolalysenko>also, check this out: https://github.com/mikolalysenko/phase-align
17:35:55  <mikolalysenko>pattern matching for higher dimensional arrays
17:36:01  <mikolalysenko>or images
17:36:26  <jjjjohnn1y>nice
17:37:16  <jjjjohnn1y>mikolalysenko: are you student?
17:37:19  <mikolalysenko>yeah
17:37:43  <jjjjohnn1y>undergrad?
17:37:56  <mikolalysenko>grad student
17:38:08  <jjjjohnn1y>whats your thesis
17:38:20  <mikolalysenko>something about representation theory probably
17:38:41  <mikolalysenko>or integral geometry
17:38:42  <mikolalysenko>or both
17:38:46  <mikolalysenko>(probably both)
17:39:31  <jjjjohnn1y>did you see the link I posted last night?
17:39:36  <mikolalysenko>no, which link?
17:39:56  <jjjjohnn1y>http://secret.synth.fm/
17:40:38  <jjjjohnn1y>that uses a fork of max's js editor
17:40:48  <mikolalysenko>cool!
17:40:50  <jjjjohnn1y>and its its audio dsp in the browsers
17:41:02  <mikolalysenko>I am planning on using max's editor for a course that I am helping put together
17:41:58  <jjjjohnn1y>code mirror is awesome
17:43:09  <mikolalysenko>you know, you could probably use ndarrays to max and process sampled data
17:44:08  <jjjjohnn1y>yeah, you could also iterpret images and audio
17:44:23  <jjjjohnn1y>i only just learned math a few months ago
17:44:40  <mikolalysenko>this might be useful: https://github.com/mikolalysenko/ndarray-ops
17:44:43  <jjjjohnn1y>my envelopes are linear :\
17:45:05  <mikolalysenko>also this though it is more sophisticated: https://github.com/mikolalysenko/cwise
17:46:08  <jjjjohnn1y>i need to show you my hack for creating continuous circular motion on a touch device
17:46:21  <jjjjohnn1y>ie. a continuous dial
17:46:23  <mikolalysenko>ok, I'd like to see it
17:46:38  <jjjjohnn1y>its some bad geometry :D
17:48:04  <mikolalysenko>how does it work? do you just have a spinning thing or something?
17:48:15  <mikolalysenko>I could think of a couple of ways to do it
17:48:27  <mikolalysenko>like fix an origin, then look at the turning of a vector relative to that origin
17:48:42  <mikolalysenko>or you could also look at the curvature of the path that the touch traces
17:48:49  <mikolalysenko>and then rotate by whatever amount they turn
17:48:57  <jjjjohnn1y>mikolalysenko: basically i check if the quadrant the finger in changes, and check to see if that is the 0/360 line
17:49:13  <mikolalysenko>ok, that is basically the same as the first one
17:49:21  <jjjjohnn1y>https://github.com/NHQ/uxer/blob/master/spin.js#L53
17:49:42  <jjjjohnn1y>i need to check if thats the latest code, i think it is
17:49:54  * jcrugzzquit (Ping timeout: 264 seconds)
17:50:08  <jjjjohnn1y>its barely adequate for UI
17:50:12  <mikolalysenko>interesting. I wonder how well computing curvatures would work
17:50:37  * nk109quit (Quit: Computer has gone to sleep.)
17:50:42  <jjjjohnn1y>UI computation is allowed to be heavy
17:50:46  * mcollinajoined
17:50:48  <jjjjohnn1y>IMO
17:51:03  <mikolalysenko>it wouldn't be that heavy I think
17:51:23  <mikolalysenko>basically what you do is you would spin the dial based on the amount that they rotate their finger
17:51:34  <mikolalysenko>the location of the finger would not matter though, just how much it was turning
17:51:50  <jjjjohnn1y>whats the point of reference?
17:51:57  <mikolalysenko>there is no point of reference
17:52:00  <mikolalysenko>it is a relative thing
17:52:15  <mikolalysenko>curvature is intrinsic to the path that they follow
17:52:18  <jjjjohnn1y>i use the center of the dial, naturally
17:52:28  <jjjjohnn1y>how would you do it with no PoR
17:52:42  <jjjjohnn1y>rly do tell
17:53:01  <mikolalysenko>basically curvature of a curve measures how much it turns
17:53:19  <mikolalysenko>in 2D, given an initial frame of reference and starting point it completely determines how the curve moves
17:53:48  <mikolalysenko>in 3d, you have an extra parameter called torsion that measures how much a curve twists: http://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas
17:53:48  <jjjjohnn1y>i fial to understand how you can determine spin from that tho
17:54:19  <jjjjohnn1y>i mean, i guess this uses some amount of bezier smoothing
17:54:21  <jjjjohnn1y>?
17:54:23  <mikolalysenko>basically at every point on the curve you have an angle
17:54:30  <mikolalysenko>that measures how much the curve is turning
17:54:39  <mikolalysenko>so just sum up those angles and you get a change in the spin of your dial
17:55:07  <jjjjohnn1y>hey if you write the algo based on event.points, I'll hook into a UI
17:55:18  * mcollinaquit (Ping timeout: 264 seconds)
17:55:28  <mikolalysenko>I can just write a function that takes 3 points and computes an angle
17:55:49  <mikolalysenko>and then if you have the 3 previous positions buffered, you can just feed that into the dial
17:56:21  <jjjjohnn1y>what if i want it to be relative to a center, for interfacial reasons?
17:57:15  <mikolalysenko>that is easier
17:57:31  <mikolalysenko>just use the previous two angles to do it
17:57:35  <mikolalysenko>compute them using atan2
17:57:56  <jjjjohnn1y>nevertheless, i am already experimenting uncharted musical interfaces with touch, and doing curves (instead of elipsis) could be fruitful
17:58:11  <mikolalysenko>it might be interesting to try out
17:59:10  <jjjjohnn1y>compute 3 angles with atna2?
17:59:17  <jjjjohnn1y>how does i
17:59:29  <mikolalysenko>atan2 lets you get the angle of a right triangle
17:59:36  <mikolalysenko>you give it the legs and it computesthe angle
18:00:05  <mikolalysenko>atan2(opposite, adjacent) == nearest angle
18:01:04  <jjjjohnn1y>whats this https://github.com/NHQ/uxer/blob/master/spin.js#L108
18:01:24  <mikolalysenko>looks kind of stupid
18:01:29  <jjjjohnn1y>:(
18:01:42  <mikolalysenko>(ok sorry, didn't mean to put it down)
18:01:59  <mikolalysenko>but there is a better way to do that I think
18:02:11  * jcrugzzjoined
18:02:28  <jjjjohnn1y>its ok, even bad math can make wonders happen
18:02:32  <mikolalysenko>yeah
18:02:38  <mikolalysenko>I think it would probably work though
18:02:48  <jjjjohnn1y>oh it works
18:02:59  <mikolalysenko>except you might run into issues if the triangle exceeds the dimensions
18:03:11  <mikolalysenko>but if it is working, I wouldn't worry about it
18:03:25  <mikolalysenko>though there is a slightly more optimized way to do it that is simpler
18:03:36  <jjjjohnn1y>the problem i was getting was around the 0/360 angle
18:03:39  <mikolalysenko>yeah
18:03:46  <mikolalysenko>you should try to understand how this function works: http://en.wikipedia.org/wiki/Atan2
18:03:49  <jjjjohnn1y>because which way am i going?
18:04:35  <jjjjohnn1y>thanks will do
18:04:54  <mikolalysenko>basically atan2 handles all the tricky cases for you
18:05:36  <jjjjohnn1y>sweet
18:06:01  <mikolalysenko>for example, say you want to figure out how much you turn along two points
18:06:12  <mikolalysenko>let cx, cy be the center
18:06:29  <mikolalysenko>and x0,y0 / x1,y1 be the coordinates of your two points
18:06:34  <mikolalysenko>then your turning amount is just:
18:06:50  <mikolalysenko>Math.atan2(x1-cx, y1-cy) - Math.atan2(x0-cx, y1-cy)
18:06:57  <mikolalysenko>that's it
18:07:04  <jjjjohnn1y>ooo
18:07:13  <mikolalysenko>(up to some constant factor of n * 2 * pi)
18:07:44  <jjjjohnn1y>what does that mean in terms of spinning a continuous dial w/ ones finger?
18:08:00  <mikolalysenko>spin_angle += Math.atan2(x1-cx, y1-cy) - Math.atan2(x0-cx, y1-cy)
18:08:04  <mikolalysenko>that's all you need
18:08:21  <mikolalysenko>err that should be a y0 at the end
18:08:30  <mikolalysenko>spin_angle += Math.atan2(x1-cx, y1-cy) - Math.atan2(x0-cx, y0-cy)
18:08:34  <mikolalysenko>but you get the idea
18:09:07  <mikolalysenko>you can also do this stuff with complex number too
18:09:11  <mikolalysenko>it amounts to the same thing
18:09:39  <mikolalysenko>like suppose your coordinates were x0, y0 for the first and x1, y1 for the second
18:09:56  <mikolalysenko>then your spin can be represented by a complex number that is:
18:10:15  <mikolalysenko>(x0 + y0 * i) * (x1 - y1 * i)
18:10:27  <mikolalysenko>if you normalize that it will give you the turning amount
18:10:33  <jjjjohnn1y>*eeks*
18:10:36  <mikolalysenko>(ie just project to unit length)
18:10:46  <jjjjohnn1y>how do i?
18:10:49  * defunctzombie_zzchanged nick to defunctzombie
18:11:05  <mikolalysenko>basically, you would encode your spin amount as a complex number using euler's formula
18:11:19  <mikolalysenko>ie set it equal to: spin = e^(i * theta)
18:11:25  <mikolalysenko>so you have to parts:
18:11:39  <mikolalysenko>spinx + spiny * i = cos(theta) + i * sin(theta)
18:11:45  <mikolalysenko>and then update it using the rule:
18:11:58  <mikolalysenko>spin *= (x0 + y0 * i) * (x1 - y1 * i)
18:12:07  <mikolalysenko>and be sure to normalize it when you are done
18:12:19  <mikolalysenko>you will get a degeneracy of the rhs of that is 0, so be careful
18:12:34  <mikolalysenko>to recover the spin as an angle, you can just take atan2(spiny, spinx)
18:13:26  <jjjjohnn1y>what do I gain using this more complex method?
18:13:33  <mikolalysenko>faster and more robust
18:13:37  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
18:13:48  <mikolalysenko>you don't have to worry about the degeneracy due to the angle flipping or anything
18:13:57  <jjjjohnn1y>b/c I don't understand part one, two, or the gestalt
18:13:58  <mikolalysenko>atan2 would also work, but that requires trig functions
18:14:26  <mikolalysenko>this might help understand it: http://en.wikipedia.org/wiki/Complex_number#Polar_form
18:14:28  <jjjjohnn1y>what is theta?
18:14:35  <mikolalysenko>theta is the angle that the mouse is turning
18:14:49  <jjjjohnn1y>and how do i determine that
18:14:49  * jamiejamquit (Remote host closed the connection)
18:15:08  <mikolalysenko>compute the difference in the angles from its previous position to the next position
18:15:26  <mikolalysenko>where the angle is that of the right triangle formed by having its base at the spinner center
18:15:39  <mikolalysenko>and has the axis projected along the x-axis of the coordinate system
18:15:46  * timoxleyquit (Quit: Computer has gone to sleep.)
18:15:50  <mikolalysenko>you should really read this wiki page: http://en.wikipedia.org/wiki/Complex_number#Polar_form
18:16:11  <mikolalysenko>it basically shows you can interpret atan2 as a complex logarithm
18:16:45  <jjjjohnn1y>and then what if there is no center?
18:16:55  <mikolalysenko>then you can use a relative coordinate system
18:17:10  <mikolalysenko>so suppose you had 3 points, x0,y0; x1,y1; x2,y2
18:17:17  <mikolalysenko>you could move by the amount the vector turns
18:17:20  <mikolalysenko>which is just:
18:17:43  <mikolalysenko>Math.atan2(y2-y1, x2-x1) - Math.atan2(y1-y0, x1-x0)
18:18:26  <mikolalysenko>or in complex nubmers:
18:18:38  <mikolalysenko>(p2 - p1) / (p1 - p0)
18:18:47  <mikolalysenko>where pi = xi + yi * i
18:19:13  <mikolalysenko>if you take the imaginary part of log of the complex expression you get the atan2 form
18:19:34  <mikolalysenko>this is just euler's formula in reverse
18:19:44  <mikolalysenko>http://en.wikipedia.org/wiki/Euler's_formula
18:19:54  <mikolalysenko>^^^ that is the fundamental theorem of trigonometry
18:19:56  <jjjjohnn1y>is that p*i = x*i + y*i + i, or did you stack the variable i
18:20:15  <mikolalysenko>oh, no I meant use the i as an index
18:20:22  <mikolalysenko>how about:
18:20:24  <jjjjohnn1y>thats what i thought :p
18:20:28  <mikolalysenko>p[k] = x[k] + y[k] * i
18:20:38  <jjjjohnn1y>how do i in javascript?
18:20:47  <mikolalysenko>you write out complex multiplication as a function
18:20:52  <jjjjohnn1y>Math.i?
18:20:56  <mikolalysenko>no
18:21:05  <mikolalysenko>you represent the numbers as pairs, say arrays or objects or whatever
18:21:11  <mikolalysenko>and use the fact that:
18:21:37  <mikolalysenko>(a + b * i) * (c + d * i) = a*c - b*d + (a*d + b*c) * i
18:21:58  <mikolalysenko>there is a trickier way to do this which is a bit faster:
18:21:59  <mikolalysenko>http://en.wikipedia.org/wiki/Multiplication_algorithm#Gauss.27s_complex_multiplication_algorithm
18:22:12  <jjjjohnn1y>this is how I determine what i is?
18:22:20  <mikolalysenko>just think of these things as vectors
18:22:24  <mikolalysenko>split them into components
18:22:36  <mikolalysenko>you have a real part and an imaginary part
18:22:43  <mikolalysenko>and you represent each component separately
18:22:48  <substack>dominictarr: ward cunningham just said "duplex stream" and had a.pipe(b).pipe(a) on his slide
18:23:02  <dominictarr>very good
18:23:10  <dominictarr>at nodepdx?
18:23:14  <substack>yep
18:23:45  <jjjjohnn1y>mikolalysenko: that is how i determine what i is?
18:23:49  <substack>also I realized that voxeljs is basically ractive mode in the young lady's illustrated primer
18:23:53  <dominictarr>this guy? http://en.wikipedia.org/wiki/Ward_Cunningham
18:23:57  <substack>the very same
18:24:02  <substack>he uses browserify and everything
18:24:08  <jjjjohnn1y>i was really hoping that would come for free
18:24:17  <jjjjohnn1y>in terms of writing algorithms
18:24:17  <dominictarr>haha, awesome!
18:24:21  <mikolalysenko>jjjjohnn1y: i = sqrt(-1)
18:24:41  <mikolalysenko>everyone should use browserify! it rocks
18:24:54  <mikolalysenko>(though that is not a controversial opinion here)
18:25:09  <substack>mikolalysenko: absolutely watch max's voxeljs talk when the video goes online
18:25:14  <substack>if you didn't catch the live stream
18:25:33  <mikolalysenko>substack: will do. when is it going to be posted?
18:26:23  <chrisdickinson>awesome :D
18:27:16  <jjjjohnn1y>mikolalysenko: thanks. i took notes and will use this when I'm back optimizing that part of the pig
18:27:51  <mikolalysenko>jjjjohnn1y: yeah, though you should also learn this stuff for its own sake
18:28:09  <mikolalysenko>complex numbers show up all over the place in trigonometry and are also important for understanding signal processing
18:28:11  <jjjjohnn1y>it'll come to me
18:28:30  <mikolalysenko>if you can find it, the first chapter of visual complex analysis by tristan needham is pretty good at explaining all this stuff
18:28:37  <mikolalysenko>http://usf.usfca.edu/vca//
18:29:01  <mikolalysenko>it is a fantastic book, and I would recommend it to anyone who is learning geometry
18:29:22  <jjjjohnn1y>i'll add it my library
18:30:01  <mikolalysenko>the book is very clear and quite approachable, you don't have to know too much math follow it
18:30:21  * tilgovijoined
18:38:42  <Domenic_><3 Visual Complex Analysis
18:40:40  <mikolalysenko>yeah, there is definitely a good pay off to reading that book carefully
18:42:32  <chapel>mikolalysenko: is there a free pdf or something?
18:44:07  <mikolalysenko>chapel: not that I know of. I think you can buy it on amazon but it is text book prices
18:44:23  <mikolalysenko>there are probably warez sites that you can download it from
18:44:33  <mikolalysenko>used to be gen.lib.rus.ec, but that got shut down
18:44:36  <chapel>yeah, not that I am opposed to paying outright, just not interested in spending that much on a book
18:44:52  <chapel>thanks for the info though, something Im interested in :)
18:45:22  <mikolalysenko>you might be able to find a chinese edition for a small fraction of that price
18:52:21  <mikolalysenko>ok, I gotta run
18:54:38  * Arsaniquit (Remote host closed the connection)
18:57:09  * mikolalysenkoquit (Ping timeout: 248 seconds)
19:04:33  * twofivefivequit (Ping timeout: 248 seconds)
19:07:05  * twofivefivejoined
19:07:15  * nk109joined
19:13:21  * mikolalysenkojoined
19:18:31  * twofivefivequit (Ping timeout: 256 seconds)
19:19:43  * twofivefivejoined
19:24:02  * defunctzombiechanged nick to defunctzombie_zz
19:25:19  <Domenic_>substack: noparse looks useful but why not try to auto-apply it
19:25:42  <Domenic_>e.g. `if (moduleText.indexOf('require') === -1) { /* apply noparse automatically */ }`
19:41:19  * tilgoviquit (Ping timeout: 245 seconds)
20:01:50  * Arsanijoined
20:01:59  <substack>Domenic_: that already happens
20:02:12  <substack>the problem is that jquery and threejs both contain the string "require"
20:03:18  <Domenic_>doh
20:03:30  <Domenic_>require\s*(?
20:03:39  <Domenic_>meh starts getting icky
20:04:59  * jcrugzz_joined
20:05:12  * jcrugzzquit (Read error: Connection reset by peer)
20:05:55  * mikolalysenkoquit (Ping timeout: 264 seconds)
20:12:11  <dominictarr>substack: Domenic_ what if you hash the content, and remember whether it has requires?
20:23:00  * mikolalysenkojoined
20:27:07  * jcrugzz_changed nick to jcrugzz
20:31:52  <substack>dominictarr: we could do that too
20:32:00  <substack>browserify used to do that actually
20:36:29  <dominictarr>you could use leveldb!
20:36:42  * Arsanipart ("Leaving...")
20:42:43  * AvianFluquit (Remote host closed the connection)
20:43:14  * nk109quit (Quit: Computer has gone to sleep.)
20:47:46  * nk109joined
20:49:22  <chrisdickinson>thl0: sorry my brain is moving slowly -- you might chat with dominictarr
21:09:47  * AvianFlujoined
21:11:58  * evboguejoined
21:22:05  * brianloveswordsquit (Excess Flood)
21:23:26  * brianloveswordsjoined
21:25:51  * AvianFluquit (Remote host closed the connection)
21:26:25  * yorickjoined
21:32:32  <mbalho>weird article https://blog.mozilla.org/webdev/2013/05/03/avoiding-dependencies/
21:34:43  * evboguequit (Ping timeout: 260 seconds)
21:38:37  * jamieschenajoined
21:38:51  * jamieschenaquit (Remote host closed the connection)
21:39:54  <mikolalysenko>mbalho: that article is pretty wtf
21:40:53  <substack>dependencies are the best thing
21:41:38  <mikolalysenko>I'm slightly gobsmacked that someone at mozilla would write such a thing. does he really how ridiculous it sounds?
21:43:11  <mikolalysenko>I don't get how more dependencies = less security
21:43:35  <mikolalysenko>if anything it should be the exact opposite. more dependencies = more reuse = fewer places to fix bugs
21:43:43  <mbalho>i commented, its awaiting moderation
21:44:02  <mikolalysenko>s/really/realize
21:45:13  <substack>not having a package manager leads people to come to these kinds of conclusions
21:46:10  <mikolalysenko>I also don't get why optimizing install time is that big a deal. So what if it takes 10s instead of 30s? You don't have to do anything while that is working
21:46:36  <mbalho>also you can run npm locally
21:46:55  <mikolalysenko>though I guess if install times do become an issue there are alternative solutions
21:47:12  <mikolalysenko>for example, you could modify npm to prefetch all the subpackages for popular packages and cache them
21:47:35  <mikolalysenko>then you could install with fewer http requests
21:47:43  <mikolalysenko>but I doubt this added complexity would be worth it
21:48:27  <chrisdickinson>i feel like the correct response to reaching the limits of your tools would ideally be "make your tools better" not "ditch the approach"
21:48:47  <jesusabdullah>I understand the article
21:48:59  <jesusabdullah>I'm skeptical of the security argument as I'm generally a trusting person
21:49:41  <mikolalysenko>jesusabdullah: yeah, but his approach doesn't even fix that security argument. you still have to review packages before you install them anyway
21:50:07  <jesusabdullah>sure
21:50:21  <jesusabdullah>and the "conflicting versions" argument doesn't hold water in node land
21:50:38  <jesusabdullah>but the "dependencies install half of npm" argument, that's worth noting
21:51:01  * twofivefivequit (Ping timeout: 246 seconds)
21:51:16  <mikolalysenko>true
21:51:32  <jesusabdullah>in the end it's a matter of weighing the pros and cons of depending on a given library
21:51:38  <chrisdickinson>the long install time rings true for me in certain circumstances. i haven't had a node project, but i've keenly felt it on python projects
21:51:53  <chrisdickinson>but again, to me that means "find a way to make npm smarter"
21:52:04  <mikolalysenko>chrisdickinson: agreed
21:52:22  <chrisdickinson>it's how our tools get better
21:52:46  <mikolalysenko>here is one possibility: you could have npm hold a local cache of frequently used libraries on your machine
21:53:04  <chrisdickinson>mikolalysenko: it already does, though it doesn't seem to use it
21:53:04  <mikolalysenko>that way if you fetch a library that is up to date it could just use the local version instead of redownloading
21:53:09  * JonCattelquit (Ping timeout: 248 seconds)
21:53:13  <mikolalysenko>hmm
21:53:19  <mikolalysenko>that is silly then
21:53:22  <chrisdickinson>look in `~/.npm/`
21:53:33  <chrisdickinson>at the very least it still goes off across the internet to get 304s
21:53:45  <chrisdickinson>cell phone battery nearly dead
21:53:53  <chrisdickinson>going into sneakernet irc mode
21:53:54  <jesusabdullah>well like
21:54:00  <jesusabdullah>here's an example
21:54:04  <chrisdickinson>(i.e., running over to other people's laptops and telling them to yell things into channels)
21:54:10  <jesusabdullah>what's the last time you installed the "prompt" library?
21:54:25  <mikolalysenko>never used it myself
21:54:43  <jesusabdullah>here, I'll show you
21:55:13  <mikolalysenko>for me the worst one to install is tap, and it just takes a few seconds on my connection
21:55:45  <jesusabdullah>https://gist.github.com/jesusabdullah/c064c13ee4b03994158c
21:56:31  <mikolalysenko>yeah, I think tap may be worse
21:56:35  <mikolalysenko>let me try
21:57:05  <jesusabdullah>well
21:57:09  <jesusabdullah>there are two things to point out
21:57:13  <mikolalysenko>https://gist.github.com/mikolalysenko/5602268 : 5 seconds
21:57:15  <jesusabdullah>one is that utile is a terrible library
21:57:32  <jesusabdullah>it's like mini-hoarders
21:57:45  <dominictarr>mikolalysenko: chrisdickinson use the npm install X --noreg
21:57:46  <dominictarr>option
21:57:55  <jesusabdullah>the second is that winston is not only bloated but way way way overkill for what the library uses it for
21:57:56  <dominictarr>will install without hitting the registry
21:58:24  <mikolalysenko>dominictarr: cool protip!
21:58:25  <dominictarr>normally npm checks if the cache is valid with http requests… which is not ideal...
21:58:40  <mikolalysenko>weird
21:58:50  <dominictarr>mikolalysenko: being from the antipodes latency is super important consideration
21:58:53  <mikolalysenko>couldn't it just do 1 fetch and send all that back in a single request?
21:59:36  <mikolalysenko>like when starting the fetch, it could send a list of versions for all the dependencies of a library, and then only fetch if that comes back out of date with the local version
21:59:56  <jesusabdullah>so you have a few options: 1) fork prompt and gut it out 2) use read only and add back in whatever features read is missing or 3) bite the bullet and accept that you're going to be requiring utile for a merge method and winston for what should be a console.log
22:00:10  <dominictarr>even better, would be to have a background process that keeps your cache up to date
22:00:15  <jesusabdullah>oh also, pkginfo is fucking useless
22:00:17  <dominictarr>I'm working on this, actually...
22:00:27  <jesusabdullah>word dominictarr
22:00:29  * ins0mniaquit (Ping timeout: 245 seconds)
22:00:56  <dominictarr>but it's only a week end project
22:00:56  <dominictarr>github.com/dominictarr/npmd
22:01:02  <mikolalysenko>jesusabdullah: or if you are in the states, you could just ignore it since the install times aren't that bad in the first place
22:01:26  <mikolalysenko>dominictarr: cool project
22:01:29  <jesusabdullah>mikolalysenko: that's option (3)
22:01:41  <dominictarr>replicates the metadata into leveldb so it can resolve dependency trees super fast
22:02:06  <mikolalysenko>neat
22:02:06  <jesusabdullah>mikolalysenko: but even in the states it's non-trivial, especially if you have multiple dependencies that are similarly bloated
22:02:10  <jesusabdullah>mikolalysenko: case in point: jitsu
22:02:16  <dominictarr>mikolalysenko: that requires a network connection...
22:02:31  <mikolalysenko>dominictarr: ah, got it
22:02:50  <mikolalysenko>hmm
22:02:53  <dominictarr>browserify is like 23 seconds to install
22:03:07  <mikolalysenko>that is kind of bad
22:03:17  <mbalho>anyone know how to do p2p multiplayer a la http://atdev.doit.wisc.edu/croquet2/Site%20PDFs/2005%20Teatime%20Framework%20Design.pdf
22:03:28  <mbalho>non sync physics, trusted clients, but pure p2p
22:04:22  <mikolalysenko>I think I could talk to the guys who are working on that
22:05:12  <jesusabdullah>the thing is, browserify probably isn't so bad because it's not requiring (too much) cruft
22:07:10  <mikolalysenko>actually those guys aren't at wisconsin any more
22:08:12  <dominictarr>defunctzombie_zz: 's install-an-exact-hash thing that he wants will solve the security thing
22:08:39  <mbalho>mikolalysenko: aww
22:08:54  <dominictarr>mikolalysenko: browserify is 50k sloc with all the deps
22:09:13  * jcrugzzquit (Ping timeout: 246 seconds)
22:09:16  <dominictarr>it installs esprima 3 times! with two different versions
22:09:18  <mikolalysenko>dominictarr: well, 23s isn't so bad then
22:09:25  <mikolalysenko>though that is wtf
22:09:50  <dominictarr>in another lang that would have broken browserify
22:10:15  <dominictarr>it's a testament to node that fixing that is only an aesthetic consideration, or an optimization
22:10:24  <mikolalysenko>it will probably get sorted out eventually
22:10:48  <dominictarr>it's a low hanging fruit, but not a very juicy one
22:11:03  <dominictarr>which is great.
22:11:25  <dominictarr>there is no reason that it should have broken anything - that would be unnecessary work
22:11:36  <mikolalysenko>yeah, agreed
22:12:01  <dominictarr>if version conflicts could break things, that would be a very good reason to avoid deps
22:21:04  <substack>https://github.com/substack/resumer
22:21:19  <substack>kept writing this code
22:22:15  <jesusabdullah>substack: does it work in 0.10 y/n
22:22:19  * elliottcable__changed nick to ec|IRCCloud
22:22:24  * ec|IRCCloudchanged nick to ec-cloud
22:22:34  * ec-cloudchanged nick to eccloud
22:22:37  <jesusabdullah>substack: https://github.com/jesusabdullah/node-pinocchio >:)
22:23:16  <substack>yes it does
22:23:20  <substack>all my new stuff works on 0.10
22:23:58  <jesusabdullah>wondaful
22:24:03  <jesusabdullah>I still use 0.8 <_<;
22:24:29  <substack>it works on 0.8 too
22:24:50  <jesusabdullah>I mean I assumed so
22:41:09  * wolfeidauquit (Remote host closed the connection)
22:42:06  * jcrugzzjoined
22:42:26  * AvianFlujoined
22:47:16  <dominictarr>substack: is there a browserifyable version of the mime module?
22:50:05  <jesusabdullah>dominictarr: mime isn't browrstlifyable?
22:50:20  <dominictarr>not the way it does fs.readFileSync
22:51:04  <jesusabdullah>why's it doing that? o__o
22:51:14  <dominictarr>fuck it, I'm gonna fix it.
23:04:08  * tilgovijoined
23:04:39  * mikolalysenkoquit (Ping timeout: 245 seconds)
23:23:37  * yorickquit (Read error: Connection reset by peer)
23:23:49  * AvianFluquit (Remote host closed the connection)
23:24:27  <dominictarr>done https://github.com/broofa/node-mime/pull/61
23:24:29  * AvianFlujoined
23:25:34  <jesusabdullah>yeah, that guy didn't like hoarders
23:25:37  <jesusabdullah>:(
23:28:29  * AvianFluquit (Remote host closed the connection)
23:28:33  * jibayquit (Remote host closed the connection)