--- Log opened Fri Aug 16 00:00:57 2013 | ||
-!- yashgaroth [~ffffff@cpe-75-80-50-28.san.res.rr.com] has quit [Quit: Leaving] | 00:25 | |
-!- weles [~mariusz@c-71-234-3-169.hsd1.ct.comcast.net] has quit [Ping timeout: 276 seconds] | 01:16 | |
-!- weles [~mariusz@c-71-234-3-169.hsd1.ct.comcast.net] has joined ##hplusroadmap | 01:23 | |
-!- klafka [~klafka@c-24-6-18-31.hsd1.ca.comcast.net] has joined ##hplusroadmap | 01:29 | |
-!- poppingtonic [~poppingto@212.49.88.110] has joined ##hplusroadmap | 01:32 | |
-!- weles [~mariusz@c-71-234-3-169.hsd1.ct.comcast.net] has quit [Ping timeout: 264 seconds] | 02:07 | |
-!- weles [~mariusz@c-71-234-3-169.hsd1.ct.comcast.net] has joined ##hplusroadmap | 02:15 | |
-!- Not-002 [~notifico@198.199.82.216] has quit [Remote host closed the connection] | 02:17 | |
-!- klafka [~klafka@c-24-6-18-31.hsd1.ca.comcast.net] has quit [Remote host closed the connection] | 02:43 | |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has joined ##hplusroadmap | 03:02 | |
-!- EnLilaSko [EnLilaSko@unaffiliated/enlilasko] has joined ##hplusroadmap | 03:30 | |
-!- aelinoea [~aelinoea@a88-113-45-152.elisa-laajakaista.fi] has joined ##hplusroadmap | 03:39 | |
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has joined ##hplusroadmap | 03:46 | |
-!- klafka [~klafka@c-24-6-18-31.hsd1.ca.comcast.net] has joined ##hplusroadmap | 03:54 | |
-!- klafka [~klafka@c-24-6-18-31.hsd1.ca.comcast.net] has quit [Ping timeout: 268 seconds] | 03:59 | |
-!- Adillian [~Adillian@97e0b193.skybroadband.com] has joined ##hplusroadmap | 04:02 | |
fenn | optically levitated fluorescing nanoscale diamond particle: http://www.rochester.edu/largepics/nanodiamond.jpg | 04:05 |
---|---|---|
fenn | it's ~100nm | 04:06 |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has quit [Ping timeout: 256 seconds] | 04:07 | |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has joined ##hplusroadmap | 04:09 | |
-!- ThomasEgi [~thomas@185.5.8.81] has joined ##hplusroadmap | 04:42 | |
-!- ThomasEgi [~thomas@185.5.8.81] has quit [Changing host] | 04:42 | |
-!- ThomasEgi [~thomas@panda3d/ThomasEgi] has joined ##hplusroadmap | 04:42 | |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has quit [Ping timeout: 240 seconds] | 04:42 | |
-!- yorick [~yorick@oftn/member/yorick] has joined ##hplusroadmap | 04:45 | |
-!- weles [~mariusz@c-71-234-3-169.hsd1.ct.comcast.net] has quit [Ping timeout: 246 seconds] | 05:00 | |
-!- makoLime [~mako@103-9-42-133.flip.co.nz] has quit [Ping timeout: 264 seconds] | 05:09 | |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has joined ##hplusroadmap | 05:09 | |
-!- weles [~mariusz@wsip-70-183-164-170.ri.ri.cox.net] has joined ##hplusroadmap | 05:15 | |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has quit [Ping timeout: 264 seconds] | 05:40 | |
-!- lichen_ [~lichen@c-24-21-206-64.hsd1.or.comcast.net] has joined ##hplusroadmap | 05:44 | |
-!- lichen [~lichen@c-24-21-206-64.hsd1.or.comcast.net] has quit [Ping timeout: 264 seconds] | 05:48 | |
-!- fireprfHydra [~fireprfHy@ool-44c01f50.dyn.optonline.net] has joined ##hplusroadmap | 06:04 | |
-!- aelinoea [~aelinoea@a88-113-45-152.elisa-laajakaista.fi] has quit [Quit: Leaving] | 06:04 | |
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has quit [Ping timeout: 264 seconds] | 06:14 | |
-!- fireprfHydra [~fireprfHy@ool-44c01f50.dyn.optonline.net] has quit [Ping timeout: 248 seconds] | 06:17 | |
archels | paperbot: http://onlinelibrary.wiley.com/doi/10.1002/wcs.142/pdf | 06:22 |
paperbot | http://libgen.org/scimag1/10.1002/wcs.142.pdf | 06:22 |
archels | <3 | 06:23 |
-!- jmil [~jmil@hive76/member/jmil] has joined ##hplusroadmap | 06:24 | |
archels | paperbot: http://journals.lww.com/jinvestigativemed/Citation/2005/01010/A_Finite_Element_Model_of_the_Dendritic_Tree_to.369.aspx | 06:24 |
paperbot | http://diyhpl.us/~bryan/papers2/paperbot/4d2dd1be515117ad531a5578f7d89def.txt | 06:24 |
-!- fireprfHydra [~fireprfHy@ool-44c01f50.dyn.optonline.net] has joined ##hplusroadmap | 06:46 | |
JayDugger | paperbot: https://www.sciencemag.org/content/early/2013/08/14/science.1240889.full?sid=460ae2fe-57e0-4c32-b414-0738bbe8e1a9 | 07:17 |
paperbot | http://pdf.highwire.org/stamped/sci/early/2013/08/14/science.1240889.full.pdf | 07:19 |
-!- hehelleshin [~talinck@69-61-156-24.ubr1.dyn.lebanon-oh.fuse.net] has joined ##hplusroadmap | 07:55 | |
-!- helleshin [~talinck@69-61-156-24.ubr1.dyn.lebanon-oh.fuse.net] has quit [Ping timeout: 245 seconds] | 07:58 | |
-!- Not-002 [~notifico@198.199.82.216] has joined ##hplusroadmap | 08:00 | |
Not-002 | [kanzure/papermonk-downloader-plosone] kanzure pushed 2 commits to master [+0/-0/±2] http://git.io/H_idCQ | 08:00 |
Not-002 | [kanzure/papermonk-downloader-plosone] kanzure d3c2ea5 - fix url-parser entry in package.json | 08:00 |
Not-002 | [kanzure/papermonk-downloader-plosone] kanzure 6d4ca0f - version bump to: v0.0.5 | 08:00 |
Not-002 | [kanzure/papermonk-downloader-plosone] kanzure tagged 6d4ca0f as v0.0.5 http://git.io/-Yrrvg | 08:00 |
-!- helleshin [~talinck@69-61-156-24.ubr1.dyn.lebanon-oh.fuse.net] has joined ##hplusroadmap | 08:01 | |
-!- yorick [~yorick@oftn/member/yorick] has quit [Remote host closed the connection] | 08:03 | |
-!- hehelleshin [~talinck@69-61-156-24.ubr1.dyn.lebanon-oh.fuse.net] has quit [Ping timeout: 264 seconds] | 08:03 | |
@kanzure | oh right. this isn't going to work in browsers because it requires remote http to work. | 08:06 |
@kanzure | oh right, zotero forces you to navigate to the page that you want to parse | 08:06 |
@kanzure | i could also imagine a situation where you just route an http request through an http proxy endpoint on the same server as whatever served you the pile of browserified javascript | 08:07 |
@kanzure | cheerio can't be browserified unless you edit its index.js file.. but otherwise it works. | 08:07 |
EnLilaSko | http://i.imgur.com/4wREm1C.jpg | 08:14 |
EnLilaSko | Woho | 08:14 |
-!- fireprfHydra_ [~fireprfHy@ool-44c01f50.dyn.optonline.net] has joined ##hplusroadmap | 08:17 | |
-!- fireprfHydra_ [~fireprfHy@ool-44c01f50.dyn.optonline.net] has quit [Read error: Connection reset by peer] | 08:17 | |
-!- fireprfHydra_ [~fireprfHy@ool-44c01f50.dyn.optonline.net] has joined ##hplusroadmap | 08:18 | |
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has joined ##hplusroadmap | 08:28 | |
-!- fireprfHydra_ [~fireprfHy@ool-44c01f50.dyn.optonline.net] has quit [Quit: Leaving] | 08:31 | |
-!- AshleyWaffle [~quassel@76.121.59.64] has joined ##hplusroadmap | 08:49 | |
-!- AshleyWaffle [~quassel@76.121.59.64] has quit [Changing host] | 08:49 | |
-!- AshleyWaffle [~quassel@unaffiliated/anastasiawyatt] has joined ##hplusroadmap | 08:49 | |
ParahSailin | why would you want to browserfy cheerio | 08:52 |
ParahSailin | browsers already have html parser | 08:52 |
@kanzure | yes, but the idea is to browserify papermonk | 08:55 |
@kanzure | i don't want to have two separate libraries (one for node, one for browsers). that seems like way more work. | 08:55 |
ParahSailin | if you want the same source code to work in both places, then just put in a switch that detects if its running in the browser, then use sizzle as its selector instead of cheerio | 08:57 |
@kanzure | for the outbound requests, i was thinking of writing a wrapper around request that would either (1) send an http request (if in node) or (2) send an XHR request to a proxy on the local server (if in a browser) and otherwise the api would look exactly the same. but there's a third possibility where you are already on the page that you want to parse (like in zotero) that i don't know how to incorporate yet. | 08:58 |
@kanzure | as for sizzle vs cheerio i don't really want two separate sets of functions for parsing the same thing | 08:58 |
@kanzure | if they are compatible then that sound scool | 08:59 |
@kanzure | *sounds cool | 08:59 |
ParahSailin | at i understand it, cheerio works on the pseudo-dom data structures generated by node-htmlparser | 08:59 |
@kanzure | i just mean i don't want to have to write 2 versions of parseTitle, https://github.com/kanzure/papermonk-downloader-plosone/blob/master/src/parse.js | 09:00 |
@kanzure | (this version works with cheerio) | 09:00 |
ParahSailin | so i guess you could translate actual dom to psuedo dom so that you can use cheerio with it | 09:01 |
ParahSailin | or, it looks like cheerio is probably 99% compatible with jquery methods, so have a switch to detect if its in a browser, then require jquery else require cheerio | 09:03 |
-!- jmil_ [~jmil@hive76/member/jmil] has joined ##hplusroadmap | 09:04 | |
-!- jmil [~jmil@hive76/member/jmil] has quit [Ping timeout: 276 seconds] | 09:04 | |
-!- jmil_ is now known as jmil | 09:04 | |
-!- Not-002 [~notifico@198.199.82.216] has quit [Remote host closed the connection] | 09:05 | |
-!- jmil [~jmil@hive76/member/jmil] has quit [Client Quit] | 09:05 | |
ParahSailin | kanzure: cheerio's traversal methods literally act on this sort of data record https://gist.github.com/rcallahan/a65e56dcd8a643d2e9ef | 09:08 |
@kanzure | iirc sizzle was a better idea than jquery | 09:17 |
@kanzure | i think the way to check if we're in a browser is to see if window === undefined | 09:20 |
ParahSailin | sizzle is the core functionality of jquery that we care about for this, but im not sure if there is a sizzle equivalent that acts on the dom records generated by htmlparser2 | 09:20 |
-!- aelinoea [~aelinoea@a88-113-45-152.elisa-laajakaista.fi] has joined ##hplusroadmap | 09:21 | |
ParahSailin | i suppose that would be pretty easy to do, to modify cheerio traversal functions to have same syntax as sizzle | 09:21 |
@kanzure | grr that sounds annoying though. isn't there something that just works for this function? | 09:22 |
@kanzure | i guess nobody has wanted to parse html in node and then have the same shit work in a browser? | 09:23 |
ParahSailin | doesnt node.js support native compiled modules? | 09:23 |
@kanzure | definitely | 09:23 |
ParahSailin | maybe we should just make a fast jsdom in native code for node.js | 09:23 |
@kanzure | unfortunately that requires recompiling node to link the event loop with the webkit event loop | 09:23 |
@kanzure | i know these things because of my time spent on phantomjs/webkit/node | 09:24 |
ParahSailin | why is a browser event loop involved in this at all? | 09:24 |
@kanzure | because the way that the dom works in webkit is that there are event loops | 09:24 |
ParahSailin | just implement DOM in cpp as a node module | 09:24 |
@kanzure | that's what webkit provides | 09:24 |
ParahSailin | implement all the methods that jsdom does in cpp | 09:24 |
@kanzure | eh, i think it's overkill anyway | 09:25 |
ParahSailin | jsdom is obv not complete dom implementation, but its enough for sizzle's traversal functions | 09:25 |
@kanzure | cheerio is very fast | 09:25 |
ParahSailin | the window === undefined check will be more than adequate | 09:26 |
@kanzure | yeah | 09:26 |
ParahSailin | $ = (window === undefined)? require('cheerio').load(innerhtml) : require("jquery") | 09:27 |
-!- poppingtonic [~poppingto@212.49.88.110] has quit [Read error: Connection reset by peer] | 09:27 | |
-!- poppingtonic [~poppingto@212.49.88.110] has joined ##hplusroadmap | 09:27 | |
-!- poppingtonic [~poppingto@212.49.88.110] has quit [Client Quit] | 09:28 | |
@kanzure | actually, browserify scans all files for each require() statement | 09:29 |
@kanzure | so we'll have to figure out how to disable browserify for cheerio | 09:29 |
ParahSailin | epicycles and epicycles | 09:29 |
@kanzure | because this don't work: echo "require('cheerio');" > main.js; browserify main.js > bundle.js | 09:29 |
ParahSailin | so we're allowing code transformations to make code slightly different for the two environments? | 09:33 |
@kanzure | what do you mean code transformations? | 09:33 |
ParahSailin | browserify :: JS -> JS? | 09:33 |
@kanzure | browserify is just a bundler | 09:33 |
@kanzure | because require() doesn't work in a browser | 09:33 |
@kanzure | so browserify provides require() and then puts all of the modules together | 09:34 |
@kanzure | there's something called browserify-cdn that lets you stream modules from a remote host, but i dunno if i care about that | 09:34 |
ParahSailin | browserify changes require() to requirejs? | 09:34 |
ParahSailin | or something similar? | 09:34 |
@kanzure | yeah | 09:34 |
ParahSailin | is browserify the only code transformation we are allowing? | 09:35 |
@kanzure | what other transformation are you imagining? | 09:35 |
ParahSailin | i dunno, avoiding the window === undefined stuff would be nice | 09:35 |
@kanzure | btw i don't think the browserify output will be committed | 09:35 |
@kanzure | oh, i see | 09:35 |
ParahSailin | #ifndef browser require(jquery) #endif whatever | 09:36 |
@kanzure | well, that can be shoved into a third-party module if it makes you feel better? | 09:36 |
ParahSailin | well i dont really get to say anything since you're the one doing all this | 09:36 |
@kanzure | uh, what? bad ideas are always bad ideas, even if i'm the one saying the bad ideas. | 09:37 |
ParahSailin | it seems like the divergence between the browser and node will just be in that one place | 09:37 |
@kanzure | nope, also http requests | 09:38 |
ParahSailin | so just have two very small wrapper index.js files: one requiring cheerio, other requiring jquery | 09:38 |
ParahSailin | ah right | 09:38 |
ParahSailin | i thought browserify already handled that though | 09:38 |
@kanzure | unfortunately browserify's http module only allows http requests to the server that the bundle was served from | 09:39 |
ParahSailin | pass thr cheerio-containing index.js to browserify, apply the other directly to node interpreter | 09:39 |
ParahSailin | kanzure: yeah makes sense, js xss rules and all | 09:40 |
@kanzure | not quite, there can/should only be one index.js because that's what package.json points to | 09:40 |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has joined ##hplusroadmap | 09:41 | |
ParahSailin | ok be two different packages, one is papermonk-browser, the other is papermonk-prime | 09:41 |
ParahSailin | if that's "ugly", its because you're trying to do something intrinsically ugly | 09:42 |
@kanzure | there's a few ways around the xhr restrictions in a browser: (1) the server can have a proxy and you xhr to the proxy with your actual request, (2) you only run the downloaders on pages from publishers and the requests are just pass-through because you're already there, (3) something that injects an iframe into the page and then reads the response (but this gets annoying for POST/PUT/DELETE/whatever.. GET is simple) | 09:42 |
@kanzure | #2 is how zotero works | 09:43 |
@kanzure | because you only run the translators when you're currently on a page | 09:44 |
@kanzure | #1 would mean that you could only run papermonk in a browser when it's served from a particular server. but if you have to connect to a server to run papermonk requests through a proxy, why not just use papermonk on the server-side? so that's sorta irrelevant. | 09:45 |
@kanzure | i think #2 or #3 is necessary because my original plan was to make this something that can replace zotero's translators so that the zotero people will maintain my scrapers for me | 09:46 |
ParahSailin | is zotero a browser extension? | 09:48 |
@kanzure | yeah | 09:48 |
@kanzure | firefox-only | 09:49 |
ParahSailin | so then it would have its own sort of javascript jail that may or may not allow cross site requests | 09:49 |
ParahSailin | or is that a chrome only feature | 09:49 |
@kanzure | that's also present in firefox/gecko | 09:50 |
@kanzure | this is why the zotero translators only interact with the page/site that is currently loaded on the page | 09:50 |
ParahSailin | https://developer.mozilla.org/en-US/docs/Extension_Frequently_Asked_Questions#I_cannot_initiate_an_XMLHttpRequest_from_my_extension | 09:50 |
@kanzure | except.. through the zotero api.. which passes-through to the firefox extension api. | 09:50 |
@kanzure | oh hm | 09:51 |
@kanzure | i think those conditions are satisfied in zotero | 09:51 |
@kanzure | i'm trying to see if there's any zotero translator that uses an iframe or xhr or something | 09:53 |
-!- hehelleshin [~talinck@69-61-156-24.ubr1.dyn.lebanon-oh.fuse.net] has joined ##hplusroadmap | 09:59 | |
@kanzure | yeah i'm actually clueless here | 10:00 |
@kanzure | this one is interesting, https://github.com/zotero/zotero-connectors | 10:02 |
@kanzure | " The Zotero bookmarklet, part of https://github.com/zotero/zotero-connectors, runs Zotero translators in the browser. While it wasn't designed with modularity in mind, with some effort you could modify it to pass the item metadata to your JS instead of saving it to zotero.org." | 10:02 |
@kanzure | " translation-server (https://github.com/zotero/translation-server) is our current sever-side implementation of Zotero's translation architecture. It provides a simple API to extract metadata from a URL. zotero-node was our previous attempt at this; translation-server is somewhat more difficult to install, but faster, more compatible with translators, more stable, and actively maintained." | 10:02 |
@kanzure | "ProQuest PME (https://github.com/proquest/pme) is ProQuest's attempt to adapt about 20 of our translators (out of ~280 total) to work in their bookmarklet as part of RefWorks Flow (http://flow.proquest.com/). I've never tested it, but it exists." | 10:02 |
-!- helleshin [~talinck@69-61-156-24.ubr1.dyn.lebanon-oh.fuse.net] has quit [Ping timeout: 264 seconds] | 10:02 | |
-!- AshleyWaffle [~quassel@unaffiliated/anastasiawyatt] has quit [Read error: Connection reset by peer] | 10:12 | |
-!- klafka [~klafka@c-24-6-18-31.hsd1.ca.comcast.net] has joined ##hplusroadmap | 10:15 | |
@kanzure | this is some weird shit https://github.com/zotero/zotero-connectors/blob/master/build.sh | 10:17 |
@kanzure | ah.. Zotero.HTTP.doGet | 10:18 |
@kanzure | here's one that does an xhr-like operation (Zotero.HTTP.doGet)-- https://github.com/zotero/translators/blob/master/Stanford%20Encyclopedia%20of%20Philosophy.js | 10:19 |
-!- aelinoea [~aelinoea@a88-113-45-152.elisa-laajakaista.fi] has quit [Quit: Leaving] | 10:20 | |
@kanzure | i've been waiting to tell zotero about what i'm up to because they have a /lot/ of activity and it's sorta rude to bring them a half-working proposal. this bookmarklet system seems curious. | 10:25 |
-!- klafka [~klafka@c-24-6-18-31.hsd1.ca.comcast.net] has quit [Remote host closed the connection] | 10:31 | |
-!- Adillian [~Adillian@97e0b193.skybroadband.com] has quit [Quit: Nettalk6 - www.ntalk.de] | 10:31 | |
-!- lupfantomo [~lupfantom@24-159-24-229.dhcp.jcsn.tn.charter.com] has quit [Ping timeout: 240 seconds] | 10:40 | |
-!- lupfantomo [~lupfantom@24-159-24-229.dhcp.jcsn.tn.charter.com] has joined ##hplusroadmap | 10:53 | |
-!- hehelleshin is now known as Helleshin | 10:59 | |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has quit [Ping timeout: 264 seconds] | 11:02 | |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has joined ##hplusroadmap | 11:09 | |
KnightSirThom | !lastgame knightsirthom | 11:16 |
KnightSirThom | sorry wrong channel | 11:16 |
-!- klafka [~klafka@204-16-157-18-static.ipnetworksinc.net] has joined ##hplusroadmap | 11:25 | |
-!- oblique [~oblique@unaffiliated/oblique] has joined ##hplusroadmap | 11:33 | |
archels | kanzure: do we know anyone in Zürich? | 11:42 |
@kanzure | eugen leitl might be nearby | 11:43 |
@kanzure | zakwilson | 11:43 |
@kanzure | there's a bunch of synthetic biology people at ETH | 11:43 |
@kanzure | wait, which zurich? | 11:44 |
@kanzure | oh i see it's in switzerland | 11:44 |
@kanzure | most of the hackteria people are supposed to be in switzerland | 11:45 |
archels | this event is from the University of Zurich, not ETH, but they are right next to each other | 11:46 |
archels | I'm not sure about the details of the relation between the two, but there are speakers from ETH coming, so it seems amiable | 11:48 |
-!- aelinoea [~aelinoea@a88-113-45-152.elisa-laajakaista.fi] has joined ##hplusroadmap | 11:52 | |
ParahSailin | i know some swiss people | 11:54 |
-!- fireprfHydra [~fireprfHy@ool-44c01f50.dyn.optonline.net] has quit [Ping timeout: 268 seconds] | 11:56 | |
-!- fireprfHydra [~fireprfHy@ool-44c01f50.dyn.optonline.net] has joined ##hplusroadmap | 11:58 | |
@kanzure | oh man. shell script hell. https://github.com/zotero/provo this is how they test translators. | 12:07 |
-!- poppingtonic [~poppingto@212.49.88.109] has joined ##hplusroadmap | 12:10 | |
@kanzure | pfft the zotero people are suspicious | 12:12 |
@kanzure | 12:04 < simonster> the main disadvantages would be portability and performance | 12:12 |
@kanzure | performance should increase because papermonk doesn't have a dependency on firefox/gecko | 12:13 |
@kanzure | and portability.. eh. the zotero api is intricately linked to firefox, which has zero portability. | 12:13 |
-!- yorick [~yorick@oftn/member/yorick] has joined ##hplusroadmap | 12:37 | |
-!- Noryokusha [Noryokusha@198-84-225-88.cpe.teksavvy.com] has quit [] | 12:59 | |
-!- monkeynipples [monkeynipp@gateway/shell/xzibition.com/x-ktptfebnovznxota] has quit [Ping timeout: 240 seconds] | 13:00 | |
-!- weles [~mariusz@wsip-70-183-164-170.ri.ri.cox.net] has quit [Ping timeout: 256 seconds] | 13:03 | |
-!- monkeynipples [monkeynipp@gateway/shell/xzibition.com/x-relbyhmtycccdklj] has joined ##hplusroadmap | 13:07 | |
-!- weles [~mariusz@c-71-234-3-169.hsd1.ct.comcast.net] has joined ##hplusroadmap | 13:18 | |
-!- weles [~mariusz@c-71-234-3-169.hsd1.ct.comcast.net] has quit [Ping timeout: 276 seconds] | 13:26 | |
-!- weles [~mariusz@c-71-234-3-169.hsd1.ct.comcast.net] has joined ##hplusroadmap | 13:34 | |
-!- yorick [~yorick@oftn/member/yorick] has quit [Remote host closed the connection] | 13:36 | |
-!- aelinoea [~aelinoea@a88-113-45-152.elisa-laajakaista.fi] has quit [Quit: Leaving] | 13:39 | |
-!- makoLime [~mako@103-9-42-133.flip.co.nz] has joined ##hplusroadmap | 13:39 | |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has quit [Ping timeout: 264 seconds] | 13:40 | |
-!- weles [~mariusz@c-71-234-3-169.hsd1.ct.comcast.net] has quit [Ping timeout: 260 seconds] | 13:41 | |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has joined ##hplusroadmap | 13:41 | |
-!- monkeynipples [monkeynipp@gateway/shell/xzibition.com/x-relbyhmtycccdklj] has quit [Ping timeout: 260 seconds] | 14:17 | |
-!- monkeynipples [monkeynipp@gateway/shell/xzibition.com/x-vdotlvkrwvzobwua] has joined ##hplusroadmap | 14:21 | |
-!- klafka [~klafka@204-16-157-18-static.ipnetworksinc.net] has quit [Remote host closed the connection] | 14:21 | |
-!- ielo [~ielo@host-92-20-171-32.as13285.net] has quit [Ping timeout: 246 seconds] | 15:03 | |
-!- Reinhard [Reinhard@198-84-225-88.cpe.teksavvy.com] has joined ##hplusroadmap | 15:04 | |
Reinhard | opensuse was a failure | 15:04 |
Reinhard | welp :/ | 15:04 |
-!- Reinhard is now known as Noryokusha | 15:04 | |
-!- n_bentha [b84bd452@gateway/web/freenode/ip.184.75.212.82] has joined ##hplusroadmap | 15:07 | |
n_bentha | http://www.extremetech.com/extreme/163997-carbyne-a-new-form-of-carbon-thats-stronger-than-graphene | 15:07 |
-!- sivoais [~zaki@unaffiliated/sivoais] has quit [Quit: leaving] | 15:09 | |
-!- sivoais [~zaki@unaffiliated/sivoais] has joined ##hplusroadmap | 15:10 | |
ThomasEgi | reminds me of asbestos. sure that stuff isn't going to cause supercancer? | 15:10 |
poppingtonic | paperbot: http://www.jstor.org/stable/2384389 | 15:16 |
n_bentha | that article is pretty bad (the one i posted earlier). this one is better: http://www.technologyreview.com/view/518301/new-form-of-carbon-is-stronger-than-graphene-and-diamond/ | 15:17 |
paperbot | http://libgen.org/scimag/get.php?doi=10.2307%2F2384389 | 15:19 |
-!- EnLilaSko [EnLilaSko@unaffiliated/enlilasko] has quit [Remote host closed the connection] | 15:25 | |
-!- augur [~augur@208.58.5.87] has quit [Remote host closed the connection] | 15:46 | |
-!- Noryokusha [Reinhard@198-84-225-88.cpe.teksavvy.com] has quit [Read error: Connection reset by peer] | 15:46 | |
-!- Noryokusha [Noryokusha@198-84-225-88.cpe.teksavvy.com] has joined ##hplusroadmap | 15:46 | |
-!- GuanPing [~GuanYu@184.75.212.82] has joined ##hplusroadmap | 15:48 | |
-!- GuanPing [~GuanYu@184.75.212.82] has quit [Client Quit] | 15:48 | |
-!- nicotiana_b [~GuanYu@184.75.212.82] has joined ##hplusroadmap | 15:49 | |
-!- nicotiana_b [~GuanYu@184.75.212.82] has quit [Client Quit] | 15:50 | |
-!- nicotiana_b [~GuanYu@184.75.212.82] has joined ##hplusroadmap | 15:50 | |
-!- n_bentha [b84bd452@gateway/web/freenode/ip.184.75.212.82] has quit [Ping timeout: 250 seconds] | 15:52 | |
-!- fireprfHydra [~fireprfHy@ool-44c01f50.dyn.optonline.net] has quit [Ping timeout: 256 seconds] | 16:12 | |
-!- klafka [~klafka@c-24-6-18-31.hsd1.ca.comcast.net] has joined ##hplusroadmap | 16:16 | |
poppingtonic | http://boingboing.net/2013/08/16/an-urban-legend-documented.html | 16:18 |
-!- chris_99 [~chris_99@unaffiliated/chris-99/x-3062929] has quit [Quit: Leaving] | 16:26 | |
-!- fireprfHydra [~fireprfHy@ool-44c01f50.dyn.optonline.net] has joined ##hplusroadmap | 16:27 | |
-!- Helleshin [~talinck@69-61-156-24.ubr1.dyn.lebanon-oh.fuse.net] has quit [Ping timeout: 260 seconds] | 16:35 | |
-!- nicotiana_b is now known as n_bentha | 16:46 | |
-!- helleshin [~talinck@69-61-156-24.ubr1.dyn.lebanon-oh.fuse.net] has joined ##hplusroadmap | 16:50 | |
-!- fireprfHydra [~fireprfHy@ool-44c01f50.dyn.optonline.net] has quit [Ping timeout: 260 seconds] | 17:07 | |
-!- fireprfHydra [~fireprfHy@ool-44c01f50.dyn.optonline.net] has joined ##hplusroadmap | 17:25 | |
@kanzure | ParahSailin: unrelated, but here's a browserify bloat-finding tool https://github.com/hughsk/disc | 17:36 |
@kanzure | ParahSailin: so yeah, the zotero api allows unrestricted xhr. but the bookmarklets obviously have restricted xhr. so some translators are just flat out not included in the bookmarklets. according to simonster. | 17:51 |
-!- ThomasEgi [~thomas@panda3d/ThomasEgi] has quit [Remote host closed the connection] | 18:09 | |
@kanzure | oh, my iframe + xhr idea is bad because of X-Frame-Options: SAMEORIGIN. i forgot. | 18:13 |
-!- klafka [~klafka@c-24-6-18-31.hsd1.ca.comcast.net] has quit [Remote host closed the connection] | 18:19 | |
juul | kanzure: what's your iframe + xhr idea? | 18:50 |
@kanzure | the one i mentioned above. nevermind though. it wouldn't work. | 18:50 |
@kanzure | there's no point in trying to hammer a browser into doing something that violates the security model of the web | 18:51 |
@kanzure | especially because i don't control publishers' servers | 18:51 |
juul | ok | 18:52 |
juul | i'm considering abusing the security model to sandbox user-written code | 18:52 |
juul | it's probably a bad idea | 18:53 |
juul | but i'm gonna do it anyway | 18:53 |
@kanzure | is ogden on drugs? | 18:53 |
juul | what? | 18:53 |
@kanzure | max. your homie, right? | 18:53 |
juul | no he's probably one of the sanest people i know | 18:54 |
@kanzure | i don't mean he's insane | 18:54 |
@kanzure | i mean he seems to push 50-100 commits/day reliably | 18:54 |
juul | haha, yeah | 18:54 |
@kanzure | not all of them great i guess | 18:54 |
juul | him and substack are a powerhouse | 18:54 |
@kanzure | substack is just a robot from the future trapped on earth | 18:54 |
juul | and he also finds time to come play at sudo room | 18:54 |
juul | yesterday ogden was 3d printing voxel graphics | 18:55 |
@kanzure | sometimes i spoof my commits to spread them out temporally but still.. | 18:55 |
@kanzure | yeah, i saw some node modules about voxel/stl/3d printing things | 18:55 |
juul | yep | 18:55 |
@kanzure | and something about voxel hosting. shrug.. | 18:55 |
juul | he did the in-browser minecraft world | 18:56 |
juul | not actual minecraft, but minecraft graphics | 18:56 |
@kanzure | i saw that because of the ardrone simulator that uses it | 18:56 |
juul | ah | 18:57 |
@kanzure | juul: i'm rewriting zotero to be a more modular and sane system. and less monolithic. | 18:57 |
@kanzure | juul: https://github.com/kanzure/papermonk | 18:57 |
@kanzure | juul: https://github.com/kanzure/papermonk-downloader-plosone | 18:57 |
@kanzure | at the moment i'm working on browserify compatibility. which is also why i was concerned about xhr+cors. but even zotero's bookmarklet system (where it dumps all of their 100s of translators into a giant bookmarklet) just drop/don't use translators that use remote http requests. so i guess i'm okay with a similar caveat. | 18:58 |
juul | oh niiice | 18:59 |
@kanzure | anyway this will soon replace paperbot | 19:00 |
@kanzure | and then i will have to start on rewriting pdfparanoia into javascript | 19:00 |
@kanzure | so that we can do streaming pdf watermark removal and streaming pdf pirating | 19:00 |
juul | oh, i assume there are good pdf libraries for js? | 19:00 |
@kanzure | probably not | 19:00 |
juul | ok | 19:00 |
@kanzure | python just has pdfminer, and it blows | 19:00 |
juul | fsf used to have pdf as one of their top priorities for free software | 19:01 |
@kanzure | i think juri_ worked on that or knows of it | 19:01 |
@kanzure | it was all xml xpath rewriting rules or something. it was really scary. | 19:01 |
juul | oh, yeah that sounds unfun | 19:02 |
@kanzure | i don't see any pdf parser modules on npmjs.org | 19:02 |
ParahSail1n | you really like javascript... | 19:02 |
@kanzure | to be honest, pdfparanoia just uses pdfminer for parsing, and then i manipulate pdfs manually and against the spec | 19:02 |
@kanzure | i don't like javascript at all, i fucking hate it | 19:02 |
ParahSail1n | to want to write a pdf parser in it | 19:03 |
juul | i guess there's this https://github.com/mozilla/pdf.js/ | 19:03 |
@kanzure | that's a viewer | 19:03 |
juul | yeah, not ideal | 19:03 |
@kanzure | s/against the spec/by violating the spec | 19:03 |
juul | btw, a bit off topic, but some of my friends wrote Lua EventMachine | 19:04 |
juul | it's an interesting take on event-based network programming | 19:04 |
juul | no callbacks | 19:04 |
juul | or at least, no explicit callbacks | 19:05 |
-!- lichen_ is now known as lichen | 19:05 | |
ParahSail1n | lua is awesome because, like js, there's only one numerical type | 19:06 |
juul | well, in node, there are libs to have multiple numeric types | 19:06 |
juul | heavily used in the 3D programming stuff | 19:06 |
-!- augur [~augur@c-68-55-204-212.hsd1.md.comcast.net] has joined ##hplusroadmap | 19:11 | |
-!- augur [~augur@c-68-55-204-212.hsd1.md.comcast.net] has quit [Remote host closed the connection] | 19:30 | |
-!- klafka [~klafka@c-24-6-18-31.hsd1.ca.comcast.net] has joined ##hplusroadmap | 19:30 | |
-!- klafka [~klafka@c-24-6-18-31.hsd1.ca.comcast.net] has quit [Ping timeout: 268 seconds] | 19:35 | |
-!- lichen_ [~lichen@c-24-21-206-64.hsd1.or.comcast.net] has joined ##hplusroadmap | 19:36 | |
-!- lichen [~lichen@c-24-21-206-64.hsd1.or.comcast.net] has quit [Ping timeout: 264 seconds] | 19:39 | |
-!- lichen_ is now known as lichen | 19:39 | |
-!- Not-002 [~notifico@198.199.82.216] has joined ##hplusroadmap | 19:42 | |
Not-002 | [kanzure/papermonk-downloader-plosone] kanzure tagged f5218f5 as v0.0.6 http://git.io/ND2lng | 19:42 |
Not-002 | [kanzure/papermonk-downloader-plosone] kanzure pushed 4 commits to master [+0/-0/±9] http://git.io/FRTLdg | 19:42 |
Not-002 | [kanzure/papermonk-downloader-plosone] kanzure 7f6e54a - replace request with hyperquest Also, use concat-stream to buffer the response body for parsing. Eventually, parsing will switch to some sort of stream-based html parser and metadata will be emitted as it's parsed or something. | 19:42 |
Not-002 | [kanzure/papermonk-downloader-plosone] kanzure 97d9e94 - also switch pdf downloading to hyperquest | 19:42 |
Not-002 | [kanzure/papermonk-downloader-plosone] kanzure 9bff2d7 - Merge branch 'use-hyperquest' into master Replace request with hyperquest. | 19:42 |
Not-002 | [kanzure/papermonk-downloader-plosone] kanzure f5218f5 - version bump to: v0.0.6 | 19:42 |
-!- fireprfHydra [~fireprfHy@ool-44c01f50.dyn.optonline.net] has quit [Ping timeout: 260 seconds] | 20:44 | |
-!- ParahSailin [~Rob@unaffiliated/parahsailin] has quit [Read error: Connection reset by peer] | 20:50 | |
-!- ParahSailin [~Rob@50-194-178-148-static.hfc.comcastbusiness.net] has joined ##hplusroadmap | 20:50 | |
@kanzure | juul: you wouldn't happen to know what to do with three different streams, would you? i have a request=hyperquest.get() and request.pipe(trumpeter) and output = through() and trumpeter.selectAll("title", function(title) { output.queue({title: title}); }) but what do i do about request.on("error") or giving "output" to the user as a stream to work with? | 21:06 |
@kanzure | the user has to be given something | 21:08 |
@kanzure | originally i was passing in a callback, and then passing a metadata dictionary into the callback (so callback(error, metadata)) but this doesn't make sense if i have streams and pipes available | 21:08 |
heath | hyperquest? | 21:15 |
heath | got it https://github.com/substack/hyperquest | 21:15 |
* heath hasn't worked with streams as much as he would like | 21:17 | |
@kanzure | heath: https://gist.github.com/kanzure/6255244 | 21:19 |
@kanzure | heath: that's essentially what i'm trying to figur eout | 21:19 |
heath | pubsub | 21:20 |
heath | i imagine that's a way | 21:20 |
heath | https://github.com/mroderick/PubSubJS | 21:21 |
Noryokusha | welcome back heath | 21:21 |
Noryokusha | whered you go | 21:21 |
heath | it's the weekend, i'm trying to restrict my computer usage | 21:23 |
Noryokusha | do some pushups | 21:27 |
Noryokusha | ill compete with you | 21:27 |
Noryokusha | first to get 100 pushups wins | 21:27 |
heath | i probably already won this contest then :) | 21:28 |
* heath walks away for awhile | 21:28 | |
ParahSail1n | paperbot, http://www.plosone.org/article/info:doi/10.1371/journal.pone.0060410#s5 | 21:31 |
paperbot | http://diyhpl.us/~bryan/papers2/paperbot/Non-Invasive%20Brain-to-Brain%20Interface%20%28BBI%29%3A%20Establishing%20Functional%20Links%20between%20Two%20Brains.pdf | 21:32 |
@kanzure | i don't think pubsub is the right answer | 21:32 |
heath | request within hyperquest is an instance of EventEmitter | 21:38 |
heath | you could attach an event listener for the error | 21:38 |
@kanzure | attach to what? | 21:38 |
-!- yashgaroth [~ffffff@cpe-75-80-50-28.san.res.rr.com] has joined ##hplusroadmap | 21:40 | |
heath | you have it in your code, what's wrong with //request.on("error", function(error){..}); | 21:40 |
@kanzure | uh? | 21:40 |
@kanzure | because i don't want to handle the error, i want the user to | 21:41 |
@kanzure | even if i do write something there, i still need to tell the user | 21:41 |
@kanzure | see? | 21:41 |
heath | it's not clear to me how the user is using the system i guess | 21:42 |
@kanzure | downloader.download().pipe(pdfstream) | 21:42 |
@kanzure | or, really, it's more like a stream of metadata and pdf and other files | 21:43 |
@kanzure | and the user might save to that to the file system (i don't really care) | 21:43 |
Noryokusha | lol damn you heath | 21:46 |
Noryokusha | i can barely do 20 | 21:46 |
heath | kanzure: maybe promises? this seems a bit much, but it would work | 21:47 |
heath | https://github.com/kriskowal/q | 21:47 |
@kanzure | no thanks, i think there's a way to do it with just streams or event emitters | 21:48 |
@kanzure | promises are a different beast | 21:48 |
@kanzure | promises are a way to organize callback spaghetti. i was trying to get away from using a callback. | 21:48 |
@kanzure | current version: https://github.com/kanzure/papermonk-downloader-plosone/blob/master/index.js#L24 | 21:48 |
@kanzure | line 29 calls the callback | 21:48 |
heath | that's why i suggested it, the only other option i can think of is a callback for the download function | 21:49 |
@kanzure | neat, https://superevr.com/blog/2012/top-level-universal-xss/ | 22:29 |
@kanzure | http://io./cgi-bin/whois?query=%3Ca%20href=%22%22%3E%3Cu%3EArbitrary%20HTML!%3C/u%3E%3C/a%3E%3C/h3%3E%3Cimg%20src=%22http://humananatura.files.wordpress.com/2011/08/hn-initials.jpg%22%3E%3Cscript%3Ealert('this%20will%20pop%20up%20in%20firefox!');%3C/script%3E%3Ch3%3E | 22:29 |
@kanzure | not bad https://www.runscope.com/ .. i think they bought http://requestb.in/ but that doesn't make sense because it was an open source project. | 22:48 |
rigel | so this whole couchdb thing | 23:14 |
rigel | that stores binary objects, no? | 23:14 |
rigel | all these streaming media servers use SQL | 23:15 |
rigel | and im wondering if thats still necessary | 23:15 |
-!- augur [~augur@208.58.5.87] has joined ##hplusroadmap | 23:22 | |
-!- augur [~augur@208.58.5.87] has quit [Read error: Connection reset by peer] | 23:22 | |
-!- augur [~augur@208.58.5.87] has joined ##hplusroadmap | 23:22 | |
heath | rigel: that's mongo | 23:28 |
heath | couch is all json | 23:28 |
-!- n_bentha [~GuanYu@184.75.212.82] has quit [Ping timeout: 268 seconds] | 23:48 | |
--- Log closed Sat Aug 17 00:00:58 2013 |
Generated by irclog2html.py 2.15.0.dev0 by Marius Gedminas - find it at mg.pov.lt!