class: center, middle .logo[![knows graph](images/arango_plus_graphql.png)] # GraphQL and ArangoDB ## Mike Williamson --- class: center, middle .eighty[![](images/complicated.png)] --- class: center, middle .eighty[![](images/challenges.png)] --- class: center, middle .eighty[![](images/complicated_query_lang.png)] --- class: center, middle .eighty[![](images/complicated_query_lang2.png)] --- class: center, middle .eighty[![](images/complicated_query_lang_plus_benefits.png)] --- class: center, middle .eighty[![](images/complicated_query_lang_plus_benefits_graphql.png)] --- class: center, middle ## What's exciting is not addition, it's the possibility of subtraction --- class: center, middle .eighty[![together](images/after_graphql_and_arango.png)] --- class: center, middle .eighty[![](images/after_graphql_and_arango_and_js.png)] --- class: center, middle # Speed requires depth of knowledge # Security is a subtractive process .eighty[![](images/after_graphql_and_arango_and_js.png)] --- class: center, middle # GraphQL ### A schema that lives outside your database --- class: center, middle .onehundred[![request](images/graphql_request_response.png)] --- class: center, middle ```javascript const schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: 'Query', fields: () => ({ hello: { type: GraphQLString, resolve: () => { return 'world' } } }) }) }) let query = ` { hello } ` ``` --- class: center, middle ```javascript import { graphql } from 'graphql' // two inputs graphql(schema, query) // one output { data: { hello: 'world' } } ``` --- class: center, middle # Adjusting our schema to take arguments ```javascript const schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: 'Query', fields: () => ({ hello: { type: GraphQLString, resolve: () => { return 'world' } } }) }) }) ``` --- class: center, middle # Adjusting our schema to take arguments ```javascript const schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: 'Query', fields: () => ({ hello: { type: GraphQLString, resolve: (root) => { return 'world' } } }) }) }) ``` --- class: center, middle # Adjusting our schema to take arguments ```javascript const schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: 'Query', fields: () => ({ hello: { type: GraphQLString, resolve: (root, args) => { return 'world' } } }) }) }) ``` --- class: center, middle # Adjusting our schema to take arguments ```javascript const schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: 'Query', fields: () => ({ hello: { args: { }, type: GraphQLString, resolve: (root, args) => { return 'world' } } }) }) }) ``` --- class: center, middle # Adjusting our schema to take arguments ```javascript const schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: 'Query', fields: () => ({ hello: { args: { adjective: {} }, type: GraphQLString, resolve: (root, args) => { return 'world' } } }) }) }) ``` --- class: center, middle # Adjusting our schema to take arguments ```javascript const schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: 'Query', fields: () => ({ hello: { args: { adjective: { type: GraphQLString } }, type: GraphQLString, resolve: (root, args) => { return 'world' } } }) }) }) ``` --- class: center, middle # Adjusting our schema to take arguments ```javascript const schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: 'Query', fields: () => ({ hello: { args: { adjective: { type: GraphQLString } }, type: GraphQLString, resolve: (root, args) => { return args.adjective + ' world' } } }) }) }) ``` --- class: center, middle ```javascript graphql(schema, ` { hello(adjective: "beautiful") }`) // the output { data: { hello: 'beautiful world' } } ``` --- class: center, middle # It's not about databases ### GraphQL's responsibility ends at the resolve function ```javascript resolve: (root, args) => { //??? } ``` --- class: center, middle # Talking to ArangoDB --- class: center, middle .onehundred[![knows graph](images/example_graphs.png)] --- class: center, middle .onehundred[![knows graph](images/knows_graph.png)] --- class: center, middle ```javascript async function getPersonByName (name) { let query = aql` FOR person IN persons FILTER person.name == ${ name } LIMIT 1 RETURN person ` let results = await db.query(query) return results.next() } ``` --- class: center, middle ```javascript let Person = new GraphQLObjectType({ name: 'Person', fields: () => ({ name: { type: GraphQLString } }) }) ``` --- class: center, middle ```javascript let schema = new GraphQLSchema({ query: new GraphQLObjectType({ name: 'Query', fields: () => ({ person: { args: { name: { type: new GraphQLNonNull(GraphQLString) } }, type: Person, resolve: (root, args) => { return getPersonByName(args.name) }, } }) }) }) ``` --- class: center, middle ```javascript let query = ` { person(name: "Eve") { name } } ` graphql(schema, query) // the output { data: { name: 'Eve' } } ``` --- class: center, middle # Getting the rest of the graph ```javascript async function getFriends (id) { let query = aql` FOR vertex IN OUTBOUND ${id} knows RETURN vertex ` let results = await db.query(query) return await results.all() } ``` --- class: center, middle # Getting the rest of the graph ```javascript let Person = new GraphQLObjectType({ name: 'Person', fields: () => ({ name: { type: GraphQLString } }) }) ``` --- class: center, middle # Getting the rest of the graph ```javascript //{_key: 'eve', _id: 'persons/eve', _rev: '_Uoh3SVi--_', name: 'Eve'} let Person = new GraphQLObjectType({ name: 'Person', fields: () => ({ name: { type: GraphQLString }, friends: { type: new GraphQLList(Person), resolve(root) { return getFriends(root._id) } } }) }) ``` --- class: center, middle ```javascript let query = ` { person(name: "Eve") { name friends { name } } } ` graphql(schema, query) ``` --- class: center, middle ```javascript { "data": { "person": { "name": "Eve", "friends": [ { "name": "Bob" }, { "name": "Alice" } ] } } } ``` --- class: center, middle ```javascript let query = ` { person(name: "Eve") { name friends { name friends { name } } } } ` graphql(schema, query) ``` --- class: center, middle .output[```javascript { "data": { "person": { "name": "Eve", "friends": [ { "name": "Bob", "friends": [ { "name": "Charlie" }, { "name": "Dave" } ] }, { "name": "Alice", "friends": [ { "name": "Bob" } ] } ] } } } ```] --- class: center, middle # Performance with Dataloader --- class: center, middle ```javascript {"query":"FOR person IN persons FILTER person.name == @value0 LIMIT 1 RETURN person","bindVars":{"value0":"Eve"}} {"query":"FOR vertex IN OUTBOUND @value0 knows RETURN vertex","bindVars":{"value0":"persons/eve"}} {"query":"FOR vertex IN OUTBOUND @value0 knows RETURN vertex","bindVars":{"value0":"persons/bob"}} {"query":"FOR vertex IN OUTBOUND @value0 knows RETURN vertex","bindVars":{"value0":"persons/alice"}} ``` --- class: center, middle .quote[A batch loading function accepts an Array of keys, and returns a Promise which resolves to an Array of values.] ```javascript async function getFriendsByIDs (ids) { let query = aql` FOR id IN ${ ids } let friends = ( FOR vertex IN OUTBOUND id knows RETURN vertex ) RETURN friends ` let response = await db.query(query) return response.all() } ``` --- class: center, middle ```javascript const FriendsLoader = new DataLoader(getFriendsByIDs) graphql(schema, query, {}, { FriendsLoader }) // Arguments to the graphql function graphql( schema: GraphQLSchema, requestString: string, rootValue?: ?any, contextValue?: ?any, // <---- variableValues?: ?{[key: string]: any}, operationName?: ?string ): Promise
``` --- class: center, middle ```javascript let Person = new GraphQLObjectType({ name: 'Person', fields: () => ({ name: { type: GraphQLString }, friends: { type: new GraphQLList(Person), resolve(root, args, context) { return context.FriendsLoader.load(root._id) } } }) }) ``` --- class: center, middle ```javascript let query = ` query { person(name: "Eve") { name friends { name friends { name } } } } ` const FriendsLoader = new DataLoader(getFriendsByIDs) // schema query root context graphql(schema, query, {}, { FriendsLoader }) ``` --- class: center, middle ```javascript {"query":"FOR person IN persons FILTER person.name == @value0 LIMIT 1 RETURN person","bindVars":{"value0":"Eve"}} {"query":"FOR id IN @value0 let friends = ( FOR vertex IN OUTBOUND id knows RETURN vertex ) RETURN friends","bindVars":{"value0":["persons/eve"]}} {"query":"FOR id IN @value0 let friends = ( FOR vertex IN OUTBOUND id knows RETURN vertex ) RETURN friends","bindVars":{"value0":["persons/alice","persons/bob"]}} ``` --- class: center, middle # Serving our schema with Express.js --- class: center, middle ```javascript import express from 'express' import graphqlHTTP from 'express-graphql' import schema from './schema' import DataLoader from 'dataloader' import { getFriendsByIDs } from '../src/database' const FriendsLoader = new DataLoader(getFriendsByIDs) const app = express() app.use('/graphql', graphqlHTTP({ schema, context: { FriendsLoader }})) app.listen(3000) // http://localhost:3000/graphql is up and running! ``` --- class: center, middle # GraphQL ## A schema outside the database! * Schema is no longer a yes/no question: Where do you want your schema? * Schema outside the DB applies across systems * Schema outside the DB catches bad input at application boundary * No longer a choice between schema and flexibility --- class: center, middle # Build more things with fewer things .logo[![knows graph](images/arango_plus_graphql.png)] --- class: center, middle # Explore: * graphql.org * graphql.org/swapi-graphql # Contact: * Github: @sleepycat * Twitter: @dexterchief * mike@korora.ca


---
layout: game-page
redirect_from: /game/backfire
title: Backfire
year: 2009
semester: Spring
description: "Backfire is a space shooter that rewards precision shooting.
Trapped in confined rooms, you must bounce your lasers off walls to defeat your enemies. You’ll have to think out your shot placement quickly as the frantic action of shooters makes its way into later levels. And don’t forget to watch out for the backfire. It is recommended that you play the standard version of the game before the hard version."
tags: Windows Singleplayer
# tag options: "Windows", "Mac", "Linux",
# "Singleplayer", "Multiplayer",
# "Controller-Compatible", "VR",
# "Game-Jam"
project_members: {
Alan Pierce: Programming,
Ben Wolf: Programming,
Daniel Vu: Art,
Jason Lu: Art,
Jeffrey Panza: "Design, Art",
Kyle Neblett: Programming,
Le Wei: "Design, Art, Programming",
Max Gibson: Project Lead,
Owen Traeholt: "Design, Art",
Richard Chen: "Design, Art"
}
stage_game_path: backfire/
builds: {
Windows (Hard Difficulty): backfire_hard.zip,
Windows (Standard Difficulty): backfire_normal.zip
}
extra_content: "Design Document
Source Code"
thumbnail: backfire-1.jpg
top-img: backfire-1.jpg
screenshots: [
backfire-5.jpg,
backfire-2.jpg,
backfire-3.jpg,
backfire-4.jpg
]
# Optional
awards: [
GCS Gold Award
]
top-img-fit: cover
# top-img-fit options:
# "cover" - Cover the entire top area with the image, without squashing/stretching
# "fill" - Fit the FULL image into the top area, squashing/stretching as necessary
---


Photos: Sonam Kapoor and Anand Ahuja enjoy their LA vacation with their close friends
by TIMESOFINDIA.COMSonam Kapoor and Anand Ahuja are the most adorable couple of the tinsel. Whenever they post a lovey-dovey picture on social media their fans go crazy over it. From their sweet social media PDA to their cuddly photos, their Instagram profiles are all things, love!
Today also Anand took to his Insta handle to post a photo from their USA vacation wherein they are seen posing with their friends and enjoying a match. In the photo, Sonam is sporting a skirt and top and specs while Anand has opted for simple black denim and grey shirt. Anand shared the picture and simply wrote, “LA ...”
Recently, during an interview when Anand was asked about wifey Sonam’s fashion and style outings, he said that she is versatile with her clothes and footwear. He admires her fashion choices. But one thing that Anand teases her about is posting all the photos of the gifts she gets and he keeps wondering how can one do such a thing.
Meanwhile, on the work front, Sonam was last seen in 'The Zoya Factor' co-starring Dulquer Salmaan. For now, the actress hasn’t announced her next film.


Sign Up
Activities
Accommodations
Find a place for your dream vacation
Downtown or in nature
Filters
Low cost
Family-friendly
Romantic
Pets allowed
More than 500 accommodations are available at this city
Accommodations in Marseille
Most Popular


THE FAN A film review by James Berardinelli Copyright 1996 James Berardinelli
RATING (0 TO 10): 2.5 Alternative Scale: * out of ****
United States, 1996 U.S. Release Date: 8/16/96 (wide) Running Length: 1:55 MPAA Classification: R (Profanity, violence) Theatrical Aspect Ratio: 2.35:1
Cast: Robert De Niro, Wesley Snipes, John Leguizamo, Ellen Barkin, Benicio Del Toro, Patti D'Arbanville-Quinn, Andrew J. Ferchland, John Kruk Director: Tony Scott Producer: Wendy Finerman Screenplay: Phoef Sutton based on the novel by Peter Abrahams Cinematography: Dariusz Wolski Music: Hans Zimmer U.S. Distributor: TriStar Pictures
Travis Bickle (TAXI DRIVER). Rupert Pupkin (THE KING OF COMEDY). Max Cady (CAPE FEAR). Dwight Hansen (THIS BOY'S LIFE). These are a few of the names from the gallery of psychos essayed by celebrated actor Robert De Niro during his thirty-year career. And, though each of these characters is unique, there exists at least one common element amongst them (other than the obvious) -- they are all three-dimensional creations, individuals who attain a terrifyingly believable life. The credit for this goes to both De Niro and to the writers and directors who sketched the outlines that he so ably filled in.
Therefore, given De Niro's track record, it was reasonable to expect good things from him in THE FAN, director Tony Scott's followup to last year's blockbuster, CRIMSON TIDE. In fact, with De Niro playing a sociopathic baseball nut, one might be forgiven mistakenly believing that this movie had potential. Unfortunately, whatever promise the idea held was lost early in the film making process. The version of THE FAN to reach movie screens is as unwatchable a thriller as has come to theaters this year.
De Niro, in fact, is part of THE FAN's problem. Mugging it up for the camera, he gives a tasteless, uninteresting, caricature-like portrayal. The actor, who's usually a delight to watch, turns in one of his worst performances as the troubled Gil Renard, a recently fired hunting-knife salesman with an unhealthy passion for Giants baseball. Gil latches onto the Giants' latest free-agent acquisition, superstar centerfielder Bobby Rayburn (Wesley Snipes, doing a credible Barry Bonds impersonation), who signed a multiyear, $40 million contract to play with the San Francisco team. Gil, whose personal life is a mess (he's divorced and his ex-wife has taken out a restraining order on him), becomes fixated on Bobby, and it doesn't take him long to cross the line from obsessive fan to stalker.
After the 1994 strike, one could make the case that baseball no longer deserves anyone's respect, but it's hard to argue that it merits the ghastly treatment handed out by Tony Scott. THE FAN treats everyone associated with the game -- fans, announcers, and players -- with contempt. Not only is the script superficially nasty, but the game sequences are poorly-filmed, with quick edits used to disguise the fact that hardly anyone involved (with the possible exception of ex-Major Leaguer John Kruk) can actually swing the bat. Baseball credibility is thrown out the window, especially during the impossible-to-swallow climactic struggle, which (believe it or not) echoes a similar scene from THE NAKED GUN.
Actually, I might have been able to forgive THE FAN its liberties if it had been remotely enjoyable. But it's not -- the film replaces tension and excitement with reel after reel of tedium. The script spends too much time with cardboard characters like Bobby and Gil, while introducing others like sports radio host Jewel Stern (Ellen Barkin) who serve no purpose whatsoever. The entire first hour is devoted to showing what is immediately obvious: that Gil is a borderline nutcase with a volatile temper and a love of knives.
Something must have gotten lost in the translation from book to movie. Phoef Sutton's script is based on a novel by Peter Abrahams, and it has all the characteristics of a hatchet job. THE FAN is disjointed, poorly paced, and, at times, completely incoherent. While Sutton has to bear some of the blame, the lion's share goes to Tony Scott, who has badly mishandled every aspect of this film. The director appears to have backslided into his unpromising BEVERLY HILLS COP II phase.
Aside from Snipes' well-tuned performance and a few clever scenes detailing superstar marketing, this picture is a veritable wasteland. Even watching the horror show that the real Giants have become during the 1996 season is more fun than this. The advertising slogan may be "fear strikes soon", but, when it comes to THE FAN, fear, like the movie, strikes out.
- James Berardinelli e-mail<EMAIL_ADDRESS>ReelViews web site: http://www.cybernex.net/~berardin
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


An exponent is a number placed to the upper right of a base number. It shows the number of times the base number is multiplied by itself.
Examples:
PowerPlay is a game where you guess missing bases or exponents in equations. You score fewer points the closer your guess is to the actual number that completes each equation.
After 10 rounds, you are given a final score. Lower scores are better. The top 5 scores are recorded on the Leader Board for each level of play.
There are two levels, easy and hard. In each level you can select to guess the base or the exponent.
Easy games use bases between 2-8 and 10. Easy games use exponents between 2 and 6.
Hard games use bases between 4-9, 11 and 12. Hard games uses exponents between 5 and 12.
Installation of PowerPlay is like installing any other Palm OS program:
When the synchronization is done you will have a 'PowerPlay' icon in the Unfiled category on your Palm PDA. Feel free to move PowerPlay to another category.
When starting PowerPlay you're met with the Best Scorers tables. Lower scores are better. Select the Best Scorers table using the drop down list in the upper right corner. Tap the Play button to start a new game of the same type as the game shown in the upper right corner. Tap the Level button to start a new game on another level. Tap the Export button to export the Best Scorers tables (all of them).
To start a new game tap the button corresponding to the game you want to play.
There are 10 bases or exponents to guess. Enter your guess in the field and tap Guess - your score will be determined and you go on to the next base or exponent. After 10 rounds, your performance will be evaluated ... Go for the lowest score! To end the game tap the red cross in the upper right corner. Each corner of the play field reveals a bit of information: current round, current score, level and a help button.
The help screen tells a bit about exponents and bases ... and what PowerPlay is all about.
After 10 rounds your overall performance is evaluated. If your score is low you will be asked to enter your name for the Best Scorers tables. Lower scores are best!
From time to time you want to clear the Best Scorers table. Select the Clear option from the Main menu. Select the tables to clear and then tap Clear. You will be asked to confirm your action. All tables are pre-selected.
Tap the Export button to export all the Best Scorers tables to MemoPad. You can select the category to receive the Best Scorers tables memo. The memo will list all tables, positions, dates, scores and names and can be transferred to the desktop for further processing.


{{ $featured_image := .Param "featured_image"}} {{/* Trimming the slash and adding absURL make sure the image works no matter where our site lives */}} {{ $featured_image := (trim $featured_image "/") | absURL }}


Heavy congestion on Gateway Motorway after two accidents
Two traffic accidents in less than hour have created heavy congestion in both directions on the Gateway Motorway this afternoon.
The first crash incident occurred just after 1pm when a bus hit a barrier at Boondall, heading northbound.
It was followed by two-vehicle crash in the southbound lanes in the same area about 1.40pm.
Police have asked motorists to avoid the area if possible.


{% extends "base.html" %} {% block localheader_title %}Sign Up{% endblock %} {% block content %}
You are required to login through the following Single Sign On (SSO) provider:
{{sso_required.printable_name}} {% else %}You already have an account? Sign in


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/protected.20to_additive.html ---
When I mark a multiplicative lemma as protected
and I generate the additive analogue with to_additive
, then the protected
label is not carried over. Is this a known bug?
I don't think there's any available meta programming feature to deal with protected
/ private
Last updated: Apr 24 2020 at 19:02 UTC


rat dance
`Prev `__
R
`Next `__
--------------
**rat dance**: n.
[From the `*Dilbert* <../D/Dilbert.html>`__ comic strip of November 14,
1995] A `*hacking run* <../H/hacking-run.html>`__ that produces results
which, while superficially coherent, have little or nothing to do with
its original objectives. There are strong connotations that the coding
process and the objectives themselves were pretty
`*random* `__. (In the original comic strip, the Ratbert is
invited to dance on Dilbert's keyboard in order to produce bugs for him
to fix, and authors a Web browser instead.) Compare `*Infinite-Monkey
Theorem* <../I/Infinite-Monkey-Theorem.html>`__.
This term seems to have become widely recognized quite rapidly after the
original strip, a fact which testifies to Dilbert's huge popularity
among hackers. All too many find the perverse incentives and Kafkaesque
atmosphere of Dilbert's mythical workplace reflective of their own
experiences.
--------------
+-----------------------------+----------------------------+----------------------------+
| `Prev `__ | `Up <../R.html>`__ | `Next `__ |
+-----------------------------+----------------------------+----------------------------+
| rat belt | `Home <../index.html>`__ | rathole |
+-----------------------------+----------------------------+----------------------------+


My first experience making an open source library was with this material design inspired JavaScript drawer. Objective: contribute to open source and practice JS.
I tackled this problem by first building the drawer


Event Processor
An EventProcessor is responsible for processing specific events as they gets applied to the system.
IProcessEvents
doLittle has an interface called IProcessEvents
. This interface is a marker interface and
does not hold anything you need to implement. Instead, doLittle is by convention looking for
specific method signatures. For event processors it is looking for a method called
Process
that takes the event it can process. doLittle will automatically
manage and call this method. It will also manage ordering of the events, so that it calls
the method with the events coming in the correct order. It will also make sure to not
call the method twice for the same event.
Imagine you have an event that gets applied:
public class MyEvent : Event
{
public MyEvent(Guid eventSourceId) : base(eventSourceId) {}
public string Something { get; set; }
}
An event processor would then just do the following.
public class MyEventProcessor : IProcessEvents
{
public void Process(MyEvent @event)
{
// Respond to the event
}
}
You can easily add new processors as you go that deal with the same event but then generate different models that gets used by the system.
Coordinating dependencies
If you have ordering dependencies between processors, doLittle does not deal with this.
You would have to explicitly deal with the coordination yourself for this. You could have
a coordinating event processor that delegates to others - just remember to not implement
the IProcessEvents
interface for these, as they would be automatically discovered and
called by doLittle.
Scaling out
Note
Details coming soon


Erwtensoep (Dutch pea soup)
Erwtensoep, also called snert, is the Dutch version of pea soup.
Slices of rookworst (smoked sausage) are added before serving. The soup, which is traditionally eaten during the winter, is emblematic of Dutch cuisine.
It is customarily served with Frisian rye bread (roggebrood) and bacon, cheese or butter.
Pancakes are sometimes served with pea soup; this dish is called snert met struif, struif referring to the pancakes.
- ⏲ Prep time: 15 min
- 🍳 Cook time: 90 min
- 🍽 Servings: 4
Ingredients
- 7 ½ cups / 1.75 liters water
- 1 ½ cups / 300 grams peas (dried green split)
- 3 ½ ounces / 100 grams pork belly (Dutch speklapjes or thick-cut bacon)
- 1 pork chop
- 1 bouillon cube (vegetable, pork or chicken)
- 2 ribs celery
- 2 to 3 carrots (peeled and sliced)
- 1 large potato (peeled and cubed)
- 1 small onion (chopped)
- 1 small leek (sliced)
- 1 cup celeriac (cubed)
- 1 pound sausage (chopped rookworst, smoked sausage)
- Salt and pepper
Directions
- In a large soup pot, bring water, split peas, pork belly or bacon, pork chop, and bouillon cube to a boil.
- Reduce the heat to a simmer, cover and let cook for 45 minutes, stirring occasionally and skimming off any foam that rises to the top.
- Remove the pork chop, debone, and thinly slice the meat. Set aside.
- Add the celery, carrots, potato, onion, leek, and celeriac to the soup.
- Return to the boil, reduce the heat to a simmer and let cook, uncovered, for another 30 minutes
- Add the smoked sausage for the last 15 minutes of cooking time.
- When the vegetables are tender, remove the bacon and smoked sausage, slice thinly, and set aside.
- If you prefer a smooth consistency, purée the soup with a stick blender.
- Season to taste with salt and pepper.
- Add the meat back to the soup, setting some slices of sausage aside.
- Serve in heated bowls or soup plates, garnished with slices of rookworst and chopped celery leaf. Enjoy!
Contribution
Recipe tags:
dutch
soup
vegetables


These calls are organized by the Callerlab call names in the table of contents of the Callerlab Plus Definitions document dated December 10, 2007.
Sections are included below for each call, even if there is nothing said in that section. If nothing is said, then the call should work as you would expect.
The call "roll" is defined as a standa-lone call, so it can be written on a line by itself, or added as an "and roll" suffix to most any other call.
The call is not yet fully implemented. It will work for many preceding calls, but not all. This is a known bug.
This call is restricted to columns at the Plus level. Other starting formations are used, particularly at higher levels, but they stretch the definition a bit and are always considered to be hard variations.
The call "Explode" can be written by itself and means "Explode and do nothing".
The definitions work in a variety of starting formations besides facing lines. Definitions are also included for "do the centers/ends part of load the boat" as four-dancer calls.
A variant definition is included to "turn the stars" by a given fraction.
A variant definition is include to "turn the stars" by a given fraction.
The definition allows for any fraction, not just 3/4.


Shopping_ShippingServiceOptionType Class Reference
| Inherits from | NSObject |
| Conforms to | PicoBindable |
| Declared in | Shopping_ShippingServiceOptionType.h Shopping_ShippingServiceOptionType.m |
Overview
Shipping costs and options related to a domestic shipping service.
@ingroup ShoppingInterface
Tasks
-
shippingInsuranceCost
The insurance cost associated with shipping a single item with this shipping
property
service. If the buyer bought more than one of this item, this proportional to
QuantitySold. If the item has not yet been sold, insurance information cannot
be calculated and the value is 0.00. For calculated shipping only. -
shippingServiceName
A domestic shipping service offered for shipping the item (for example, UPS
property
Ground). For flat and calculated shipping. -
shippingServiceCost
The basic shipping cost of the item.
property
Flat shipping: single-item listing: this matches (in)ShippingServiceCost;
multi-quantity listing: with a request version of 665 or greater,
this is the total of (in)ShippingServiceCost plus
((in)ShippingServiceAdditionalCost times the number of items beyond the first
item), and with a request version lower than 665, this is (in)ShippingServiceCost.
Promotional shipping: For a request version lower than 665, promotional
shipping has no effect on shipping costs. Otherwise: if the promotional
shipping option is lower than other shipping services being offered, the
savings is reflected in the returned shipping cost;
the shipping service named Promotional Shipping Service (or whatever is
the localized name for it) is included among the shipping services;
if the promotional shipping cost is lower than the cost of other shipping
services being offered, it is presented first in the list (the lowest shipping
service cost is always presented first, regardless of whether there is
promotional shipping). -
shippingServiceAdditionalCost
The cost of shipping each additional item beyond the first item (flat shipping).
property
For single-item listings, if this is not provided, it is defaulted
to zero. For multi-quantity listings, if this is not provided, it
is set to the value of (in)ShippingServiceCost (unless the request
version is lower than 665, in which case ShippingServiceAdditionalCost
is required and is not defaulted).
Not applicable to Half.com. -
shippingServicePriority
Seller-preferred presentation order relative to other
property
service options. Valid values: 1 (1st choice), 2 (2nd choice),
3 (3rd choice). For flat and calculated shipping.
Not applicable to Half.com. -
expeditedService
Indicates whether the service is an expedited shipping service. See Enabling Get It Fast.
property
Not applicable to Half.com. -
shippingTimeMin
The minimum guaranteed number of business days in which the shipping carrier
property
can ship an item (not including the time it takes the seller to
deliver the item to the shipping carrier). See Enabling Get It Fast.
Not applicable to Half.com. -
shippingTimeMax
The maximum guaranteed number of business days the shipping carrier will
property
take to ship an item (not including the time it takes the seller to
deliver the item to the shipping carrier). See Enabling Get It Fast.
Not applicable to Half.com. -
shippingSurcharge
An additional fee to charge US buyers who ship via UPS to Alaska, Hawaii
property
or Puerto Rico. Can only be assigned a value for Parts and Accessories
items on the eBay US and Motors sites. Only returned if set.
If some transactions in an order have a surcharge, surcharge is added
only for those transactions.
Flat rate shipping only.
With a request version of 665 or greater, total shipping cost includes any
surcharge, and ShippingSurcharge is no longer returned as an individual tag. -
shipsTo
An international location or region to which the item may be shipped via this
property
particular shipping service. Associated with the shipping service by the
seller. Use GeteBayDetails to determine which locations are valid per site.
These values are string equivalents of values found in ShippingRegionCodeType
and CountryCodeType.
Returned with request version 665 or greater, if set via Trading API. -
estimatedDeliveryMinTime
The minimum guaranteed date in which the item could reach the
property
buyer’s location.
Not applicable to Half.com. -
estimatedDeliveryMaxTime
The maximum guaranteed date in which the item could reach the
property
buyer’s location.
Not applicable to Half.com. -
fastAndFree
Indicates whether the service is fast in delivery to the end user (less than 4 days) and free for buyer.
property -
any
(public property)
property
Properties
any
(public property)
@property (nonatomic, retain) NSMutableArray *any
Discussion
(public property)
entry type : PicoAnyElement, wrapper for primitive anyelement
Declared In
Shopping_ShippingServiceOptionType.h
estimatedDeliveryMaxTime
The maximum guaranteed date in which the item could reach the
buyer’s location.
Not applicable to Half.com.
@property (nonatomic, retain) NSDate *estimatedDeliveryMaxTime
Discussion
The maximum guaranteed date in which the item could reach the
buyer’s location.
Not applicable to Half.com.
type : NSDate, wrapper for primitive date
Declared In
Shopping_ShippingServiceOptionType.h
estimatedDeliveryMinTime
The minimum guaranteed date in which the item could reach the
buyer’s location.
Not applicable to Half.com.
@property (nonatomic, retain) NSDate *estimatedDeliveryMinTime
Discussion
The minimum guaranteed date in which the item could reach the
buyer’s location.
Not applicable to Half.com.
type : NSDate, wrapper for primitive date
Declared In
Shopping_ShippingServiceOptionType.h
expeditedService
Indicates whether the service is an expedited shipping service. See Enabling Get It Fast.
Not applicable to Half.com.
@property (nonatomic, retain) NSNumber *expeditedService
Discussion
Indicates whether the service is an expedited shipping service. See Enabling Get It Fast.
Not applicable to Half.com.
type : NSNumber, wrapper for primitive bool
Declared In
Shopping_ShippingServiceOptionType.h
fastAndFree
Indicates whether the service is fast in delivery to the end user (less than 4 days) and free for buyer.
@property (nonatomic, retain) NSNumber *fastAndFree
Discussion
Indicates whether the service is fast in delivery to the end user (less than 4 days) and free for buyer.
type : NSNumber, wrapper for primitive bool
Declared In
Shopping_ShippingServiceOptionType.h
shippingInsuranceCost
The insurance cost associated with shipping a single item with this shipping
service. If the buyer bought more than one of this item, this proportional to
QuantitySold. If the item has not yet been sold, insurance information cannot
be calculated and the value is 0.00. For calculated shipping only.
@property (nonatomic, retain) Shopping_AmountType *shippingInsuranceCost
Discussion
The insurance cost associated with shipping a single item with this shipping
service. If the buyer bought more than one of this item, this proportional to
QuantitySold. If the item has not yet been sold, insurance information cannot
be calculated and the value is 0.00. For calculated shipping only.
type : class Shopping_AmountType
Declared In
Shopping_ShippingServiceOptionType.h
shippingServiceAdditionalCost
The cost of shipping each additional item beyond the first item (flat shipping).
For single-item listings, if this is not provided, it is defaulted
to zero. For multi-quantity listings, if this is not provided, it
is set to the value of (in)ShippingServiceCost (unless the request
version is lower than 665, in which case ShippingServiceAdditionalCost
is required and is not defaulted).
Not applicable to Half.com.
@property (nonatomic, retain) Shopping_AmountType *shippingServiceAdditionalCost
Discussion
The cost of shipping each additional item beyond the first item (flat shipping).
For single-item listings, if this is not provided, it is defaulted
to zero. For multi-quantity listings, if this is not provided, it
is set to the value of (in)ShippingServiceCost (unless the request
version is lower than 665, in which case ShippingServiceAdditionalCost
is required and is not defaulted).
Not applicable to Half.com.
type : class Shopping_AmountType
Declared In
Shopping_ShippingServiceOptionType.h
shippingServiceCost
The basic shipping cost of the item.
Flat shipping: single-item listing: this matches (in)ShippingServiceCost;
multi-quantity listing: with a request version of 665 or greater,
this is the total of (in)ShippingServiceCost plus
((in)ShippingServiceAdditionalCost times the number of items beyond the first
item), and with a request version lower than 665, this is (in)ShippingServiceCost.
Promotional shipping: For a request version lower than 665, promotional
shipping has no effect on shipping costs. Otherwise: if the promotional
shipping option is lower than other shipping services being offered, the
savings is reflected in the returned shipping cost;
the shipping service named Promotional Shipping Service (or whatever is
the localized name for it) is included among the shipping services;
if the promotional shipping cost is lower than the cost of other shipping
services being offered, it is presented first in the list (the lowest shipping
service cost is always presented first, regardless of whether there is
promotional shipping).
@property (nonatomic, retain) Shopping_AmountType *shippingServiceCost
Discussion
The basic shipping cost of the item.
Flat shipping: single-item listing: this matches (in)ShippingServiceCost;
multi-quantity listing: with a request version of 665 or greater,
this is the total of (in)ShippingServiceCost plus
((in)ShippingServiceAdditionalCost times the number of items beyond the first
item), and with a request version lower than 665, this is (in)ShippingServiceCost.
Promotional shipping: For a request version lower than 665, promotional
shipping has no effect on shipping costs. Otherwise: if the promotional
shipping option is lower than other shipping services being offered, the
savings is reflected in the returned shipping cost;
the shipping service named Promotional Shipping Service (or whatever is
the localized name for it) is included among the shipping services;
if the promotional shipping cost is lower than the cost of other shipping
services being offered, it is presented first in the list (the lowest shipping
service cost is always presented first, regardless of whether there is
promotional shipping).
type : class Shopping_AmountType
Declared In
Shopping_ShippingServiceOptionType.h
shippingServiceName
A domestic shipping service offered for shipping the item (for example, UPS
Ground). For flat and calculated shipping.
@property (nonatomic, retain) NSString *shippingServiceName
Discussion
A domestic shipping service offered for shipping the item (for example, UPS
Ground). For flat and calculated shipping.
type : NSString, wrapper for primitive string
Declared In
Shopping_ShippingServiceOptionType.h
shippingServicePriority
Seller-preferred presentation order relative to other
service options. Valid values: 1 (1st choice), 2 (2nd choice),
3 (3rd choice). For flat and calculated shipping.
Not applicable to Half.com.
@property (nonatomic, retain) NSNumber *shippingServicePriority
Discussion
Seller-preferred presentation order relative to other
service options. Valid values: 1 (1st choice), 2 (2nd choice),
3 (3rd choice). For flat and calculated shipping.
Not applicable to Half.com.
type : NSNumber, wrapper for primitive int
Declared In
Shopping_ShippingServiceOptionType.h
shippingSurcharge
An additional fee to charge US buyers who ship via UPS to Alaska, Hawaii
or Puerto Rico. Can only be assigned a value for Parts and Accessories
items on the eBay US and Motors sites. Only returned if set.
If some transactions in an order have a surcharge, surcharge is added
only for those transactions.
Flat rate shipping only.
With a request version of 665 or greater, total shipping cost includes any
surcharge, and ShippingSurcharge is no longer returned as an individual tag.
@property (nonatomic, retain) Shopping_AmountType *shippingSurcharge
Discussion
An additional fee to charge US buyers who ship via UPS to Alaska, Hawaii
or Puerto Rico. Can only be assigned a value for Parts and Accessories
items on the eBay US and Motors sites. Only returned if set.
If some transactions in an order have a surcharge, surcharge is added
only for those transactions.
Flat rate shipping only.
With a request version of 665 or greater, total shipping cost includes any
surcharge, and ShippingSurcharge is no longer returned as an individual tag.
type : class Shopping_AmountType
Declared In
Shopping_ShippingServiceOptionType.h
shippingTimeMax
The maximum guaranteed number of business days the shipping carrier will
take to ship an item (not including the time it takes the seller to
deliver the item to the shipping carrier). See Enabling Get It Fast.
Not applicable to Half.com.
@property (nonatomic, retain) NSNumber *shippingTimeMax
Discussion
The maximum guaranteed number of business days the shipping carrier will
take to ship an item (not including the time it takes the seller to
deliver the item to the shipping carrier). See Enabling Get It Fast.
Not applicable to Half.com.
type : NSNumber, wrapper for primitive int
Declared In
Shopping_ShippingServiceOptionType.h
shippingTimeMin
The minimum guaranteed number of business days in which the shipping carrier
can ship an item (not including the time it takes the seller to
deliver the item to the shipping carrier). See Enabling Get It Fast.
Not applicable to Half.com.
@property (nonatomic, retain) NSNumber *shippingTimeMin
Discussion
The minimum guaranteed number of business days in which the shipping carrier
can ship an item (not including the time it takes the seller to
deliver the item to the shipping carrier). See Enabling Get It Fast.
Not applicable to Half.com.
type : NSNumber, wrapper for primitive int
Declared In
Shopping_ShippingServiceOptionType.h
shipsTo
An international location or region to which the item may be shipped via this
particular shipping service. Associated with the shipping service by the
seller. Use GeteBayDetails to determine which locations are valid per site.
These values are string equivalents of values found in ShippingRegionCodeType
and CountryCodeType.
Returned with request version 665 or greater, if set via Trading API.
@property (nonatomic, retain) NSMutableArray *shipsTo
Discussion
An international location or region to which the item may be shipped via this
particular shipping service. Associated with the shipping service by the
seller. Use GeteBayDetails to determine which locations are valid per site.
These values are string equivalents of values found in ShippingRegionCodeType
and CountryCodeType.
Returned with request version 665 or greater, if set via Trading API.
entry type : NSString, wrapper for primitive string
Declared In
Shopping_ShippingServiceOptionType.h


SEMESTER 2
Course List
British Literature
United States History
Pre-Calculus
Physics
Website Design
Drama
BACK


Choose your language.
You're viewing YouTube in English (US). You can change this preference below.
Adorable Carcal Cat SCREAMING FOR FOOD!!!!
PewDiePie
100,537,874
50,016 Views
Published on Feb 27, 2014
How do you contribute to open source? In this video, I'll describe the easiest way to make a simple contribution to an open source project -- without using the command line, a text editor, "forking a repo", or even touching Git outside of Github. I'll also describe what kinds of contributions open source software projects are typically looking for. As an example, I use submitting a student solution to a web development exercise from The Odin Project, a free online curriculum for learning web development with Ruby on Rails.


Challenge 9
-
Construct a function
multiMap
that will accept two arrays:
-
an array of values and an array of callbacks.
multiMap
will return an object whose keys match the elements in the array of values.
-
The corresponding values that are assigned to the keys will be arrays consisting of outputs from the array of
callbacks, where the input to each callback is the key.


Require Import HoTT Join UnivalenceAxiom.
Note: we will use the Admitted command whenever we do not
give the term for a certain type. We then associate the
following meanings to assertion commands:
We also follow the convention to name q_i_j the answer to
question j of exercise i.
Whenever we use a lemma implemented in the HoTT library,
we will be careful to state which lemma of the course/HoTT book
it corresponds to.
Notations to match more closely those of the course/subject.
- Fact denotes a fact proven in the course or the HoTT book
- Proposition denotes either a proposition assumed to be true in the subject, or a partially answered optional question
- Lemma/Theorem denote a partially answered mandatory question
Prelude
Notation "'ua'" := equiv_path.
Notation "'ua^-1'" := path_universe.
Notation "2" := Bool.
Notation "'Σ' A" := (Susp A) (format "'Σ' A", at level 10).
Notation "'S^' n" := (Sphere n) (format "'S^' n", at level 10).
Notation "'S*^' n" := (psphere n) (format "'S*^' n", at level 10).
Infix "×" := prod (at level 30).
Infix "∗" := Join (at level 30).
Infix "≃" := Equiv (at level 50).
Infix "≃*" := pEquiv (at level 50).
Notation "| A |" := (merely A) (format "| A |", at level 70).
Inductive Span :=
| span {A B C : Type} (f : B → A) (g : B → C).
Record EqSpan'
{A B C : Type} (f : B → A) (g : B → C)
{A' B' C' : Type} (f' : B' → A') (g' : B' → C')
:= {
equiv_left : A ≃ A';
equiv_apex : B ≃ B';
equiv_right : C ≃ C';
coherence_left : equiv_left o f == f' o equiv_apex;
coherence_right : equiv_right o g == g' o equiv_apex;
}.

Proposition path_span {s s'} :
EqSpan s s' ≃ (s = s').
Proof.
Admitted.
Section Exercise_1.
Section Question_1.
Context (A : Type).
Let φ : 2 ∗ A → Σ A.
Proof.
(* By recursion on joins, that is on pushouts *)
srapply Join_rec; simpl.
(* φ(left(b)) :≡ … *)
* exact (
fun b ⇒ match b with
| false ⇒ North
| true ⇒ South
end).
(* φ(right(a)) :≡ … *)
* exact (fun _ ⇒ South).
(* ap_φ(quo(b,a)) :≡ … *)
* intros b a. simpl.
(* By recursion/case on b *)
destruct b.
- exact idpath. (* idpath is refl *)
- exact (merid a).
Defined.
Let ψ : Σ A → 2 ∗ A.
Proof.
(* By recursion on suspensions *)
srapply Susp_rec.
(* ψ(N) :≡ … *)
* exact (joinl false).
(* ψ(S) :≡ … *)
* exact (joinl true).
(* ψ(merid_a) :≡ … *)
* (* jglue b a is quo(b,a) *)
intros a. exact ((jglue false a) @ (jglue true a)^).
Defined.
For this first proof, we will comment every step in order to
document how "informal" reasoning translates into tactics and lemmas
of the HoTT library. In subsequent proofs, we will only document
parts that use new tactics/lemmas.
Lemma q_1_1 :
2 ∗ A ≃ Σ A.
Proof.
unshelve econstructor.
(* We choose φ as the underlying map of the equivalence *)
* exact φ.
(* We show that φ is indeed an equivalence, with ψ as inverse *)
* apply isequiv_adjointify with ψ.
(* φ ○ ψ ~ id *)
- unfold Sect.
(* By induction on suspensions *)
srapply Susp_ind; simpl.
(* φ(ψ(N) = N *)
+ exact idpath.
(* φ(ψ(S) = S *)
+ exact idpath.
(* tr_{merid x}(refl) = refl *)
+ intros a.
(* We use an instance of theorem 2.11.3 of the HoTT book *)
rewrite transport_paths_FFlr.
(* Compute with the definition of ψ *)
unfold ψ. rewrite Susp_rec_beta_merid.
(* Lemma 7 and 8 of the course *)
rewrite ap_pp, ap_V.
(* Compute with the definition of φ *)
unfold φ. rewrite 2 Join_rec_beta_jglue.
(* The hott_simpl tactic tries to simplify paths using
basic homotopies, such as composition with identity and
inverse paths *)
hott_simpl.
(* ψ ○ φ ~ id *)
- unfold Sect.
(* By induction on joins *)
srapply Join_ind; simpl.
(* ψ(φ(left(b))) = left(b) *)
+ intros b.
(* By case on b *)
destruct b; simpl.
** exact idpath.
** exact idpath.
(* ψ(φ(right(a))) = right(a) *)
+ intros a. exact (jglue true a).
(* tr_{quo(b,a)}(refl) = quo(1,a) *)
+ intros b a. apply dp_path_transport.
(* Again, same instance of theorem 2.11.3 of the HoTT book *)
rewrite transport_paths_FFlr.
(* Compute with the definition of φ *)
unfold φ. rewrite Join_rec_beta_jglue.
(* By case on b *)
destruct b.
(* tr_{quo(1,a)}(refl) = quo(1,a) *)
** hott_simpl.
(* tr_{quo(0,a)}(refl) = quo(1,a) *)
** (* Compute with the definition of ψ *)
unfold ψ. rewrite Susp_rec_beta_merid.
(* Unwhiskering on the right with quo(1,a), that is
post-composing with quo(1,a) on both sides *)
apply (cancelR _ _ (jglue true a)^).
hott_simpl.
(* Associativity of composition *)
rewrite concat_pp_p.
hott_simpl.
Defined.
End Question_1.
Section Question_2.
Proposition q_1_2 : ∀ A B C,
(A ∗ B) ∗ C ≃ A ∗ (B ∗ C).
Proof.
Admitted.
End Question_2.
Section Question_3.
Fact Bool_Sphere_0 :
2 ≃ S^0.
Proof.
Admitted.
We need functoriality of type formers with respect to equivalence,
in order to apply equivalences to their arguments. We could prove
it individually for each type former of interest, but we choose
instead to use univalence to prove it once and forall.
Definition ae {X Y} (T : Type → Type) :
X ≃ Y → T X ≃ T Y.
Proof.
intros e.
(* path_universe_uncurried is the map given by univalence *)
apply path_universe_uncurried in e.
(* The path_induction tactic applies path induction to every
path found in the context *)
path_induction.
(* equiv_idmap is the identity equivalence *)
exact equiv_idmap.
Defined.
The rewrite tactic of the HoTT library is quite weak since
it does not support equivalences, and does not allow selecting
the occurrences of the term we want to rewrite. Thus we will
compose equivalences manually using the refine tactic and
the oE composition operator.
Open Scope equiv_scope.
Lemma q_1_3 :
S^1 ∗ S^1 ≃ S^3.
Proof.
(* Rewrite on the left of ∗ using functoriality *)
refine (_ oE ae (fun X ⇒ X ∗ _) _).
2: { (* Rewrite under Σ using functoriality (since S^n is the
definition of the sphere based on iterated suspensions) *)
refine (ae Susp _).
(* Rewrite S^0 into 2 *)
exact Bool_Sphere_0^-1. }
(* Rewrite on the left of ∗ using functoriality *)
refine (_ oE ae (fun X ⇒ X ∗ _) _).
2: { (* Rewrite Σ2 into 2 ∗ 2 using q_1_1 *)
exact (q_1_1 _)^-1. }
(* Associativity of ∗ *)
refine (_ oE q_1_2 _ _ _).
(* Rewrite on the right of ∗ using functoriality *)
refine (_ oE ae (fun X ⇒ _ ∗ X) _).
2: { (* Rewrite 2 ∗ S^1 into ΣS^1 using q_1_1 *)
exact (q_1_1 _). }
(* Rewrite 2 ∗ S^1 into ΣΣS^1 using q_1_1 *)
refine (_ oE q_1_1 _).
exact equiv_idmap.
Defined.
Close Scope equiv_scope.
End Question_3.
End Exercise_1.
Section Exercise_2.
Context (A : Type) (P : Σ A → Type).
Section Question_1.
Let ψ '(q, a) := transport P (merid a) q.
Proposition q_2_1 :
{x : Σ A & P x} ≃ Pushout fst ψ.
Proof.
Admitted.
End Question_1.
End Exercise_2.
Section Exercise_3.
Context (A : Type) (μ : A × A → A).
Notation "'μ'" := μ.
Notation "'μ' ( a , b )" := (μ (pair a b)) (format "'μ' ( a , b )").
Notation "'μ' ( a , '_' )" := (fun x ⇒ μ(a,x)) (format "'μ' ( a , _ )").
Notation "'μ' ( '_' , a )" := (fun x ⇒ μ(x,a)) (format "'μ' ( _ , a )").
Context `(∀ a, IsEquiv μ(a,_)).
Context `(∀ a, IsEquiv μ(_,a)).
Definition P : Σ A → Type.
Proof.
srapply Susp_rec; simpl.
* exact A.
* exact A.
* intros a. exact (ua^-1 μ(_,a)).
Defined.
Section Question_1.
Fact hottbook_lemma_2_10_5 :
∀ (A : Type) (B : A → Type) (x y : A) (p : x = y) (u : B x),
transport B p u = ua _ _ (ap B p) u.
Proof.
Admitted.
Lemma q_3_1 : ∀ a b : A,
transport P (merid b) a = μ(a,b).
Proof.
intros a b.
rewrite hottbook_lemma_2_10_5. simpl.
rewrite Susp_rec_beta_merid.
(* transport_path_universe is the propositional computation
rule of univalence (see section 2.10 of the HoTT book) *)
rewrite transport_path_universe.
exact idpath.
Defined.
End Question_1.
Section Question_2.
Let ψ '(q, a) := transport P (merid a) q.
Lemma path_ψ_μ :
ψ = μ.
Proof.
(* equiv_path_arrow is function extensionality *)
apply equiv_path_arrow.
intros p. destruct p as (a, b).
unfold ψ. apply q_3_1.
Defined.
Lemma q_3_2 :
{x : Σ A & P x} ≃ Pushout fst μ.
Proof.
refine (_ oE (q_2_1 _ _)).
rewrite <- path_ψ_μ.
exact equiv_idmap.
Defined.
End Question_2.
Let s := @span A (A × A) A fst μ.
Let s' := @span A (A × A) A fst snd.
Section Question_3.
Let ε : A × A → A × A := fun '(a, b) ⇒ (a, μ(a,_) b).

Lemma q_3_3 :
s = s'.
Proof.
(* We use the analysis of equality between spans *)
apply path_span. unshelve econstructor.
(* Left equivalence *)
* exact equiv_idmap.
(* Apex equivalence *)
* unshelve econstructor.
- exact ε.
- apply isequiv_adjointify with ε_inv.
+ unfold Sect. intros [a b]. unfold ε, ε_inv.
(* μ(a,_) is an equivalence *)
rewrite (eisretr μ(a,_)).
exact idpath.
+ unfold Sect. intros [a b]. unfold ε, ε_inv.
(* μ(a,_) is an equivalence *)
rewrite (eissect μ(a,_)).
exact idpath.
(* Right equivalence *)
* exact equiv_idmap.
(* Left coherence *)
* simpl. apply equiv_path_arrow. exact idpath.
(* Right coherence *)
* simpl. apply equiv_path_arrow. exact idpath.
Defined.
End Question_3.
Section Question_4.
Lemma q_3_4 :
{x : Σ A & P x} ≃ A ∗ A.
Proof.
refine (_ oE q_3_2).
(* equiv_pushout gives an analysis of equivalence between pushouts
as defined in the HoTT library, which will allow us to reduce it
to the analysis of equality between spans of q_3_3 *)
refine (_ oE equiv_pushout _ _ _ _ _).
* exact equiv_idmap.
(* Left coherence... *)
* eapply coherence_left.
(* ...and right coherence... *)
* eapply coherence_right.
Unshelve.
(* ...that we get from q_3_3 *)
apply (path_span^-1 q_3_3).
Defined.
End Question_4.
End Exercise_3.
Section Exercise_4.
Open Scope pointed_scope.
Class IsHType (carrier : pType) := {
mult : carrier × carrier → carrier;
unit_left : ∀ x, mult (point carrier, x) = x;
unit_right : ∀ x, mult (x, point carrier) = x;
}.
Class IsConnected A := connected : ∀ x y : A, |x = y|.
Context (A : pType) `{IsHType A} `{IsConnected A}.
Notation e := (point A).
Notation "'μ'" := mult.
Notation "'μ' ( a , b )" := (μ (pair a b)) (format "'μ' ( a , b )").
Notation "'μ' ( a , '_' )" := (fun x ⇒ μ(a,x)) (format "'μ' ( a , _ )").
Notation "'μ' ( '_' , a )" := (fun x ⇒ μ(x,a)) (format "'μ' ( _ , a )").
Section Question_1.
I could not find a proper induction principle for the
propositional truncation in the HoTT library, thus we
assume the one seen in course.
Fact merely_ind :
∀ (A : Type) (P : |A| → Type),
(∀ x : A, P (tr x)) →
∀ x : |A|, P x.
Proof.
Admitted.
A consequence of the induction principle is that
for any type B, assuming |B| amounts to assuming B.
Lemma destruct_merely : ∀ B,
|B| → B.
Proof.
intros B. apply (merely_ind B). exact idmap.
Defined.
Lemma q_4_1 : ∀ x : A,
|μ(x,_) = idmap| × |μ(_,x) = idmap|.
Proof.
intros x. split.
* apply tr.
apply equiv_path_arrow.
unfold "==". intros a.
pose proof (connected μ(x,a) a).
now apply destruct_merely.
* apply tr.
apply equiv_path_arrow.
unfold "==". intros a.
pose proof (connected μ(a,x) a).
now apply destruct_merely.
Defined.
End Question_1.
Instance isequiv_μ_left :
∀ x, IsEquiv μ(x,_).
Proof.
intros x. destruct (q_4_1 x) as [Hl Hr].
apply (destruct_merely _) in Hl.
rewrite Hl. apply isequiv_idmap.
Defined.
Instance isequiv_μ_right :
∀ x, IsEquiv μ(_,x).
Proof.
intros x. destruct (q_4_1 x) as [Hl Hr].
apply (destruct_merely _) in Hr.
rewrite Hr. apply isequiv_idmap.
Defined.
Section Question_3.
Short name for the equivalence obtained in q_3_4,
instanciated to our H-type A.

First, we need a few definitions to make our operations
live in the pointed universe.
Pointed Σ-types
Definition psig {X : pType}
(P : X → Type) `{pointP : IsPointed (P (point X))} : pType.
Proof.
unshelve econstructor.
* exact (sig P).
* apply ispointed_sigma.
Defined.
Pointed joins
Definition pjoin : pType.
Proof.
unshelve econstructor.
* exact (A ∗ A).
* exact (ε (North; e)).
Defined.
Fiber sequences
Definition fib {X Y : pType} (f : X ->* Y) : pType.
Proof.
unshelve econstructor.
* exact (hfiber f (point Y)).
* exact (point X; point_eq f).
Defined.
Definition fib_proj {X Y : pType} (f : X ->* Y) : fib f ->* X.
Proof.
unshelve econstructor.
* intros x. destruct x as [x _]. exact x.
* simpl. exact idpath.
Defined.
Definition IsFiberSeq {X Y Z : pType} (f : X ->* Y) (g : Y ->* Z) :=
{p : X = fib g & transport (fun B ⇒ B ->* Y) p f = fib_proj g}.
Record FiberSeq (X Y Z : pType) := {
fiberseq_proj : X ->* Y;
fiberseq_map : Y ->* Z;
isfiberseq : IsFiberSeq fiberseq_proj fiberseq_map;
}.
One can make a fiber sequence from a fibration, i.e.
a type family C : X → Type, whenever X is pointed
by ∗ and C(∗) is pointed as well.
Proposition fibration_fiberseq {X : pType}
(C : X → Type) `{ispointed_C : IsPointed (C (point X))} :
@FiberSeq {| pointed_type := C (point X);
ispointed_type := ispointed_C |}
(psig C) X.
Proof.
Admitted.
The trick then is to define the fibration C so that
it coincides with the P from exercise 3.
Definition C : psusp A → Type.
Proof.
srapply Susp_rec; simpl.
* exact A.
* exact A.
* intros a. exact (ua^-1 μ(_,a)).
Defined.
Instance ispointed_C : IsPointed (C (point (psusp A))) := e.
We use C to get a fiber sequence
A →∗ (x : ΣA) × C(x) →∗ ΣA
Let σ := fibration_fiberseq C.
Intuitively, it only remains to "rewrite" (x : ΣA) × C(x)
into A ∗ A using ε to conclude. But we cannot do this
directly because we only have an equivalence of non-pointed
types, but sequences are defined on pointed types.
So we start by building a pointed equivalence from ε.
Definition ε_pointed :
psig C ≃* pjoin.
Proof.
unshelve econstructor.
* exact (pmap_from_point ε (North; e)).
* apply isequiv_adjointify with ε^-1.
- apply eisretr.
- apply eissect.
Defined.
Then we rewrite, and that's it!
In fact we have to cheat a little bit: we use the lemma path_ptype
to turn the pointed equivalence into a path in the universe of
pointed types, which follows from univalence with a bit of work.
Lemma q_4_3 :
@FiberSeq A (pjoin) (psusp A).
Proof.
rewrite <- (path_ptype ε_pointed).
exact σ.
Defined.
End Question_3.
End Exercise_4.
Section Exercise_5.
Section Question_1.
S1 is the inductive definition of the circle, not to be confused
with S^1 which is the definition based on iterated suspension
(though the two definitions are equivalent).
Definition ψ' : ∀ x : S1, x = x.
Proof.
(* By induction on circles *)
srapply S1_ind; simpl.
* exact loop.
* (* Lemma 2.11.2 of the HoTT book *)
rewrite transport_paths_lr.
hott_simpl.
Defined.
End Question_1.
Section Question_2.
Let ψ := path_forall _ _ ψ'.
Definition μ : S1 → S1 → S1.
Proof.
srapply S1_rec.
* exact idmap.
* exact ψ.
Defined.
Proposition q_5_2 : ∀ x : S1,
(μ x base = x) × (μ base x = x).
Proof.
Admitted.
End Question_2.
Section Question_3.
Pointed circle, built from the easy to manipulate
inductive definition.
Definition pcircle : pType := Build_pType S1 base.
Notation "'S1*'" := pcircle.
With the previous question, we can prove that
the (pointed) circle is an HType.
Instance ishtype_pcircle : IsHType S1*.
Proof.
unshelve econstructor.
* intros [x y]. exact (μ x y).
* simpl. intros. exact idpath.
* simpl. intros. exact (fst (q_5_2 _)).
Defined.
The circle is connected.
Instance isconnected_pcircle : IsConnected S1*.
Proof.
Admitted.
First we adapt the equivalence from q_1_3 to the inductive
definition of the circle.
Let ε : S1 ∗ S1 ≃ S^3.
Proof.
pose proof q_1_3 as ε.
rewrite (ua^-1 Sph1_to_S1) in ε.
exact ε.
Qed.
Then we define a 3-sphere with a custom basepoint, so that we can
build the pointed equivalence with the same trick of q_4_3.
Definition psphere3 := Build_pType (S^3) (ε (point (pjoin S1*))).
Now we can build the pointed equivalence.
Lemma q_1_3_pointed :
pjoin (S1*) ≃* psphere3.
Proof.
unshelve econstructor.
* exact (pmap_from_point ε (point (pjoin S1*))).
* apply isequiv_adjointify with ε^-1.
- apply eisretr.
- apply eissect.
Defined.
Finally, we put everything together to get the Hopf fibration!
Theorem q_5_3 :
@FiberSeq (S1*) (psphere3) (S*^2).
Proof.
(* Build the fiber sequence of q_4_3 *)
pose proof (q_4_3 S1*) as σ.
(* Rewrite using the equivalence of q_1_3 *)
rewrite <- (path_ptype q_1_3_pointed).
(* Turn the inductive pointed circle inside the 2-sphere
into its iterated pointed suspension version *)
unfold pcircle in σ at 3.
rewrite <- (path_ptype pequiv_pSph1_to_S1) in σ.
(* That's it! *)
exact σ.
Defined.
End Question_3.
Section Question_4.
Lemma q_5_4 : ∀ n,
Pi n (S*^3) = Pi n (S*^2).
Proof.
(* By the argument given in the course to illustrate lemma 29,
which uses the Hopf fibration built in q_5_3. *)
Admitted.
End Question_4.
End Exercise_5.
This page has been generated by coqdoc


filmcritic.com presents a review from staff member Jeremiah Kipp. You can find the review with full credits at http://filmcritic.com/misc/emporium.nsf/2a460f93626cd4678625624c007f2b46/c0d27d402232edf3882569740004ddd7?OpenDocument
REQUIEM FOR A DREAM A film review by Jeremiah Kipp Copyright 2000 filmcritic.com filmcritic.com
Imagine Trainspotting without any trace of humor and you're on the right track. Picture Pasolini's Salo: 120 Days of Sodom shot by some MTV music video kid interested in the novelty of his new camera. Darren Aronofsky (Pi) stacks one degrading sight atop another without implicating the viewer, nor providing any framework or reference for his visual rape of his audience - all smoke and mirrors disguising a great, vapid emptiness.
For starters, I've never seen Coney Island junkies who look as pretty as Harry (Jared Leto) and Tyrone (Marlon Wayans), who bear a passing resemblance to the kids from Calvin Klein ads. They're drug dealers who have high aspirations, saving their earnings for a better tomorrow. Placing all their cash in a locker, they sit under the boardwalk smoking up and dreaming their grandiose dreams.  The good times can't last forever.
The drug use scenes are done in vivid smash cuts showing dilating pupils, squeezing needles, the sizzle of white powder cooked in a spoon. We never see these kids shoot up -- rather, we see abstract images. Every time this technique appears, it's too flashy and aware of its own experimental filmmaking approach, a purely stylistic flourish.
Kronos Quartet wrote the driving, thumping, angry, brutal violin score which drums like a hammer and chain beating you into submission. Harry, Tyrone, and their ambitious if drug addled friend Marion (a very good Jennifer Connelly), who could be a great designer were it not for her plunge into addiction, eventually become slaves to their own destructive destinies. They run out of money, and in the second half of the movie they move through a bleak winter, suffering the eternal torments of the damned.
Each situation is set up so neatly, we're certain where the path will lead. Harry sports a nasty welt on his arm which doesn't look so good. Tyrone discovers that maybe that trip to Florida to track down some fresh supply was a bad idea -- since them southern boys don't like colored folk. Marion eventually telephones a sadistic pimp (Keith David) and sells her body for drugs.
The movie's first scene involves Harry stealing his mom's television set. She can always go right down the block in half an hour and buy it back.
Ellen Burstyn is so good, so unglamorous and believable as a Brighton Beach Jewish mama, that she shines through Aronofsky's bag of tricks and delivers a strong, sad, comic performance. At first, Sara seems to share the addiction of the film's other characters, endlessly watching her television, but when she gets a surprise phone call asking her to appear on a TV show she realizes she's too overweight to fit into the red dress her husband once admired her in. She goes on a diet.
Unfortunately for the audience, midway through we realize that Sara's in trouble. She's gone to a quack doctor for some diet pills, which turn out to be speed.
Sara's refrigerator starts roaring like a lion as the images become fuzzy and, well, straight out of Terry Gilliam's superior Fear and Loathing in Las Vegas. In short order, Sara wears the same junkie shoes as her younger co-stars. While it's painful to watch a harmless old woman descend into the circle of hell, she could easily have escaped it by going to another doctor for a second opinion.
Some critics are sure to fawn over Requiem. It goes further than most films into uncomfortable territory, and the spinning visuals are technically accomplished. I'm sure Darren Aronofsky's courage will be extolled -- yes, it's so bold to show human misery without sympathy or understanding.
I'm not against violence or torture onscreen. The best film to compare Requiem to is Pasolini's Salo. Wisely, Pasolini used restraint with his camera and simply filmed people being sexually abused and beaten without showy fanfare. Salo creates a hollow, disturbing feeling of helplessness.
Ultimately, Aronofsky lacks that crucial insight when showing the nature of horror. His gaze feels inexperienced. Perhaps young filmmakers should not attempt to tackle the bleak world before they have had a chance to go through it themselves. (Salo was Pasolini's final film; Mike Leigh's bleak Naked was made when he was middle aged.)
Once we get past the notion that addiction is a horrible thing (which I don't believe is news to anyone who will watch Requiem for a Dream), the question remains: What purpose does this film serve? Let me know if you figure it out.

The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Assemblers¶
-
FEMpy.Assemblers.
assemble_matrix
(coeff_funct, mesh, trial_basis, test_basis, derivative_order_trial, derivative_order_test)[source]¶ Construct the finite element stiffness matrix. Meant to be used in a
FEMpy.Solvers
solve method.Parameters: - coeff_funct (function) – Function name of the coefficient function c(x(,y,…)) in a Poisson equation.
- mesh ({
FEMpy.Mesh.Interval1D
,FEMpy.Mesh.TriangularMesh2D
}) – AMesh
class defining the mesh and associated information matrices. - trial_basis, test_basis ({:class: FEMpy.FEBasis.IntervalBasis1D, :class: FEMpy.FEBasis.TriangularBasis2D}) – A :class: FEBasis class defining the finite element basis functions for the trial and test bases.
- derivative_order_trial, derivative_order_test (int or tuple of int) – The derivative order to be applied to the finite element basis functions. If basis function is one-dimensional,
this should be specified as an int. Otherwise, the derivative order should be specified as a tuple with the
orders corresponding to the coordinate axes in the basis functions. e.g.,
(`x_order`, `y_order`,...)
.
Returns: The finite element stiffness matrix as a row-based linked list sparse matrix.
Return type: sparse matrix
-
FEMpy.Assemblers.
assemble_vector
(source_funct, mesh, test_basis, derivative_order_test)[source]¶ Constructs the finite element load vector. Meant to be used in a
FEMpy.Solvers
solve method.Parameters: - source_funct (function) – The nonhomogeneous source function f(x(,y,…)) of the Poisson equation.
- mesh ({
FEMpy.Mesh.Interval1D
,FEMpy.Mesh.TriangularMesh2D
}) – AMesh
class defining the mesh and associated information matrices. - test_basis ({:class: FEMpy.FEBasis.IntervalBasis1D, :class: FEMpy.FEBasis.TriangularBasis2D}) – A :class: FEBasis class defining the finite element basis functions for the test basis.
- derivative_order_test (int or tuple of int) – The derivative order to be applied to the finite element basis function. If basis function is one-dimensional,
this should be specified as an int. Otherwise, the derivative order should be specified as a tuple with the
orders corresponding to the coordinate axes in the basis functions. e.g.,
(`x_order`, `y_order`,...)
.
Returns: The finite element load vector.
Return type: ndarray


WITNESS LIST Ways & Means Committee April 16, 1997-4:00P HB 392 For: Rep. Mowery (Herself) Against: Claudia Mora (City of San Antonio) Gary Bushnell (City of Corpus Christi) Glenn E. West (Greater Austin Chamber) Mario Hernandez (Himself) Michael White (Greater Houston Partner) Phil Brewer (Round Rock Chamber of C) Sheyrl N. Cole (TX Municipal League) HB 1029 For: Rep. Hawley (Herself) HB 1361 For: Dale Cummings (TX Taxpayers & Rscrch) Rep. Alexander (Himself) William H. Tulloch (Burlington Resources) Against: Buddy Winn (Tax Assessor-Coll. Asso) Joe Pondrom (Himself) On: Jim Robinson (Himself) HB 1518 For: Rep. Farrar (Herself) HB 1610 For: Joe Pondrom (Himself) Rep. Turner, Bob (Himself) HB 1723 For: Durwood Tucker (TX Farm Bureau) Ross Cahal, Jr. (TX Forestry Association) On: James B. Hull (TX Forest Service) HB 1855 For: Rep. Eiland (Himself) HB 2064 For: Anthony Sharp (Himself) Judy Miller (Herself) Rep. King (Himself) Against: Rena R. Griesel (Herself) HB 2587 For: Kirk Swinney (Himself) HB 2606 For: Sam W. Russell (TX Mfctrd Housing Assoc) HB 2667 For: Representative Hawley (Herself) HB 2669 For: Rep. Patterson (Himself) HB 2674 For: Representative Isett (Himself) HB 2682 For: Rep. Hawley (Herself) HB 3189 For: David Gochman (TX Outdoor Recreation) Rep. Kuempel (Himself) On: Andrew Samson (TX Parks & Wildlife Dep) Lee Marshall Bass (TX Parks & Wildlife Com) Richard Heath (TX Parks & Wildlife Dep) HB 3210 For: Rep. Raymond (Himself) Rep. Turner, Bob (Himself) Royce Trout (TX Pyrotechnic Assoc) On: John Helleman (Comptroller of Public A) HJR 37 For: Rep. Mowery (Herself) Against: Claudia Mora (City of San Antonio) Gary Bushnell (City of Corpus Christi) Glenn E. West (Greater Austin Chamber) Mario Hernandez (Himself) Michael White (Greater Houston Partner) Phil Brewer (Round Rock Chamber of C) Sheryl N. Cole (TX Muncicipal League) HJR 80 For: Rep. Farrar (Herself) SB 759 For: Robert Spellings (Heavy Equipment Dealers)


Wonderwall (1968) 75m
This 60s 'head' movie flopped when it opened in theaters and would have vanished into obscurity had it not been for the instrumental soundtrack by George Harrison which kept it known for several years (a re-edited version, including a restored opening track by Harrison, was released in cinemas three decades later). In keeping with the Beatles connections, Dutch design group The Fool (who also painted the wondrous wall on the Apple Boutique building) was hired to create artwork and fashions for the film. WONDERWALL also has writer Gerard Brach (a longtime favorite of Polanski) and actress/singer Jane Birkin on board to help it earn cult status.
Jack MacGowran stars as a mousy professor (coincidentally, he had played a professor in Polanski's/Brach's THE FEARLESS VAMPIRE KILLERS the previous year) who analyzes water samples and lives in a cramped apartment which looks like it is made up mostly of walls. The monotony of his daily routine changes when he discovers a small hole through which he can peer into the apartment (a great set!) of neighbor Birkin. The images he sees intrigue him and soon all his time is spent watching the room next door. WONDERWALL is less concerned with a story than it is about an event and observes it with as much detachment as MacGowran studies the bacteria under his microscope. The characters are as two-dimensional as the wall that separates them, their only purpose being to play out the film-makers' ideas. But if this is so, then what is the idea being conveyed in WONDERWALL, if any? Is it that old 60s saw that we all build barriers around ourselves that need to be broken to attain total freedom? Does it suggest that drugs can enlighten one's consciousness? (one character, who appears in a fantasy sequence as 'LSD' is quite happy to discover that MacGowran has sugar cubes he can borrow). I don't think filmgoers need to dig for a message to endorse WONDERWALL - it's enough that the film was pretty much overlooked in the era it was made and the cultural capital invested in it years later reclaimed it iconographically. In other words, the main reason to see WONDERWALL 'now' is because it is a film that could only have been made 'then'.
That's the extent of my affection for WONDERWALL, but I would have preferred to see the film go further than it does. Why not let MacGowran demolish the wall with a vengeance so he can launch himself into the alternate universe he sees behind it? In spite of its trippy feel, the basis of the storyline is surprisingly conservative. MacGowran's visions look like photo shoots, which don't seem out of place when you remember that Birkin's character is a fashion model. In fact, the whole thing is more than likely hallucination on his behalf.  The early PSYCHO reference (stuffed birds, the appearance of 'Mother", and a guilty MacGowran crouched at the peephole spying on a girl) serves little point unless it's meant to tip us off that MacGowran is unhinged from the outset. Interestingly, because what MacGowran sees is fanciful we don't think of him as a voyeur. And besides, we don't really see him getting any gratification - at the end of the film he's just where he was at the beginning, making the whole exercise seem pointless. I think, however, that like any scientist (quantum physicists excluded) MacGowran's character knows that to achieve true results he is permitted only to observe, and nothing more. At the point in the story when he finally stops viewing and starts interfering, the consequences are significant. In short, he has broken a precept that has been fundamental to his work routine - in fact, his life - and that is enough to create some form of liberation, even if it is one that can't be seen outwardly. It might not be our idea of a happy ending, but it's good enough for him.
<EMAIL_ADDRESS>Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Blogs don’t always consist solely of blog entries. Sometimes you want to add other content to your blog that’s not a blog entry. For example, an “about this blog” page or a page covering a list of your development projects.
This plugin allows you to have pages served by Pyblosxom that aren’t blog entries.
Additionally, this plugin allows you to have a non-blog-entry front page. This makes it easier to use Pyblosxom to run your entire website.
This plugin comes with Pyblosxom. To install, do the following:
pagesdir
This is the directory that holds the pages files.
For example, if you wanted your pages in /home/foo/blog/pages/, then you would set it to:
py["pagesdir"] = "/home/foo/blog/pages/"If you have blogdir defined in your config.py file which holds your datadir and flavourdir directories, then you could set it to:
py["pagesdir"] = os.path.join(blogdir, "pages")
pages_trigger (optional)
Defaults to pages.
This is the url trigger that causes the pages plugin to look for pages.
py[“pages_trigger”] = “pages”
pages_frontpage (optional)
Defaults to False.
If set to True, then pages will show the frontpage page for the front page.
This requires you to have a frontpage file in your pages directory. The extension for this file works the same way as blog entries. So if your blog entries end in .txt, then you would need a frontpage.txt file.
Example:
py["pages_frontpage"] = True
Pages looks for urls that start with the trigger pages_trigger value as set in your config.py file. For example, if your pages_trigger was pages, then it would look for urls like this:
/pages/blah
/pages/blah.html
and pulls up the file blah.txt [1] which is located in the path specified in the config file as pagesdir.
If the file is not there, it kicks up a 404.
| [1] | The file ending (the .txt part) can be any file ending that’s valid for entries on your blog. For example, if you have the textile entryparser installed, then .txtl is also a valid file ending. |
pages formats the page using the pages template. So you need a pages template in the flavours that you want these pages to be rendered in. I copy my story template and remove some bits.
For example, if you’re using the html flavour and that is stored in /home/foo/blog/flavours/html.flav/, then you could copy the story file in that directory to pages and that would become your pages template.
pages handles evaluating python code blocks. Enclose python code in <% and %>. The assumption is that only you can edit your pages files, so there are no restrictions (security or otherwise).
For example:
<%
print "testing"
%>
<%
x = { "apple": 5, "banana": 6, "pear": 4 }
for mem in x.keys():
print "<li>%s - %s</li>" % (mem, x[mem])
%>
The request object is available in python code blocks. Reference it by request. Example:
<%
config = request.get_configuration()
print "your datadir is: %s" % config["datadir"]
%>
Plugin is distributed under license: MIT


Shibolet Ordering Sheet.
Order Summary
Order Total
Order Information:
Date:
salesmen-id
Customer Name
Contact Person
Phone:
Email:
Address:
Ship to Address: (If different)
Order Needed By:
Area:
payment-terms:
General comments:
Submit Order
×


{% extends 'ringapp/base.html' %} {% block title %}Commutative ring properties{% endblock %} {% block body_block %}
Here is a list of properties for commutative rings.
(Switch to the general ring properties index.)


News story
Confidence in finding work has been increasing steadily over the past year.
The most recent National Careers Service Job Confidence Index shows that the nation’s job confidence has been steadily increasing, since the Index was first released in August 2013.
4 out of 5 people (80%) became more job confident or maintained the same confidence levels in their job and ability to find work, an increase of 6 percentage points compared to last year.
Economic recovery has proved to be the main driver for job confidence, with 58% attributing their increase in confidence to the improving economic climate. This is an increase of 16 percentage points from 42% in August 2013.
The overall Index, which analyses people’s perceptions of the nation’s work and employment prospects, has increased by 3.6 points since August 2013 – taking the Index score up from 51.8 to 55.4 out of 100.
The research reveals that over two thirds (69%) of people agree that they have the right experience to find employment, an increase of 7 percentage points since last year, and 65% said they had the right skills and qualifications to find work, up from 57% since August 2013.
However, the nation still lacks confidence when it comes to some aspects of job hunting. Although three in five feel confident about developing a CV and an application letter, 42% of people do not feel confident in being interviewed for a job, compared to 34% in August 2013. In addition, 42% of the respondents said they would not feel confident about finding new work if they were unemployed.
Overall, the research shows that job confidence is increasing across all regions and sectors of society - including the unemployed. The West Midlands and London saw the biggest leaps in job confidence compared to one year ago.
All areas in the country agree that economic recovery is the biggest driver behind an increase in job confidence, with most agreement on this factor from East of England, (66%), followed by Yorkshire & Humber (64%) and the North West (60%).
Joe Billington, Director of the National Careers Service, said:
We are encouraged to see that the nation has become more job confident over the past year and is taking advantage of the opportunities that economic recovery offers. With more jobs on the market, however, interview skills become increasingly important and the research shows that there’s work to do to improve the nation’s confidence in this area.
The National Careers Service provides advice to people of all ages and at all stages of their working lives. We are here to support anyone who needs help with looking for work, whether it’s interview skills or CV development, and we urge them to get in touch with us today.
Get in touch with the National Careers Service by calling 0800 100 900 or search online.
PDF , 511KB , 1 page
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
Published: 1 September 2014
From: Skills Funding Agency
Part of: Further education and training