This is an automatically-generated summary of the IndieWebCamp wiki edits from May 16-23, 2014
Created by Tantek.com on May 17
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
DOI is an abbreviation for Digital Object Identifier, "a character string used to uniquely identify an object such as an electronic document[1]", kind of like a URL with more bureaucracy.
Contents |
DOIs are unnecessary because URLs work fine, and in many ways are better than DOIs. See additional criticisms:
"Before Zenodo can issue a DOI for your …"[2] - say what? I have to get some ORG to issue URLs for me? No thanks.[3] Using a personal domain I can issue whatever/however many URLs I want without asking anyone's permission.
Anyone that talks about "Minting a …" is probably doing it wrong and trying to sell you some service for doing the so-called "minting".[4]
There's so much architecture astronomy talk in nearly any positive description of DOIs that you could easily waste hours of your time before it was clear it was a waste of time. Hence criticism documented here to hopefully help you shortcut such distraction.
As of ~ 2014-05, GitHub posted about Making Your Code Citable using DOIs.
Created by Aaronparecki.com on May 20
A Micropub endpoint is an HTTP endpoint that micropub clients use to create new posts on a personal domain.
Contents |
After a client has obtained an access token and discovered the user's Micropub endpoint it is ready to make requests to create posts.
This is not intended to be a comprehensive guide to Micropub, so we will use the example of the "OwnYourGram" app creating a photo post at the Micropub endpoint. (See micropub for full docs.)
The request to create a photo will be sent with as multipart form-encoded so that the actual photo data is sent along with the request. Most web frameworks will automatically handle parsing the HTTP request and providing the POST parameters and the file upload automatically. The example code here is written in PHP but the idea is applicable in any language.
The request will contain the following POST parameters:
h=entry
- Indicates the type of object being created, in this case an h-entry.
content
- The text content the user entered, in this case the caption on the Instagram photo.
published
- An ISO8601 formatted date string representing the date the photo was published.
category
- A comma-separated list of hashtags the user included in the caption.
location
- A "geo" URI including the latitude and longitude of the photo if included. (Will look like `geo:37.786971,-122.399677`)
place_name
- If the location on Instagram has a name, the name will be included here.
photo
- The photo will be sent in a parameter named "photo". There will only be one photo per request.
The request will also contain an access token in the HTTP Authorization
header:
Authorization: Bearer XXXXXXXX
Before you can begin processing the photo, you must first verify the access token is valid and contains at least the "post" scope.
How exactly you do this is dependent on your architecture. In the example of creating a token endpoint, we looked at two ways of storing access tokens. To verify tokens in a database, you need to retrieve the token info from the database. To verify self-encoded tokens, you'll need to decode the token and check the info there. If you are using a token endpoint service such as tokens.indieauth.com then you can verify the access token using its API.
In any case, once you have looked up the token info, you need to make a determination about whether that access token is still valid. You'll have the following information at hand that can be used to check:
me
- The user who this access token corresponds to.
client_id
- The app that generated the token.
scope
- The list of scopes that were authorized by the user.
date_issued
- The date the token was issued.
Keep in mind that it may be possible for another user besides yourself to have created an access token at your token endpoint, so the first thing you'll do when verifying is making sure the "me" parameter matches your own domain. This way you are the only one that can create posts on your website.
A valid request to create a photo post will contain the parameters listed above. For now, you can verify the presence of everything in the list, or you can try to genericize your micropub endpoint so that it can also create text posts.
At a bare minimum, a Micropub request from OwnYourGram will contain the following:
h=entry
photo
or content
(or both)
If a photo is part of the request, then the content is optional.
If there's no published
date, then the endpoint should set the published date to now.
The access token must also contain at least the "post" scope.
Once you've validated the access token and checked for the presence of all required parameters, you can create a post in your website with the information provided.
If a post was successfully created, you should return an HTTP 201
response with a
Location
header that points to the URL of the post. No body is required for the response.
HTTP/1.1 201 Created Location: http://example.com/post/100
If there was an error, the response should include an HTTP error code as appropriate, and optionally an HTML or other body with more information. Below is a list of possible errors.
HTTP 401 Unauthorized
- No access token was provided in the request.
HTTP 403 Forbidden
- An access token was provided, but the authenticated user does not have permission to complete the request.
HTTP 400 Bad Request
- Something was wrong with the request, such as a missing "h" parameter, or other missing data. The response body may contain more human-readable information about the error.
Created by Psyhigh.com on May 22
psyhigh.com[1] is the public website for Psychic High School.
The dev site starts at psyhigh.biz/welcome [2].
Looking for a platform and interested programming assistance to support the social vision of psyhigh.com.
I'm in Portland - get in touch with me at info@psyhigh.com.
And enjoy our shenanigans on twitter at @psyhigh [3]
Created by Tantek.com on May 23
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
Ruby is a programming language and web server runtime environment used for some IndieWeb projects.
Contents |
Examples of indieweb community members who are using Ruby on their personal sites:
Shane Becker uses a custom Ruby application on his site iamshane.com
Generally useful libraries being developed by IndieWeb participants in Ruby.
Non-IndieWeb-specific libraries that may still be of interest.
IndieWeb projects built with Ruby:
Ruby does not have PHP's ubiquity, and finding hosting can be a little bit more of a challenge. See web_hosting for more details.
Created by Tantek.com on May 20
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
To read or reading is the act of viewing and interpreting posts.
Articles about reading on the web:
Created by Kodfabrik.se on May 21
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
CORS is an acronym for "cross-origin resource sharing," a mechanism for allowing browsers to make JavaScript requests to fetch resources from other domains.
Contents |
Use amongst others the Access-Control-Allow-Origin
and Origin
HTTP headers. See eg. Wikipedia and Mozilla Developer Network for more information until an example is added here.
Before CORS people often used JSONP-requests to enable requests to other sites, but that required loading the data through an HTML-tag and for it to be wrapped in a JavaScript callback. That required JSONP-specific resources to be created, made it hard to utilize the strengths of the HTTP protocol and eg. do proper error management on HTTP error codes and also posed a security risk due to the fact that JavaScript from sites that were not always trusted had to be run for JSONP to work. Since CORS enables ordinary HTTP requests to be allowed, CORS doesn't suffer from these issues.
Created by Waterpigs.co.uk on May 22
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
Firefox is a free, open source web browser made by Mozilla.
Firefox exposes a “Social API”, allowing sites to easily integrate their UIs into the browser’s native UI
Created by Vasilis.nl on May 18
Voto is Vasilis van Gemert's personal photo gallery. He's created it in order to publish his own pictures to his own domain from any device he owns. Pictures are syndicated to other services via RSS. He's written in detail about the ideas behind it on his blog.
Indieweb enthusiasts currently using it on their own site:
Created by Aaronparecki.com on May 19
A token endpoint is an HTTP endpoint that micropub clients can use to obtain an access token given an authorization code.
Contents |
tokens.indieauth.com is a service you can use if you don't want to immediately build your own token endpoint. You can use this token endpoint in production in order to jump-start the development of your own micropub endpoint.
If you later want to switch to hosting your own token endpoint, you can do so without needing to make any changes to micropub clients since they will re-discover your token endpoint each time you sign in.
Requests will be made to the token endpoint after the client finishes communicating with the authorization server and obtains an auth code.
Requests to the token endpoint will contain the following parameters:
code
- The authorization code previously obtained.
me
- The user's domain name (e.g. http://example.com)
redirect_uri
- the redirect URI used in the request to obtain the authorization code.
client_id
- The client ID used in the initial request.
state
- The state parameter used in the initial request.
The token endpoint needs to verify these values and then issue an access token in response.
The authorization endpoint can be used to verify these values. However you will first need
to determine which authorization server this user delegates to. This is done by looking
for a rel="authorization_endpoint"
link on the user's home page, which is
the "me" parameter.
Once you know the authorization endpoint, you can make a POST request with the parameters of this request:
code
me
redirect_uri
client_id
state
If the request is valid (the state, client_id, redirect_uri and code all correspond to the authorization made by the user), he authorization endpoint will return a successful reply:
me=http%3A%2F%2Faaronparecki.com&scope=post
This is how the token endpoint knows which scopes the user authorized
At this point, your token endpoint is ready to issue an access token to the app.
How exactly you do this is entirely up to you, and depends on which language/framework you are using. There are multiple ways to generate and later verify an access token.
Since your token endpoint will be issuing the token, and your Micropub endpoint will be the only thing that needs to validate tokens, how that works is entirely up to you, and can even be changed later without any ill effects.
A trivial way of creating access tokens is to use a database such as MySQL, Postgres, or Redis. Using this method, you would simply generate a long random string, and use that as a unique key, adding in the rest of the information about the token.
At a minimum, you would store the following data along with the token:
me
client_id
scope
While this is a simple way of handling access tokens, you will quickly realize the limitations. Unless you have a way of expiring and re-issuing tokens, your token database will quickly grow in size and may eventually become unwieldy. Of course this also assumes that your website has a database to begin with, which is not necessarily a safe assumption.
Self-encoded tokens are a way to create access tokens that doesn't require storing a string in a database in order to look it up later. By encoding all of the token information into the token itself, the server can verify the token just by inspecting it later. There are many ways to self-encode tokens, again this depends on your preferences.
One way to create self-encoded tokens is to create a hash of all the data you want to include in the token, JSON-encode it, and encrypt the resulting string with a key known only to your server.
The example below is written in PHP, but the idea applies to any language.
$token_data = array( 'me' => $_POST['me'], 'client_id' => $_POST['client_id'], 'scope' => $auth['scope'], // Returned by the auth code verification step 'date_issued' => date('Y-m-d H:i:s'), 'nonce' => mt_rand(1000000,pow(2,31)) );
In the example above, we've included a few pieces of information that will be useful when decrypting and verifying the token later.
me
- Naturally we need to know which user this token corresponds to.
client_id
- Indicates the app that generated the token.
scope
- The Micropub endpoint must be able to know what scope the token includes, so it can allow or deny specific requests.
date_issued
- Included so that we can selectively invalidate tokens created before a certain date if needed. Also servers to add more entropy to the encrypted string.
nonce
- Adds some extra entropy to the encrypted string.
All of this data is then JSON-encoded and encrypted using the "JWT" package, which results in a string that is the access token.
$token = JWT::encode($token_data, $encryption_key);
However you generate an access token, you now have a string ready to reply to the client.
The token response must include three parameters:
access_token
- The actual access token string.
me
- The URL of the user.
scope
- The list of scopes that the token represents.
These should be returned as a www-form-encoded string in the response body, as follows:
HTTP/1.1 200 OK Content-Type: application/x-www-form-urlencoded access_token=XXXXXX&scope=post&me=http%3A%2F%2Faaronparecki.com%2F
The reason for returning the "me" value is that the app does not yet know which user the authorization is for, and will use this value to discover the Micropub endpoint to make a request with the access token.
Created by Tantek.com on May 16
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
archive may refer to:
Created by Tommorris.org on May 19
Creators: Add yourself | Bloggers: blog your RSVP | Apprentices: Get your creator to add you |
---|---|---|
Are you a Creator (create & share design, UI/UX, and/or code)? Add yourself to the guest list by Logging in with your own domain! | Already blogging on your own domain? Great! Publish a post saying that you're coming with a link to this RSVP page and send a pingback to it. | Perhaps you're a creator, but only for other people, and don't actively create things for your own site. Or maybe you're really excited about the IndieWeb and want to join it as soon as you can! |
Add yourself to the #Creators section using the attendee template, then add your name linked to your wiki user page and a self-hosted profile photo 128px square. | If you're an active blogger (i.e. at least once a month) yet don't feel like you would call yourself a creator, it would still be great to have you participate in IndieWebCamp. If you can setup IndieAuth on your domain, go ahead and add yourself in the #Bloggers section as well. | If you're not a creator, but want to be, or want to create and contribute to the IndieWeb but don't know where to start, team up with a creator, and ask them to add you. You can still attend IndieWebCamp as an apprentice to a creator. |
Alphabetically sorted by full display name.
Name: Barnaby Walters
IndieWeb Projects: Taproot indieweb tools, php-mf2 parser, webaction toolbelt, indieweb algorithm implementations
Personal URL: http://waterpigs.co.uk
Elsewhere: “barnabywalters” on various silos
Add yourself to the list using the attendee template!
Alphabetically sorted by full display name.
No one is listed yet. Add to the list using the attendee-apprentice template!
Alphabetically sorted by full display name.
No one is listed yet. Add to the list using the attendee-apprentice template!
As with past IndieWebCamps, we'll setup remote participation for folks who can't be there in person but can still participate during the camp over IRC and hopefully live video.
Contents |
Folks that can't make it (but hopefully can participate before/after remotely!)
No one is listed yet. Add yourself to the list using the attendee template!
Sorry to miss you folks - hopefully you can make it next year!
No one is listed yet. Add to the list using the attendee template
Created by Tantek.com on May 20
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
A dictionary is a collection of words and definitions of those words. Such as:
The following 3 pages are in this category, out of 3 total.
Created by Aaronparecki.com on May 18
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
A webhook is a mechanism for notifying a server about updates to some content in realtime by making an HTTP request. Often also referred to as a "callback URL".
Often the payload of a webhook is something small, such as a message that indicates new content for the application or for a specific user, rather than including the actual data itself.
Instagram has a realtime API which sends updates to your application any time any authorized user posts a new photo.[1]
Apps can register webhooks with the Jawbone API to receive callbacks for user events.[2]
Examples of IndieWeb sites that have enabled some form of webhook:
Created by Aaronparecki.com on May 17
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
To add the IRC logs to your iPhone home screen, visit the page below on your phone:
http://indiewebcamp.com/irc/today?bookmark
Follow the link on that page. Then, from Safari, add that page to your home screen.
Created by Aaronparecki.com on May 18
Resolved wiki issues from wiki
Contents |
Done 2013-314: Moved to: https://github.com/indieweb/wiki/issues/1
Done 2013-238: Log in link in the top right corner of every page. Turns in to a log out link when you're logged in. Aaronparecki.com 16:02, 26 August 2013 (PDT)
The home page has a "Login with your domain" box in the top right corner.
EVERY page should have that box so that you can login easily/quickly from any page (without having to hunt for the small login link in the footer.)
I desperately need the ability to login to the wiki from any page... right now it's the biggest "flow" breaker, which means I don't edit as frequently as I could - Sandeep Shetty
Done 2013-151
Create a live redirect from:
To:
Done 2013-142 (or a day or so before that?) - Aaronpk took care of it. - Tantek 18:05, 23 May 2013 (PDT)
Done 2013-03 - forgot the exact date. Aaronpk took care of it. - Tantek 16:49, 1 April 2013 (PDT)
Update the CSS to at least make the layout a bit more liquid (gooey?) rather than set to its current fixed width which is actually too wide for good reading (~60 characters per line is a good max, we're way above that).
Per http://indiewebcamp.com/irc/2013-02-19#t1361291725
width: 977px
to max-width: 977px
/* width: 777px */
That will give at least a bit of a range of liquid layout so we can avoid some horizontal scrollbars (and line lengths that are too long for optimal reading).
Tantek 15:36, 27 February 2013 (PST)
Created by Tantek.com on May 17
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
architecture astronomy is the practice of analyzing problems, seeing patterns, and then generalizing to higher and higher level abstractions on top of those patterns to the point where the abstractions become so general, so vague, so detached from the original problems being analyzed, that they don't mean anything at all.
architecture astronauts are people that have a habit of practicing architecture astronomy, that is, the art of coming up with meaningless abstractions detached from real world problems.
"They tend to work for really big companies that can afford to have lots of unproductive people with really advanced degrees that don't contribute to the bottom line."[1]
Created by Sebastian.kip.pe on May 22
Created by Tantek.com on May 22
This article is a stub. You can help the IndieWebCamp wiki by expanding it.
A weasel word, phrase, or expression is a way of making a statement or argument by attributing it to a vague third party ("some say") or hypothetical party ("it can be said"). Weasel wording makes it sound like a reasonable argument is being made, when no one is actually making a specific statement.
Instead of weasel words, just make the argument yourself, or cite a specific source that is making the argument.
For more see:
Created by Aaronparecki.com on May 20
This category is a collection of all pages related to IndieAuth.
The following 5 pages are in this category, out of 5 total.
Created by Tommorris.org on May 19
The third IndieWebCamp in sunny Brighton - one of many IndieWeb events.
Own your data.
Rather than posting content on third-party silos of content, we should all own the content we're creating. Publish on your own domain, and syndicate out to silos.
Join us at the Clearleft offices in Brighton for two days of BarCamp-style collaboration and discussions of how to use open web technologies to empower users to own their own identities & content, and advance the state of the indie web.
Day 1: Discussion | Day 2: Hacking | |
---|---|---|
|
| |
|
|
Contents |
Individual Session wiki pages - Day 1 (transfer from Etherpads as sessions complete)
Our thanks to these sponsors for supporting the event.
Want to sponsor a future IndieWebCamp event? See:
Organzational tasks
Session Grid: (Jeremy)
Add your questions below
Put suggestions for Indie Web Camp New York City 2014 here.
Created by Yatil.net on May 21
Created by Tantek.com on May 19
new!