Copyright © 2016 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and permissive document license rules apply.
Post Type Discovery specifies an algorithm for determining the type of a post by what properties it has and potentially what value(s) they have, which helps avoid the need for explicit post types that are being abandoned by modern post creation UIs.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
This is a W3C Editor's Draft, derived from the IndieWebCamp specification of the same name.
This document was published by the Social Web Working Group as a First Public Working Draft. This document is intended to become a W3C Recommendation. If you wish to make comments regarding this document, please send them to<EMAIL_ADDRESS>(subscribe, archives). All comments are welcome.
Publication as a First Public Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
This document is governed by the 1 September 2015 W3C Process Document.
This section is non-normative.
Post type discovery is an explicit algorithm for inferring the type of a post from other properties of that post.
Inferring the type of a post helps provide a bridge between systems without explicit post types (e.g. [Micropub], jf2) to systems with explicit post types (e.g. [ActivityPub], [AS2]).
This section is non-normative.
Both creation user interfaces, and post presentation designs are evolving to directly use the presence or absence of specific properties (and their values) directly, rather than depending on any kind of explicit "post type", thus why bother discovering a post type in the first place? This section documents the (few) use-case(s) that is/are known to date.
This section is non-normative.
There are existing formats that require explicit post types (e.g. ActivityStreams [AS1]), or are based on explicit post types, (e.g. ActivityStreams2 [AS2]), and code that consumes them expects explicit post types. Post type discovery enabling automatic synthesizing of such formats from posts that merely have a set of content related properties.
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words MAY, MUST, MUST NOT, OPTIONAL, RECOMMENDED, REQUIRED, SHALL, SHALL NOT, SHOULD, and SHOULD NOT are to be interpreted as described in [RFC2119].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", " SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
The Post Type Discovery algorithm ("the algorithm") discovers the type of a post given a data structure representing a post with a flat set of properties (e.g. Activity Streams (1.0 or 2.0) JSON, or JSON output from [ microformats2-parsing]), each with one or more values, by following these steps until reaching the first "it is a(n) ... post" statement at which point the "..." is the discovered post type.
Quoted property names in the algorithm are defined in [h-entry].
This section is non-normative.
There are two important aspects to the methodology of the Post Type Discovery algorithm: scope (why is something explicitly in the algorithm), and order (why is something where it is in the algorithm).
The algorithm could attempt to cover innumerable potential hypothetical post types, or take an evidence based approach, focusing on real world publishing practices. This specification does the latter, specifically by placing a minimum bar of documented real world publishing practices of different visually apparent post types on the open web at recent (< 1 year old) permalinks, each with at least three independent implementations that have converged on what properties (and potentially values thereof) they have to imply their visually apparent post types. As a result of being evidence based, it is likely this specification will expand over time as more apparent post types are published by more convergent implementations.
The algorithm must also specify an order (e.g. of precedence) that various properties (and their values) imply various post types. The algorithm is ordered by post types that are in general "richer" in terms of content as well as show greater cognitive effort by the author.
This section is non-normative.
Other types are being considered and will be included in the future iterations of the algorithm based on convergence of publishing patterns and critical mass of adoption thereof.
This section is non-normative.
Here is an example [h-entry] post from Activity Streams 2.0 Vocabulary examples [AS2-vocab]:

Sally
liked

http://example.org/notes/1

Following the algorithm, the step "If the post has a "like-of" property with a valid URL" is satisfied and thus the algorithm returns that the post is a " like" post.
Given this semantic, an implementation can generate (or process as if generated and consumed) the following AS2 JSON, in particular the "@type": "Like"
in this output is what is determined by this algorithm:
{
"@type": "Like",
"actor": {
"@type": "Person",
"displayName": "Sally"
},
"object": "http://example.org/notes/1"
}
This section is non-normative.
Q: What about a reply that includes a photo?
A: It's a reply.
Q2: Should that show up as a "photo" post?
A2: It should show up as a "reply" and not be in a user's published feed of their photos. The user-centric design here is to treat replies separately, because in practice, when users post replies to others' posts, and include a photo, the photos typically assume the context of that other post, and would look odd outside of it (e.g. in a generic "photos" feed). In addition, by not including reply photos in a user's feed of their photos, it gives the user the freedom to reply to other posts with whatever they wish, including photos, and not have those reply-specific photos pollute their streams of "their stuff" that their followers subscribe to.
A2a: From a presentation perspective, a reply should primarily be displayed as a reply first, and then adapt accordingly to whatever other properties it may have.
Q: Is a video tag sufficient to imply a video post?
A: No, video tags can be used for additional content e.g. inside an article. Only relying on video tag markup would lead to false positives.
This section is non-normative.
Implementations, in progress, partial, or complete, of Post Type Discovery.
Granary synthesizes ActivityStreams [AS1], [ microformats2], and Atom [RFC4287] from various input feeds and sources, and as such has some code that can be considered in progress or even a partial implementation of Post Type Discovery:
p3k (a CMS) implements Post Type Discovery internally within its [micropub] endpoint to automatically add posts to various collections. E.g.: if this post is a reply, it goes in the "replies" collection. if it's an RSVP, it goes in the "rsvps" and "replies" collections.
mf2util exposes a function for post_type_discovery that takes an h-entry and returns "like", "reply", "note", "article", etc.


/*/*/ The Future is Raytraced
What is a "raytracing", dear lad?
Raytracing is a technique commonly used for graphics processing in which tens of thousands of "rays", commonly an extension of vectors, are thrown about in a scene, capturing data from hit geometry or reporting the lack there of. This is then used to construct a result.
I wish they explained it more like this. This is anyways a pretty light interpretation of the algorithm but you get the point. This process is focused on being accurate and capable of being highly parallelized (that is, run by the multiple cores of the processing units of your machine pretty well), and also capable of producing very photo-realistic imagery.
So what's the deal now?
Until recent years, while this was known to be the case, we used the Rasterization algorithm instead, which is able to be extremely more quick but requiring lots of tricks to make it look very good. However, graphics processing units are starting to implement cores and algorithms that can process Raytracing fast enough that we can now do some of it in Real-Time. Yes, that's the RTX that nvidia loves to talk about.
These are still pretty expensive, and not many games use it, and neither is the usage pretty crazy. Mostly it is used for reflections, an often tricky thing to do in Rasterization which can either take too long or look odd.
However, 3D rendering in gaming started too as a gimmick people said it would never catch on, and now all the big games use it. Raytracing is no different. It'll bring accurate rendering and ease in construction of effects and ideas like never seen before. Imagine the mirror actually correctly reacting to you throwing a cube at it. Or lightning being highly dynamic and correct as far as our understanding of physics goes. We could already do it in Rasterization, but always odd. And now we're even! (not me tho)
Currently, the Vulkan API has recently introduced an extension to bring a common Raytracing platform for both nvidia and amd. This will hopefully make it easier for developers to have Raytracing for games that can work on both graphics cards and so on. Still pretty early to say but that's what I hope! We all can have little a Raytracing.
Where do I look for more info?
Fear not! I keep tabs on game dev discords, channels, discord channels and twitter. I have a few things in mind you could take a look at to get better informed. Be aware you may need some programming language knowledge, (preferably C, C++, etc. but weblangs and others are ok!) but you can try learning some in your own pace.
Scratchapixel - Uses C++, Good Stuff
Raytracing in One Weekend Books - Uses C++, Photo-Realist
Ray Tracing Gems - Open Source Book, Industry Smarts
Real Time Rendering's RT Section - Industry Smarts


Our Products
Party Tables and Chairs for rent to be delivered at the location of the party when rented at the store.
Price $1.99 each Chair (rental only)
Price $3.99 each Table (rental only)
The Canopy is a plastic cover that can be rented and installed at the location of the party where it will fit. There are different sizes of the canopy.
Price $29.99 (rental only)
Pakcets of Balloons used to decorate your party and have around your location. All balloon packets are bought at the store.
Price $1.99 each
An outside Heater would be rented from the store and will be delivered to the location to be installed in a safe place.
Price $15.99 each (rental only)
More Items coming soon. Please visit us at our store to see more products that are currently available.


Debug Class
Definition
Line
5
of
cmsxm/Debug.cm
Constructors & Destructor
public
nothrow
Debug
(
const
String
<
char
>& msg_)
public
~Debug
()
Member Functions
public
static
void
Start
()
Member Variables
private
String
<
char
>
msg
private
static
TimePoint
startTime
Constructor& Destructor Details
Debug Constructor
public
nothrow
Debug(
const
String
<
char
>& msg_)
Definition
Line
11
of
cmsxm/Debug.cm
~Debug Destructor
public
~Debug()
Definition
Line
15
of
cmsxm/Debug.cm
Member Function Details
Start Static Member Function
public
static
void
Start()
Definition
Line
7
of
cmsxm/Debug.cm


Thousands of Brits get TV Licences £102.50 cheaper using the same retro trick
Some 6,586 homes across the UK are paying more than £100 less a year for their TV Licence because they have an old-fashioned set at home and refuse to upgrade it
by James Andrews, http://www.facebook.com/jameswritesmoney/Almost exactly 50 years ago colour TV came to BBC 1 - but despite being old enough to join Saga, thousands of Brits still aren't using it.
And they don't even have the excuse that they don't own - or watch - television, with the latests figures from TV Licensing showing there are 6,586 homes in Britain with black and white licences.
TV Licensing spokesman Paul Cooper said: “Whilst only accounting for a very small proportion it’s interesting to know that some households still like to watch their favourite shows on a black and white telly.”
But while it might only be a small number, there is a big saving on offer for people prepared to watch all their live TV in monochrome.
While a standard TV Licence costs £154.50, it's just £52 for a black and white one.
London has the highest number of monochrome homes - with 1,311 black and white licences in the capital, followed by Birmingham with 323 and Manchester with 245.
But in a few years there might be no one left at all.
The number of black and white licences is 97% down on the year 2000 with 575 disappearing in the past year alone.
And people with black and while licences are missing out on more than just reds and yellows and greens and blues.
That's because you monochrome licences don't let you download BBC programmes on iPlayer or to record any live TV.
“When BBC One launched its colour TV service in November 1969, there were only three channels available," Cooper said.
"Fast forward to 2019, and more than half of TV households have in some way an internet connection to their TV and access to hundreds of channels."
For people looking to go retro, the good news is a working black-and-white TV can be picked up for less than £50 from auction sites like eBay - just make sure you have a set-top box or equivalent if you want to watch it as the old analogue broadcasts were switched off in 2012.


Hello! My name is Andrew Koines and I am a student at Dev Bootcamp. You'll find some of what I've been working on below.
Please check out my blog if you would like to hear some of my thoughts on web development and my experience at Dev Bootcamp.


{% extends 'website/base.html' %} {% load static %} {% block title %}Football in ECSS{% endblock title %} {% block pagestyle %} {% endblock pagestyle %} {% block content %}
ECSS FC (Est. 2007) is an intramural football team that plays in the weekend league. Last year the football team massively improved on the previous year placing mid table in their division, as well as the development of a second team. There are currently socials every couple weeks, which involve themed nights and games, before we head out to a club that is decided that week. Also a yearly tour which involves less football but more time with the team, involving alcohol if inclined.
For more information regarding training, socials and tour, feel free to view our Facebook page and join the group.
For the 2019/20 season we aim to continue the successful campaigns of our first team, and continue to improve our second team to follow in their footsteps and continue developing as a side, with the aid of new recruits.
Under our new social secs we also aim to expand the social aspect of ECS with more enthralling socials, involving us with other societies and former members of the team (The Old Boys). These events involve alcohol but it is not enforced if you do not wish to drink.
Every year we go on tour, which features little to no football. Last year we went to Krakow, where we enjoyed 4 days and nights of sightseeing, exploring their nightlife and even managed a friendly match against their Maths and Computer Science society.


--- layout: page title: About Me ---
My name is Fei and I am currently a master student advised by Robby Findler in computer science at Northwestern University.
I got my bachelor's degree in computer software at Tsinghua University with bachelor thesis titled "Static Analysis of Data Privacy Violation based on Spark".
I was honored to be advised by Prof. Darko Marinov at UIUC in summer 2014, where I was working on Java Concurrency Testing Benchmark(JaConTeBe).
I am committed to using data science, software engineering, and design to solve our greatest challenges; empowerment, accessible health, education, and infrastructure.
Keep growing: everyday is a good day to get better in anything we want, so let's use it to the fullest.
Share freely: great things happen when people communicate - ideas build, hearts swell, spirits lift - make sure you put in your part!
Be mindful: look around and revel for a moment in how much history it took to get you to sit right there and read my cool site. Unbelievable right?
Dance a little: dance to your favorite song for a measure or six and imagine if everyone had a hop in their step. Remember, small things can make a big difference.


“Diṭṭhā mayā dhammadharā upāsakā,
Kāmā aniccā iti bhāsamānā;
Sārattarattā maṇikuṇḍalesu,
Puttesu dāresu ca te apekkhā.

Addhā na jānanti yatodha dhammaṁ,
Kāmā aniccā iti cāpi āhu;
Rāgañca tesaṁ na balatthi chettuṁ,
Tasmā sitā puttadāraṁ dhanañcā”ti.
… Isidinno thero ….
To be honest, they don’t know Dhamma,
even though they say “Sensual pleasures are impermanent”.
They don’t have the power to cut their lust,
which is why they cling to children, wives, and wealth.


I am a California native turned Boston resident. I am a full stack web developer, and my background is in user experience design. I am a dedicated, dependable team member with strong interpersonal skills that allow me to flourish within a team and go the extra mile with clients. I use my intelligence to further business goals and am not afraid to think on the job.
Knowing front and back end languages, skills and frameworks I enjoy the opportunity and challenge of working with an application from beginning to end.
My background in User Experience Design allows me to build functional apps that are visually appealing and responsive.
My previous experience working in customer service gave me strong communication skills and a desire to build relationships with clients. I enjoy the time I spend collaborating with different people and teams.
I enjoy opportunities to solve problems, learn new languages and challenge myself to grow personally and professionally.
JavaScript & jQuery
Angular2
TypeScript
Angular.js
Node.js
React.js
HTML & CSS
Git
Heroku
HTML Emails
Adobe Photoshop
Adobe Illustrator
Customer Service
Ruby on Rails
AJAX
MongoDB
Mongoose
Express
PostgreSQL


6.1 Major objects
The classes of
Libmarpa’s object system fall into two types:
major and numbered.
These are the Libmarpa’s major classes,
in sequence.
- Configuration:
A configuration object is
a thread-safe way to hold configuration variables,
as well as the return code from failed attempts
to create grammar objects.
- Grammar:
A grammar object contains rules and symbols,
with their properties.
- Recognizer:
A recognizer object reads input.
- Bocage:
A bocage object is a collection of
parse trees, as found by a recognizer.
A bocage is a way of representing a parse forest.
- Ordering:
An ordering object
is an ordering of the trees
in a bocage.
- Tree:
A tree object is a bocage iterator.
- Value:
A value object is a tree iterator.
Iteration of a tree using a value object
produces “steps”.
These “steps” are
instructions to
the application on how
to evaluate the semantics,
and how to manipulate the stack.
The major objects have one letter abbreviations,
which are used frequently.
These are, in the standard sequence,
- Configuration: C
- Grammar: G
- Recognizer: R
- Bocage: B
- Ordering: O
- Tree: T
- Value: V


Step-by-step instructions
Before your activity
- Upload the route to Garmin Connect
- Once the route has been uploaded, follow the link to the activity page
- On the activity page, choose "Send To Device"
- Sync your device
When you start your activity
- Select the Activity type and go to the activity options
- Choose "Race an Activity" and then "Downloaded"
- Start and have fun!