- May 2015
-
saybooksonline.com saybooksonline.com
-
www.cbc.ca www.cbc.ca
-
-
exchanges.wiley.com exchanges.wiley.com
-
chronicle.com chronicle.com
-
www.hu-berlin.de www.hu-berlin.de
-
-
blogs.pjjk.net blogs.pjjk.net
- Apr 2015
-
www.poetryfoundation.org www.poetryfoundation.org
-
Since Number Five is out of the bathroom now, We think of lukewarm water, hope to get in it.
Such kitchenettes were single-room apartments, subdivided from a larger apartment, so they might all share a single bathroom.
"Number Five" refers to a neighbor in one of the other kitchenette apartments. That they are not given a name only further emphasizes the dehumanization of these living conditions, in which they can't even expect hot water.
-
-
www.poetryfoundation.org www.poetryfoundation.org
-
Unreal City, Under the brown fog of a winter dawn,
Why is the city, London in this case, "unreal"? The weather has given it a mystical quality no doubt. But more deeply, the city seems unreal in that it is not realizable, that is comprehensible, to Eliot in the modern sense. In short, he can't make sense of it.
Tags
Annotators
URL
-
-
github.com github.com
-
hypothesis.js
hypothesis.jsis injected into the page by embed.js using either the browser's plugin API or (in the case of the bookmarklet) the DOM API. (embed.jswas in turn injected by the browser plugin or bookmarklet).hypothesis.jsis the "bootstrap" code that connects up and starts the various components of the Hypothesis app. -
app: jQuery('link[type="application/annotator+html"]').attr('href'),
Here we find the
<link rel="sidebar" ...thatembed.jsinjected into the page. We pass it into the constructor method of Annotator.Host below. -
window.annotator = new Klass(document.body, options);
Calling the Annotator.Host construct, passing an
optionsobject including our sidebar link. -
Annotator.noConflict().$.noConflict(true);
Having created our
Annotatorinstance and added our custom plugins etc to it, we inject Annotator into the page.
-
-
github.com github.com
-
layout.app_inject_urls
app_inject_urlsis the list of scripts and stylesheets that we're going to inject into the page. This comes from layouts.py, which in turn gets it from assets.yaml.Most importantly these URLs to be injected include a minified version of hypothesis.js.
-
var baseUrl = document.createElement('link'); baseUrl.rel = 'sidebar'; baseUrl.href = '{{ app_uri or request.resource_url(context, 'app.html') }}'; baseUrl.type = 'application/annotator+html'; document.head.appendChild(baseUrl);
Finally, we inject a
<link rel="sidebar" type="application/annotator+html" href=".../app.html">into the<head>of the document. This is the HTML page for the contents of the sidebar/iframe. This link will be picked up by hypothesis.js later. -
if (resources.length) { var url = resources.shift(); var ext = url.split('?')[0].split('.').pop(); var fn = (ext === 'css' ? injectStylesheet : injectScript); fn(url, next); }
This loop is where we actually call
injectScript()orinjectStylesheet()on each of the resource URLs defined above. -
var injectScript = inject.script || function injectScript(src, fn) {
And we do the same thing for injecting scripts as we did for injecting stylesheets - we either use the function passed in by the browser plugin, or when called by the bookmarklet we fall back on the DOM API.
-
var injectStylesheet = inject.stylesheet || function injectStylesheet(href, fn) {
hypothesisInstall()will use theinject.stylesheet()function passed in to it to inject stylesheets into the page or, if no function was passed in, it'll fallback on the default function defined inline here.The default method just uses the DOM's
appendChild()method, but this method may fail if the site we're trying to annotate uses the Content Security Policy.That's why when we're using one of the browser plugins rather than the bookmarklet, we pass in the browser API's method for injecting a stylesheet instead.
This is why the bookmarklet doesn't currently work on GitHub, for example, but the Chrome plugin does.
-
embed.js
embed.jsis responsible for "embedding" the different components of the Hypothesis frontend application into the page.First, either bookmarklet.js or one of the browser plugins injects a
<script>tag toembed.jsinto the page, thenembed.jsruns.This way the code in
embed.jsis shared across all bookmarklets and browser plugins, and the bookmarklets and plugins themselves have very little code.
-
-
github.com github.com
-
app.appendTo(@frame)
And we inject our
<iframe>into ... the frame? (@frameis a<div>that wraps our<iframe>, it's defined and injected into the page in guest.coffee). -
app = $('<iframe></iframe>') .attr('name', 'hyp_sidebar_frame') .attr('seamless', '') .attr('src', src)
Finally, this is where we create the
<iframe>element that is the Hypothesis sidebar!
-
-
github.com github.com
-
embed = document.createElement('script'); embed.setAttribute('src', embedUrl); document.body.appendChild(embed);
Here we construct the actual
<script>element, set itssrcURL, and inject it into the page using the DOM's appendChild() method. -
var embedUrl = '{{request.resource_url(context, "embed.js")}}';
The whole job of the bookmarket is to inject a
<script src=".../embed.js">element into the current page. ThesrcURL of this script element points to embed.js, another Pyramid template rendered by the server-side Hypothesis app. -
bookmarklet.js
bookmarklet.jsis the Pyramid template (rendered by our server-side Pyramid app) for the Hypothesis bookmarklet. This little bit of JavaScript (after being rendered by Pyramid) is what the user actually drags to their bookmarks bar as a bookmarklet.
-
-
acert.hunter.cuny.edu acert.hunter.cuny.edu
-
Annotating texts in the classroom
-
-
msweeklytip.wordpress.com msweeklytip.wordpress.com
-
Web Annotation with Hypothesis Extension
-
- Mar 2015
-
en.wikiquote.org en.wikiquote.org
-
That is not dead which can eternal lie, And with strange aeons even death may die.
Oh really?
Tags
Annotators
URL
-
-
www.scrumguides.org www.scrumguides.org
-
an objective set for the Sprint that can be met through the implementation of Product Backlog. It provides guidance to the Development Team on why it is building the Increment. It is created during the Sprint Planning meeting. The Sprint Goal gives the Development Team some flexibility regarding the functionality implemented within the Sprint. The selected Product Backlog items deliver one coherent function, which can be the Sprint Goal. The Sprint Goal can be any other coherence that causes the Development Team to work together rather than on separate initiatives.
an objective set for the Sprint that can be met through the implementation of Product Backlog. It provides guidance to the Development Team on why it is building the Increment. It is created during the Sprint Planning meeting. The Sprint Goal gives the Development Team some flexibility regarding the functionality implemented within the Sprint. The selected Product Backlog items deliver one coherent function, which can be the Sprint Goal. The Sprint Goal can be any other coherence that causes the Development Team to work together rather than on separate initiatives.
Tags
- mağaza
- hepsini sor
- an objective set for the Sprint that can be met through the implementation of Product Backlog. It provides guidance to the Development Team on why it is building the Increment. It is created during the Sprint Planning meeting. The Sprint Goal gives the Development Team some flexibility regarding the functionality implemented within the Sprint. The selected Product Backlog items deliver one coherent function, which can be the Sprint Goal. The Sprint Goal can be any other coherence that causes the Development Team to work together rather than on separate initiatives.
Annotators
URL
-
- Dec 2014
-
www.theatlantic.com www.theatlantic.com
-
you’d sound like a pompous jackass.
Holy, leaping jehosaphats of hyperbole, Batman. He's so hyperbolic he's asymptotic. Yeah. I said it.
-
astonished at how difficult they were to interpret.
similar to a telephone interview--transcripts are valuable to the visually impaired but they represent a throttling of the gestalt, the whole of voice and vision that make up the full monty that is F2F conversation.
-
- Feb 2014
-
www.shirky.com www.shirky.com
-
Arguing that we need to keep the current system going just long enough to get the subsidy the world owes us is really just a way of preserving an arrangement that works well for elites—tenured professors, rich students, endowed institutions—but increasingly badly for everyone else.
-
-
ubuntuone.com ubuntuone.com
-
THE ART OF
The Art of Community
-
-
euro.ecom.cmu.edu euro.ecom.cmu.edu
-
Law of the Case
-
-
www.lawnerds.com www.lawnerds.com
-
MINTURN, J. The plaintiff occupied the position of a special police officer, in Atlantic City, and incidentally was identified with the work of the prosecutor of the pleas of the county. He possessed knowledge concerning the theft of certain diamonds and jewelry from the possession of the defendant, who had advertised a reward for the recovery of the property. In this situation he claims to have entered into a verbal contract with defendant, whereby she agreed to pay him $500 if he could procure for her the names and addresses of the thieves. As a result of his meditation with the police authorities the diamonds and jewelry were recovered, and plaintiff brought this suit to recover the promised reward.
- Plaintiff makes a verbal contract with defendant. In return for $500, plaintiff will find defendant's stolen jewels.
- Plaintiff had knowledge of whereabouts of jewels at contract formation.
- Plaintiff is a special police officer and has dealings with prosecutor's office.
- Defendant published advertisement for reward.
- Plaintiff finds stolen goods and arranges return.
-
- Jan 2014
-
www.yale.edu www.yale.edu
-
the proposition that diverse motivations animate human beings, and, more importantly, that there exist ranges of human experience in which the presence of monetary rewards is inversely related to the presence of other, social-psychological rewards.
The first analytic move.
-
common appropriation regimes do not give a complete answer to the sustainability of motivation and organization for the truly open, large-scale nonproprietary peer production projects we see on the Internet.
Towards the end of our last conversation the text following "common appropriation" seemed an interesting place to dive into further for our future discussions.
I have tagged this annotation with "meta" because it is a comment about our discussion and where to continue it rather than an annotation focused on the content itself.
In the future I would be interested in exploring the idea of "annotation types" that can be selectively turned on and off, but for now will handle that with ad hoc tags like "meta".
-
understanding that when a project of any size is broken up into little pieces, each of which can be performed by an individual in a short amount of time, the motivation to get any given individual to contribute need only be very small.
The second analytic move.
-
- Nov 2013
-
web.hypothes.is web.hypothes.is
-
[1]
Annotations might be a better way of doing footnotes because you are not taken to a completely different place thus losing your place in the text.
-
- Sep 2013
-
itrevolution.com itrevolution.com
-
Create slack time for important improvement projects
This is one of the intended effects of The Gardener role. By centralizing the duty of interrupt handling into one person's job it will free up time for each of the rest of us to focus on projects most of the time, and only occasionally every couple of months will we each have to worry about interrupts when the role of The Gardener passes to one of us for the week.
-