Working the literary landscape of international espionage, the novelist Denis Johnson specializes in madness.
In the '70s they were in Saigon. In the '80s they were in Managua. In the aughts they haunted Kandahar and Kabul. Now they've resurfaced in Freetown, Arua, and Bamako. They belong to the international shadow class: stateless drifters, misanthropes, and adrenaline junkies with tenuous ties to intelligence agencies, drug cartels, and arms dealers. They are ambassadors of "the secrets and the dark," in Denis Johnson's phrase, and if their stories are slightly too good to be true, we can forgive them, because they fabricate for a living. The geopolitical situation may change, wars come and go, but these characters are always the same. They work for no one and everyone, but mainly they work for themselves.
I have no idea whether such people exist in the real world, but for more than a century these shifty-eyed characters have shown up in the work of novelists as diverse as Joseph Conrad, G. K. Chesterton, Graham Greene, Joan Didion, Robert Stone, Don DeLillo, and James Ellroy. They have also appeared before in the novels of Denis Johnson; think of the nameless British businessman in The Stars at Noon, adrift in Managua, who seems to be in cahoots with an oil company, the CIA, the Sandinistas, and the Contras; or the intelligence officers and spies in Tree of Smoke who pass freely between North and South Vietnam, ferrying secrets and assassination plots. Johnson has returned to international espionage in his slim new novel, which is set in Africa during the Obama administration. The Laughing Monsters is a traditional spy caper, and like any genre novel, it is most satisfying when it abandons convention and allows us insight into the author's own personal madness.
Few novelists write as well about madness as Johnson, a savant of pipe dreams and paranoiac fantasies, but in the early throes of The Laughing Monsters he seems determined to play it straight. His narrator is Roland Nair: 38, half American and half Danish, a captain in the Danish army, on assignment for NATO's intelligence agency in Freetown, Sierra Leone. Like so many of Johnson's creations, Nair is a drifter at an uncertain position in life, open to opportunity and fearful of it, too. He corresponds intermittently with a girlfriend in Amsterdam named Tina, who also works for NATO intelligence, and though we never see or hear her directly, we gather that she is a smart, dependable, caring woman. Nair doesn't deserve her. He is unsatisfied, and neither he nor the reader has any expectation that he will ever find satisfaction.
In the middle of the lobby stood a figure in a two-piece jogging suit of royal purple velour, a large man with a bald, chocolate, bullet-shaped head, which he wagged from side to side as he blew his nose loudly and violently into a white hand towel. People were either staring or making sure they didn't. This was Michael Adriko.
You'll live like a king. A compound by the beach. Fifty men with AKs to guard you. The villagers come to you for everything. They bring their daughters, twelve years old—virgins, Nair, no AIDS from these girls. You'll have a new one every night. Five hundred men in your militia. You know you want it. They dance at night, a big bonfire, and the magic men come and stretch their arms to the length of a python, and change into all kinds of animals, and drums pounding, and naked dancers, all just for you, Nair!
There is a touch here, in the magic men with arms like pythons, of Johnson's particular flavor of madness: a burnt-out evangelicalism tempered by a talent for black humor and an acute sense of the grotesque. Though Johnson's style is restrained in The Laughing Monsters, it sprouts up through the cracks in vivid shoots. This is one of the novel's main attractions—the awkward encounters between Johnson's bursts of mad-eyed prose and the rigid demands of his hard-boiled plot. You can see his style emerge in his description of the aroma of the sanitized Freetown hotel rooms, an aroma that says, "All that you fear, we have killed," or in his account of a motorcycle ride through town that leaves Nair feeling "more alive but also murdered." That might be the most concise description of the spiritual quality of Johnson's fiction. His characters want badly to feel alive, but the best way they know how is to try to get themselves killed.
This, at any rate, seems to be Nair's goal. He blindly follows Adriko into a crazy plot to scam undercover Israeli nationals into buying phony enriched uranium. Shoot-outs and knife fights ensue, as do brushes with Interpol, the Mossad, the CIA, and MI5; kidnappings and escapes; and a particularly Kurtzian episode in the Congo jungle, amid a tribe that appears to have gone terminally insane. At some point along the way, Nair has the brilliant idea to pawn NATO and U.S. intelligence secrets to a mysterious foreign agent who is probably representing China.
Just when the deluge of state secrets threatens to dissolve into chaos, Johnson retreats. He is a courteous guide, careful to remind the reader what has happened, and where we are going. As the details begin to overwhelm, he turns our attention inward, to a love triangle formed by Nair, Adriko, and Adriko's fiancée, a beautiful American whose father is a commander with the U.S. Special Forces. The spy plot yields to a story of thwarted love. For all its chaos and complexity, The Laughing Monsters is one of Johnson's most disciplined efforts. He never loses control, even though Nair most certainly does.
At some point—perhaps after Nair has his first breakdown, or at least by the time he finds himself in the middle of the Congo jungle at the mercy of a tribe ruled by a madwoman screaming for blood sacrifice—the reader may begin to wonder what this is all about. Are we reading a fable about the new global order, and America's increasingly tenuous grasp of reality beyond its borders? There are gestures in this direction. "Since nine-eleven," says one high-ranking U.S. intelligence agent, "chasing myths and fairy tales has turned into a serious business. An industry. A lucrative one." At other times Johnson seems to be posing questions about personal liberty and ambition. Is Nair in control of his fate, or has he yielded to mystical, primitive forces? Elsewhere the novel reads like an inquiry into the lure of nihilistic hedonism in an amoral age. Nair has returned to Africa, and intelligence work, because "I love the mess. Anarchy. Madness. Things falling apart. Michael only makes my excuse for returning." Nair doesn't want simply to observe the madness; he wants to fall apart too.
There is an echo here of the rapid descent into chaos and lasciviousness in Georges Simenon's Tropic Moon, also set in West Africa, and of the determination to "go to pieces" that inspires the heroines of Two Serious Ladies, Jane Bowles's novel about tropical dissolution. Nair, like Bowles's serious ladies, will do anything to avoid returning to his old "boring existence." The exact contours of that boring existence are never explicated, though we can assume that it includes an office job and marriage to poor, dutiful Tina.
The metaphor that lingers is, like so much in the novel, a conventional one, albeit one reanimated by Johnson's bristling, cockeyed prose: a moth flying into the flame of a candle. Nair sees this moth while he's writing a letter that he may never send to a woman he will probably never have. The moth is as "big as a sparrow," Nair writes, and it "batted out the flame in its forays and then crashed at my feet with its paraffin-spattered wings on fire and lay there flailing and burning for several minutes—all because of its infatuation." Nair is drawn in the same way to Adriko, who emerges as the novel's hero, decisive, charismatic, and wiser than he is foolish. It is one of the novel's punch lines that Adriko turns out to be the sanest character of all. Every wild tale he tells is revealed to be true. Unlike Nair, Adriko is in total control of his destiny. He is a man of our time: adept at negotiating the gray zones where national interests, terrorism, and capitalism meet.
And Johnson is a novelist of our time, posing difficult questions about politics and morality but refusing to answer them. It is in this refusal that The Laughing Monsters finally breaks away from the genre's claustrophobic conventions. When it does, at the end of the novel, it's a relief to the reader, and a relief, it seems, to Johnson. We leave Nair just where we found him: wandering around Africa in search of adventure and chaos. Where will he end up? "Maybe back to Ghana. Maybe Senegal. There's always Cameroon." Johnson, like his narrator, loves the mess, and dares his readers to do the same.


WHEREAS, The theme of the Convention is "Share the Word Now" and this Word we share is explicitly clear on this subject.
Therefore, be it RESOLVED, That we "redig" or reaffirm God's order of authority for his church and the Christian home: (1) Christ the head of every man; (2) man the head of the woman; (3) children in subjection to their parents--in the Lord.
Therefore, be it further RESOLVED, That we "redig" or reaffirm God's explicit Word that (1) man was not made for the woman, but the woman for the man; (2) that the woman is the glory of man; (3) that as woman would not have existed without man, henceforth, neither would man have existed without the woman, they are dependent one upon the other--to the glory of God.


text:
Forældre er en islandsk film fra 2007 og er instrueret af Ragnar Bragason.. Forældre vandt fem Edda Awards i 2007.

Medvirkende
 Edda Arnljótsdóttir som Mor
 Reine Brynolfsson som Johann
 Nína Dögg Filippusdóttir som Sygeplejerske
 Brian Fitzgibbon som John
 Gísli Örn Garðarsson som Gardar
 Þröstur Leó Gunnarsson som Addi
 Gunnar Hansson som Bjarni
 Jóna Guðrún Jónsdóttir som Erna
 Víkingur Kristjánsson som Einar Birgir
 Nanna Kristín Magnúsdóttir som Katrin Rós

Kilder

Eksterne henvisninger

Film fra 2007
Film fra Island

redpajama_set_name: RedPajamaWikipedia


text:
"100% Egyptian Cotton" at the IFS London Fashion Week
February 25, 2017 by Glenn Belverio
'100% Egyptian Cotton' Supported by CIB-Egypt Featured in the
International Fashion Showcase2017 Presented by Mercedes-Benz
LONDON– 22February 2017 – '100% Egyptian Cotton', a fashion installation featuring Egypt's best emerging designers, was for the second year part of the International Fashion Showcase 2017 presented by Mercedes-Benz.
Egypt was the only Arab country to be represented in this year's showcase and became the most-visited stand at the event. The '100% Egyptian Cotton' installation was been extremely popular with visitors and attracted an array of fashion royalty, including legendary British fashion journalists Suzy Menkes, OBE, Sarah Mower and Hillary Alexander, OBE. The influential fashion journalists were extremely impressed with the installation and spoke to the six designers in depth.
Organised by the British Council, British Fashion Council and Mercedes-Benz, in association with London Fashion Week, the theme of IFS 2017 was Local/Global. The annual showcase was held from 17 – 21 February at Somerset House in London.
The exhibition was curated by Susan Sabet, who is thefounder and editor-in-chief of Pashion Magazine, and one of the top 500 most influential people in the fashion industry according to the Business of Fashion.
The exhibition was supported by British Council Egypt and Commercial International Bank – Egypt (CIB),thelargestprivatesectorbankinEgypt.SaharabyShahiraFawzyprovidedthe Egyptian cotton for the installation, designed by Egyptian interior design company Living In.
The wondrous landscape of Egypt's countryside, the colours of the earth, and the stunning pink and blue Egyptian skies set the backdrop for an unparalleled fashion experience. This year's showcase attracted a record number of people, exceeding last year's numbers of 10,000.
CIB's CEO of Retail Banking, Ahmed Issa, said: "We are pleased and proud tohave sponsored '100% Egyptian Cotton'. The exhibit represents not only the deep and diverse talent of the six young designers and the team that created the magnificent installation, but the vast talent throughout Egypt."
Susan Sabet added: "We are thrilled with the overwhelming response to the installation. Having fashion's elite focus on our installation is a tribute to Egypt's growing presence on the international fashion stage."
The Egyptian designers were selected based on meeting the requirements of the British Fashion Council, as well as creative and quality standards, to compete on an international level and to represent Egypt in the best way possible.
Each designer created one to two one-off pieces based on their interpretation of 100% Egyptian cotton, spanning from the lifecycle of the cotton plant to the ready product for the accessory and jewellery designers. The two ready-to-wear designers took the classic men's shirt in 100% Egyptian cotton as the starting point for their pieces and embellished them with colourful floral embroidery, referencing the clothes of the young farming women picking cotton flowers.
The designers who participated in the exhibition:
Maram Paris – Womenswear
Marsuma by Nour Omar – Textiles Painting
Norine Farah – Womenswear
Okhtein – Handbags
Reem Jano – Jewellery
Sabry Marouf – Handbags & Jewellery
Click here to see images of the designer's pieces on display at the 2017 International Fashion Showcase.
About the '100% Egyptian Cotton' Team
In addition to Susan Sabet, the exhibition team included the mother and daughter team of Alia and Tamara El Tanani of Living in Interiors who are responsible for the exhibition's interior design.
Their family-owned business is Egypt's leading design firm that provides its clients with integrated, bespoke lifestyle of brand culture and taste in exteriors and interiors for residential, commercial and public spaces.
Daki Marouf directed the project management for Egypt's exhibition. A managing partner of Sabry Marouf and fashion business consultant, Mr. Marouf is actively engaged in the fashion and interior sectors, having managed major projects in Cairo, London, Dubai, and Doha.
About the Supporters
Commercial International Bank (CIB) – Egypt
As the country's leading private sector bank,CIB offers a broad range of products and services for institutions, households and high-net worth individuals through 180 branches across Egypt. In addition, CIB is the bank of choice for over 500 of Egypt's largest corporations and has a designated platform catering to the needs of Small and Medium Enterprises.
CIB is equally committed to the Egyptian community, through corporate social responsibility initiatives, the CIB Foundation, sustainability programs, as well as, participation in major national events. Its initiatives and programs, that span fine arts, music, social care, and sports, have a profound impact on the lives of its community by encouraging active participation in society and nurturing talent of the youth population. CIB is the exclusive sponsor of Cairo Symposium, the Annual Egyptian Youth Salon and Upper Egypt Salon.
It was also the main sponsor of the musical performance 'Days and Nights of the Heart Tree,' featuring the Alnour Wal Amal (Light and Hope) Chamber Orchestra that is comprised of 40 visually impaired women. In addition, CIB is the leading sponsor of Egyptian artists in Biennale di Venezia and in Florence. For more information on CIB, please visit the bank's website at www.cibeg.com
The British Council is the UK's international organisation for educational opportunities and cultural relations. The British Council creates international opportunities for the people of the UK and other countries and builds trust between them worldwide.
The British Council works in more than 100 countries and its 7,000 staff – including 2,000 teachers –works with thousands of professionals and policy makers and millions of young people every year by teaching English, sharing the Arts, and delivering education and society programmes.
Sahara by Shahira Fawzy
Sahara by Shahira Fawzy is an Egyptian design house founded by anthropologist Shahira Fawzy. Sahara translates notions of old Cairo into sustainable, luxury textiles and homeware. Sahara is credited to being one of the first Arab designers who specialises in incorporating traditional Arabic patterns, art motifs and the art of Arabic calligraphy. All products are Egyptian-made and ethically sourced. The Sahara shop also exhibits unique collections of jewelry and traditional costumes.
About the International Fashion Showcase (IFS)
The IFS is a series of specially commissioned and curated fashion installations featuring work by emerging designers from all over the world. Since 2012, 550 of the most exciting international designers from 70 countries have exhibited as part of the initiative. IFS responds to London's reputation of promoting and supporting new talents in the creative industries by providing opportunities for designers from overseas to engage with the UK fashion community and build international connections.
The theme of this year's exhibition was Local/Global. Countries were invited to explore the influence of place on fashion and to examine how emerging designers can transform their local culture into a global language. Fashion is shaped by its surroundings: the rhythms of nature, climate, cultural memory, social change and historical shifts are reflected in silhouettes, techniques and materials. The peculiarities of place give rise to different ways of designing, making and wearing fashion. By considering fashion within their own landscape the countries taking part in IFS highlighted the similarities and differences of our complex and connected world.
To reflect how fashion is influenced by its surroundings, the West Wing Galleries at Somerset House, were transformed by Studio Toogood using panels of stretched agricultural tarpaulin, neat stacks of bricks and fabric panels dyed with London clay. An emerging generation of international designers and curators invited visitors to share their countries' visions of Local/Global.
The exhibition was arranged over 15 rooms, 14 of which represented a country. There was one group installation, 'Next in Line,' curated by Shonagh Marshall which featured designers from 10 further nations. In a dedicated space, Mercedes-Benz showcased six emerging designers the brand has previously supported through its International Designer Exchange Programme (IDEP). As part of its ongoing global fashion commitment, Mercedes-Benz continues to support, nurture and mentor young and emerging design talent through the IDEP, which offers up-and-coming designers a unique opportunity to present their collections outside of their local markets to an international audience.
A series of business support seminars, organised by London College of Fashion, also helped designers prepare for the showcase. The Designer Support Programme brought together a network of LCF affiliated academics and researchers, offering mentoring opportunities and business development during IFS. A collaboration with Fashion Scout also offered designers involved in IFS the opportunity to show their work on the catwalk.
A prize-giving ceremony scheduled for London Fashion Week February 2017, chaired by a panel of industry experts announced the winning Country, Designer, and Curator. The panel was headed by Sarah Mower MBE, BFC Ambassador for Emerging Talent and Chief Critic at Voguerunway.com. For the first time, Mercedes-Benz additionally presented the winning Designer with the unique opportunity to showcase his or her collection at one of the currently more than 50 Mercedes-Benz Fashion platforms.
The IFS is a cultural exhibition, which is free and open to the public during London Fashion Week, an important part of their public-facing programme.
To request an interview with Ms. Sabet or the Egyptian designers, please email: egypt@forwardpr.com
Glenn Belverio
Glenn Belverio is a writer and New Yorker. He has been reporting for ASVOF since 2005 and currently works at The Museum of Modern Art as the Content Manager for MoMA Design Store.
Egyptian fashionLondon Fashion Week
Cibeles Madrid Fashion Week – Jose Castro photos by Image.net
The Jeremy Scott party at Barone
NEW COLLECTION FROM ROBERT CLERGERIE – SOPHIE JOY WRIGHT
ASVOFF BARCELONA 2012 AWARD WINNERS

redpajama_set_name: RedPajamaCommonCrawl


We've created the The Wightlink Woof Awards to celebrate the best dog-friendly spots on the Isle of Wight, covering everything from the best attraction to the best dog walk.
The Island is one of the top dog-friendly destinations in the UK, full of incredible people and places. We think it's time to celebrate your dog-friendly favourites and let everyone know just how great they are.
Who wins? You decide! Wightlink wants you to nominate your top places to go along with the dogs and owners you think have gone the extra mile.
The awards will be presented at the Royal Isle of Wight County Show on 30 June 2019. Winners will receive a trophy, £100 in Wightlink travel vouchers, a goody bag and The Wightlink Woof Awards Golden Pawprint marque to display in recognition of the achievement.
Nominations are now open until midnight on Tuesday 30 April 2019. One nomination per person per category and only fully completed nomination entries will be accepted. Entries will be judged by a panel and announced on 30 June 2019.
Does this accommodation have any of the following dog-friendly features?
Does this attraction have any of the following dog-friendly features?
Does this place to eat and drink have any of the following dog-friendly features?
Which kennels, vet, dog groomer, retailer or dog walker deserves a round of appaws?
Does this retailer have any of the following dog-friendly features?
Do you know a local four legged friend that spreads a smile with a woof and a wag wherever they go? This dog can be a well-loved pet, a therapy/assistant animal, or a dog with a job that helps make someone's life easier, safer or happier.
An owner, handler, trainer, walker, vet, business owner who goes the extra mile for our furry friends.
If you are a company on the Island and would like to get involved with the Woof on the Wight Awards please send Wightlink a message with the subject heading 'Marketing WW Awards'. We've produced a suite of images you can download to help spread the word – follow the link below to check out the toolkit.
Want to know more about activities you can do on the Isle of Wight? Head to our new dog-friendly page, full of top tips on what to do on the Island with your dog and how to travel safely with your dog.


text:
package drift

import (
	"bytes"
	"context"
	"encoding/json"
	"fmt"
	"os"
	"os/exec"
	"path"
	"strconv"
	"strings"
	"testing"
	"time"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/credentials"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/dynamodb"
	"github.com/aws/aws-sdk-go/service/dynamodb/dynamodbattribute"
)

// These tests all require DynamoDBLocal running on localhost:8000
// https://aws.amazon.com/blogs/aws/dynamodb-local-for-desktop-development/

const (
	testMetaTable = "metatable"
	testTableA    = "testtableA"
	testTableB    = "testtableB"
)

func TestMain(m *testing.M) {
	var exit int
	defer func() {
		os.Exit(exit)
	}()
	if os.Getenv("DYNAMODB_LOCAL_ALREADY_RUNNING") == "" {
		dlp := os.Getenv("DYNAMODB_LOCAL_PATH")
		if dlp == "" {
			fmt.Printf("define DYNAMODB_LOCAL_PATH to point to path of DynamoDBLocal.jar")
			os.Exit(1)
		}
		ctx, cncl := context.WithCancel(context.Background())
		cmd := exec.CommandContext(ctx, "java", "-jar", path.Join(dlp, "DynamoDBLocal.jar"), "-sharedDb", "-inMemory")
		defer func() { fmt.Printf("stopping DynamoDBLocal\n"); cncl(); cmd.Wait() }()
		fmt.Printf("starting DynamoDBLocal\n")
		cmd.Start()
		time.Sleep(1500 * time.Millisecond)
	}
	exit = m.Run()
}

func getTestDDBClient() *dynamodb.DynamoDB {
	creds := credentials.NewStaticCredentials("foo", "bar", "")
	sess := session.New(aws.NewConfig().WithRegion("us-west-2").WithMaxRetries(1).WithCredentials(creds))
	return dynamodb.New(sess, &aws.Config{Endpoint: aws.String("http://localhost:8000")})
}

func dropTestMetaTable(db *dynamodb.DynamoDB) {
	db.DeleteTable(&dynamodb.DeleteTableInput{TableName: aws.String(testMetaTable)})
}

func dropTestTables(db *dynamodb.DynamoDB) {
	db.DeleteTable(&dynamodb.DeleteTableInput{TableName: aws.String(testTableA)})
	db.DeleteTable(&dynamodb.DeleteTableInput{TableName: aws.String(testTableB)})
}

func setupTestMetaTable(db *dynamodb.DynamoDB) error {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      db,
	}
	err := dd.createMetaTable(10, 10, testMetaTable)
	if err != nil {
		return err
	}
	f, err := os.Open("testdata/migrations.json")
	if err != nil {
		return fmt.Errorf("error opening test migrations file: %v", err)
	}
	defer f.Close()
	data := []DynamoDrifterMigration{}
	d := json.NewDecoder(f)
	err = d.Decode(&data)
	if err != nil {
		return fmt.Errorf("error unmarshaling test data: %v", err)
	}
	for _, m := range data {
		item, err := dynamodbattribute.MarshalMap(m)
		if err != nil {
			return fmt.Errorf("error marshaling data: %v", err)
		}
		in := &dynamodb.PutItemInput{
			TableName: aws.String(testMetaTable),
			Item:      item,
		}
		_, err = db.PutItem(in)
		if err != nil {
			return fmt.Errorf("error inserting data: %v", err)
		}
	}
	return nil
}

func setupTestTables(db *dynamodb.DynamoDB) error {
	cti := &dynamodb.CreateTableInput{
		TableName: aws.String(testTableA),
		AttributeDefinitions: []*dynamodb.AttributeDefinition{
			&dynamodb.AttributeDefinition{
				AttributeName: aws.String("ID"),
				AttributeType: aws.String("N"),
			},
		},
		KeySchema: []*dynamodb.KeySchemaElement{
			&dynamodb.KeySchemaElement{
				AttributeName: aws.String("ID"),
				KeyType:       aws.String("HASH"),
			},
		},
		ProvisionedThroughput: &dynamodb.ProvisionedThroughput{
			ReadCapacityUnits:  aws.Int64(10),
			WriteCapacityUnits: aws.Int64(10),
		},
	}
	_, err := db.CreateTable(cti)
	if err != nil {
		return fmt.Errorf("error creating test table A: %v", err)
	}
	cti.TableName = aws.String(testTableB)
	_, err = db.CreateTable(cti)
	if err != nil {
		return fmt.Errorf("error creating test table B: %v", err)
	}
	f, err := os.Open("testdata/table.json")
	if err != nil {
		return fmt.Errorf("error opening test table file: %v", err)
	}
	defer f.Close()
	data := []TestTableItem{}
	d := json.NewDecoder(f)
	err = d.Decode(&data)
	if err != nil {
		return fmt.Errorf("error unmarshaling test table data: %v", err)
	}
	for _, m := range data {
		item, err := dynamodbattribute.MarshalMap(m)
		if err != nil {
			return fmt.Errorf("error marshaling data: %v", err)
		}
		in := &dynamodb.PutItemInput{
			TableName: aws.String(testTableA),
			Item:      item,
		}
		_, err = db.PutItem(in)
		if err != nil {
			return fmt.Errorf("error inserting data: %v", err)
		}
	}
	return nil
}

func TestCreateMetaTable(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := dd.createMetaTable(10, 10, dd.MetaTableName)
	if err != nil {
		t.Fatalf("error creating metatable: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	ok, err := dd.findTable(dd.MetaTableName)
	if err != nil {
		t.Fatalf("error finding metatable: %v", err)
	}
	if !ok {
		t.Fatalf("metatable not found")
	}
}

func TestInit(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	ok, err := dd.findTable(dd.MetaTableName)
	if err != nil {
		t.Fatalf("error finding metatable: %v", err)
	}
	if !ok {
		t.Fatalf("metatable not found")
	}
	err = dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error running init x2: %v", err)
	}
	resp, err := dd.DynamoDB.ListTables(&dynamodb.ListTablesInput{})
	if err != nil {
		t.Fatalf("error listing tables: %v", err)
	}
	if len(resp.TableNames) != 1 {
		t.Fatalf("unexpected tables: %v", resp.TableNames)
	}
}

func TestApplied(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestMetaTable(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up metatable: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	ml, err := dd.Applied()
	if err != nil {
		t.Fatalf("error in Applied: %v", err)
	}
	if len(ml) != 3 {
		t.Fatalf("unexpected migrations count: %v", len(ml))
	}
	if ml[0].Number != 0 || ml[2].Number != 2 {
		t.Fatalf("bad sort order: %v", ml)
	}
}

func TestInsertMetaItem(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	m := &DynamoDrifterMigration{Number: 0}
	err = dd.insertMetaItem(m)
	if err != nil {
		t.Fatalf("error inserting meta item: %v", err)
	}
	ml, err := dd.Applied()
	if err != nil {
		t.Fatalf("error in Applied: %v", err)
	}
	if len(ml) != 1 {
		t.Fatalf("unexpected migrations count: %v", len(ml))
	}
	if ml[0].Number != 0 {
		t.Fatalf("bad migration number: %v", ml[0].Number)
	}
}

func TestDeleteMetaItem(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestMetaTable(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up metatable: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	ml, err := dd.Applied()
	if err != nil {
		t.Fatalf("error in Applied: %v", err)
	}
	if len(ml) != 3 {
		t.Fatalf("unexpected migrations count: %v", len(ml))
	}
	m := &DynamoDrifterMigration{Number: 2}
	err = dd.deleteMetaItem(m)
	if err != nil {
		t.Fatalf("error deleting meta item: %v", err)
	}
	ml, err = dd.Applied()
	if err != nil {
		t.Fatalf("error in Applied: %v", err)
	}
	if len(ml) != 2 {
		t.Fatalf("unexpected migrations count: %v", len(ml))
	}
}

func TestRunCallbacks(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestTables(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up test tables: %v", err)
	}
	defer dropTestTables(dd.DynamoDB)
	err = dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	migration := &DynamoDrifterMigration{
		TableName:   testTableA,
		Description: "split up names",
		Callback:    testMigrateUp,
	}
	_, errs := dd.runCallbacks(context.Background(), migration, 2, 200, false, nil)
	if len(errs) != 0 {
		t.Fatalf("error running callbacks: %v", errs)
	}
}

func TestRunCallbacksWithPaging(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestTables(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up test tables: %v", err)
	}
	defer dropTestTables(dd.DynamoDB)
	err = dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	migration := &DynamoDrifterMigration{
		TableName:   testTableA,
		Description: "split up names",
		Callback:    testMigrateUp,
	}
	// Scan limit of 1 to force paging
	_, errs := dd.runCallbacks(context.Background(), migration, 2, 1, false, nil)
	if len(errs) != 0 {
		t.Fatalf("error running callbacks: %v", errs)
	}
}

func TestExecuteActions(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestTables(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up test tables: %v", err)
	}
	defer dropTestTables(dd.DynamoDB)
	err = dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	migration := &DynamoDrifterMigration{
		TableName:   testTableA,
		Description: "split up names",
		Callback:    testMigrateUp,
	}
	da, errs := dd.runCallbacks(context.Background(), migration, 2, 200, false, nil)
	if len(errs) != 0 {
		t.Fatalf("error running callbacks: %v", errs)
	}
	errs = dd.executeActions(context.Background(), migration, da, 2, false, nil)
	if len(errs) != 0 {
		t.Fatalf("error executing actions: %v", errs)
	}
	err = testVerifyMigration(dd.DynamoDB, testTableA)
	if err != nil {
		t.Fatalf("error verifying migration in table A: %v", err)
	}
	err = testVerifyMigration(dd.DynamoDB, testTableB)
	if err != nil {
		t.Fatalf("error verifying migration in table B: %v", err)
	}
}

func TestRunMigration(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestTables(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up test tables: %v", err)
	}
	defer dropTestTables(dd.DynamoDB)
	err = dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	migration := &DynamoDrifterMigration{
		TableName:   testTableA,
		Description: "split up names",
		Callback:    testMigrateUp,
	}
	errs := dd.Run(context.Background(), migration, 2, false, nil)
	if len(errs) != 0 {
		t.Fatalf("errors running migration: %v", errs)
	}
	err = testVerifyMigration(dd.DynamoDB, testTableA)
	if err != nil {
		t.Fatalf("error verifying migration in table A: %v", err)
	}
	err = testVerifyMigration(dd.DynamoDB, testTableB)
	if err != nil {
		t.Fatalf("error verifying migration in table B: %v", err)
	}
}

func TestRunMigrationWithActionErrors(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestTables(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up test tables: %v", err)
	}
	defer dropTestTables(dd.DynamoDB)
	err = dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	migration := &DynamoDrifterMigration{
		TableName:   testTableA,
		Description: "split up names",
		Callback:    testMigrateUpWithActionErrors,
	}
	errs := dd.Run(context.Background(), migration, 2, false, nil)
	if len(errs) == 0 {
		t.Fatalf("expected action errors")
	}
}

func TestRunMigrationWithCallbackErrors(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestTables(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up test tables: %v", err)
	}
	defer dropTestTables(dd.DynamoDB)
	err = dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	migration := &DynamoDrifterMigration{
		TableName:   testTableA,
		Description: "throw errors",
		Callback:    func(item RawDynamoItem, action *DrifterAction) error { return fmt.Errorf("this is an error") },
	}
	errs := dd.Run(context.Background(), migration, 2, false, nil)
	if len(errs) == 0 {
		t.Fatalf("expected callback errors")
	}
}

func TestRunMigrationWithPremarshaledItem(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestTables(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up test tables: %v", err)
	}
	defer dropTestTables(dd.DynamoDB)
	err = dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	migration := &DynamoDrifterMigration{
		TableName:   testTableA,
		Description: "split up names",
		Callback:    testMigrateUpWithPremarshaledItem,
	}
	errs := dd.Run(context.Background(), migration, 2, false, nil)
	if len(errs) != 0 {
		t.Fatalf("errors running migration: %v", errs)
	}
	err = testVerifyMigration(dd.DynamoDB, testTableA)
	if err != nil {
		t.Fatalf("error verifying migration in table A: %v", err)
	}
	err = testVerifyMigration(dd.DynamoDB, testTableB)
	if err != nil {
		t.Fatalf("error verifying migration in table B: %v", err)
	}
}

func TestRunMigrationWithRawDynamoItem(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestTables(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up test tables: %v", err)
	}
	defer dropTestTables(dd.DynamoDB)
	err = dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	migration := &DynamoDrifterMigration{
		TableName:   testTableA,
		Description: "split up names",
		Callback:    testMigrateUpWithRawDynamoItem,
	}
	errs := dd.Run(context.Background(), migration, 2, false, nil)
	if len(errs) != 0 {
		t.Fatalf("errors running migration: %v", errs)
	}
	err = testVerifyMigration(dd.DynamoDB, testTableA)
	if err != nil {
		t.Fatalf("error verifying migration in table A: %v", err)
	}
	err = testVerifyMigration(dd.DynamoDB, testTableB)
	if err != nil {
		t.Fatalf("error verifying migration in table B: %v", err)
	}
}

func TestUndoMigration(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestTables(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up test tables: %v", err)
	}
	defer dropTestTables(dd.DynamoDB)
	err = dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	migration := &DynamoDrifterMigration{
		TableName:   testTableA,
		Description: "split up names",
		Callback:    testMigrateUp,
	}
	errs := dd.Run(context.Background(), migration, 2, false, nil)
	if len(errs) != 0 {
		t.Fatalf("errors running migration: %v", errs)
	}
	err = testVerifyMigration(dd.DynamoDB, testTableA)
	if err != nil {
		t.Fatalf("error verifying migration in table A: %v", err)
	}
	err = testVerifyMigration(dd.DynamoDB, testTableB)
	if err != nil {
		t.Fatalf("error verifying migration in table B: %v", err)
	}
	undoMigration := &DynamoDrifterMigration{
		TableName:   testTableA,
		Description: "put names back together",
		Callback:    testMigrateDown,
	}
	errs = dd.Undo(context.Background(), undoMigration, 2, false, nil)
	if len(errs) != 0 {
		t.Fatalf("errors running undo migration: %v", errs)
	}
	err = testVerifyMigration(dd.DynamoDB, testTableA)
	if err == nil {
		t.Fatalf("verification of table A should have failed")
	}
	err = testVerifyMigration(dd.DynamoDB, testTableB)
	if err == nil {
		t.Fatalf("verification of table B should have failed")
	}
}

func TestMigrationProgress(t *testing.T) {
	dd := DynamoDrifter{
		MetaTableName: testMetaTable,
		DynamoDB:      getTestDDBClient(),
	}
	err := setupTestTables(dd.DynamoDB)
	if err != nil {
		t.Fatalf("error setting up test tables: %v", err)
	}
	defer dropTestTables(dd.DynamoDB)
	err = dd.Init(10, 10)
	if err != nil {
		t.Fatalf("error in Init: %v", err)
	}
	defer dropTestMetaTable(dd.DynamoDB)
	migration := &DynamoDrifterMigration{
		TableName:   testTableA,
		Description: "split up names",
		Callback:    testMigrateUp,
	}
	pchan := make(chan *MigrationProgress, 10)
	errs := dd.Run(context.Background(), migration, 2, false, pchan)
	if len(errs) != 0 {
		t.Fatalf("errors running migration: %v", errs)
	}
	if len(pchan) != 2 {
		t.Fatalf("bad lenght for pchan: %v", len(pchan))
	}
}

func TestGetStringAttribute(t *testing.T) {
	item := map[string]*dynamodb.AttributeValue{
		"foo": &dynamodb.AttributeValue{
			S: aws.String("omg"),
		},
	}
	s, err := GetStringAttribute(item, "foo")
	if err != nil {
		t.Fatalf("error getting string: %v", err)
	}
	if s != "omg" {
		t.Fatalf("bad string value")
	}
	_, err = GetStringAttribute(item, "jaja")
	if err == nil {
		t.Fatalf("expected key not found")
	}
}

func TestGetNumberAttribute(t *testing.T) {
	item := map[string]*dynamodb.AttributeValue{
		"foo": &dynamodb.AttributeValue{
			N: aws.String("123"),
		},
	}
	n, err := GetNumberAttribute(item, "foo")
	if err != nil {
		t.Fatalf("error getting number: %v", err)
	}
	if n != "123" {
		t.Fatalf("bad number value")
	}
	_, err = GetNumberAttribute(item, "jaja")
	if err == nil {
		t.Fatalf("expected key not found")
	}
}

func TestGetBoolAttribute(t *testing.T) {
	item := map[string]*dynamodb.AttributeValue{
		"foo": &dynamodb.AttributeValue{
			BOOL: aws.Bool(true),
		},
	}
	b, err := GetBoolAttribute(item, "foo")
	if err != nil {
		t.Fatalf("error getting bool: %v", err)
	}
	if !b {
		t.Fatalf("bad bool value")
	}
	_, err = GetBoolAttribute(item, "jaja")
	if err == nil {
		t.Fatalf("expected key not found")
	}
}

func TestGetByteSliceAttribute(t *testing.T) {
	item := map[string]*dynamodb.AttributeValue{
		"foo": &dynamodb.AttributeValue{
			B: []byte("bar"),
		},
	}
	bs, err := GetByteSliceAttribute(item, "foo")
	if err != nil {
		t.Fatalf("error getting byte slice: %v", err)
	}
	if !bytes.Equal(bs, []byte("bar")) {
		t.Fatalf("bad byte slice value")
	}
	_, err = GetByteSliceAttribute(item, "jaja")
	if err == nil {
		t.Fatalf("expected key not found")
	}
}

func TestGetAttributeWrongType(t *testing.T) {
	item := map[string]*dynamodb.AttributeValue{
		"foo": &dynamodb.AttributeValue{
			N: aws.String("123"),
		},
	}
	_, err := GetBoolAttribute(item, "foo")
	if err == nil {
		t.Fatalf("expected error getting bool")
	}
	_, err = GetStringAttribute(item, "foo")
	if err == nil {
		t.Fatalf("expected error getting string")
	}
	_, err = GetByteSliceAttribute(item, "foo")
	if err == nil {
		t.Fatalf("expected error getting byte slice")
	}
}

func testVerifyMigration(db *dynamodb.DynamoDB, tn string) error {
	table := []TestTableItem{}
	out, err := db.Scan(&dynamodb.ScanInput{TableName: &tn})
	if err != nil {
		return fmt.Errorf("error scanning table: %v", err)
	}
	for _, item := range out.Items {
		tti := TestTableItem{}
		err = dynamodbattribute.UnmarshalMap(item, &tti)
		if err != nil {
			return fmt.Errorf("error unmarshaling item from table: %v", err)
		}
		if tti.FirstName == "" || tti.LastName == "" {
			return fmt.Errorf("missing data: %v", tti)
		}
		table = append(table, tti)
	}
	if len(table) != 3 {
		return fmt.Errorf("bad length for items: %v", len(table))
	}
	return nil
}

type TestTableItem struct {
	ID        int    `dynamodbav:"ID" json:"id"`
	Name      string `dynamodbav:"Name" json:"name"`
	FirstName string `dynamodbav:"FirstName" json:"first_name"`
	LastName  string `dynamodbav:"LastName" json:"last_name"`
}

type TestDynamoKey struct {
	ID int `dynamodbav:"ID"`
}

type TestUpdateOldDynamoItem struct {
	Name string `dynamodbav:":n"`
}

type TestUpdateNewDynamoItem struct {
	FirstName string `dynamodbav:":fn"`
	LastName  string `dynamodbav:":ln"`
}

type TestInsertDynamoItem struct {
	ID        int    `dynamodbav:"ID"`
	FirstName string `dynamodbav:"FirstName"`
	LastName  string `dynamodbav:"LastName"`
}

// Callbacks are executed once for each item in the target table
func testMigrateUp(item RawDynamoItem, action *DrifterAction) error {
	name := *item["Name"].S
	ns := strings.Split(name, " ")
	newitem := TestUpdateNewDynamoItem{
		FirstName: ns[0],
		LastName:  ns[1],
	}
	id, err := strconv.Atoi(*item["ID"].N)
	if err != nil {
		return fmt.Errorf("bad id: %v", err)
	}
	key := TestDynamoKey{
		ID: id,
	}
	insertitem := TestInsertDynamoItem{
		ID:        id,
		FirstName: ns[0],
		LastName:  ns[1],
	}
	err = action.Insert(insertitem, testTableB)
	if err != nil {
		return fmt.Errorf("error inserting item action: %v", err)
	}
	return action.Update(key, newitem, "SET FirstName = :fn, LastName = :ln", nil, "")
}

func testMigrateUpWithActionErrors(item RawDynamoItem, action *DrifterAction) error {
	name := *item["Name"].S
	ns := strings.Split(name, " ")
	newitem := TestUpdateNewDynamoItem{
		FirstName: ns[0],
		LastName:  ns[1],
	}
	id, err := strconv.Atoi(*item["ID"].N)
	if err != nil {
		return fmt.Errorf("bad id: %v", err)
	}
	key := TestDynamoKey{
		ID: id,
	}
	insertitem := TestInsertDynamoItem{
		ID:        id,
		FirstName: ns[0],
		LastName:  ns[1],
	}
	err = action.Insert(insertitem, "TableDoesNotExist")
	if err != nil {
		return fmt.Errorf("error inserting item action: %v", err)
	}
	return action.Update(key, newitem, "SET FirstName = :fn, LastName = :ln", nil, "")
}

func testMigrateUpWithPremarshaledItem(item RawDynamoItem, action *DrifterAction) error {
	name := *item["Name"].S
	ns := strings.Split(name, " ")
	newitem := TestUpdateNewDynamoItem{
		FirstName: ns[0],
		LastName:  ns[1],
	}
	id, err := strconv.Atoi(*item["ID"].N)
	if err != nil {
		return fmt.Errorf("bad id: %v", err)
	}
	key := TestDynamoKey{
		ID: id,
	}
	insertitem := TestInsertDynamoItem{
		ID:        id,
		FirstName: ns[0],
		LastName:  ns[1],
	}
	pmi, err := dynamodbattribute.MarshalMap(&insertitem)
	if err != nil {
		return fmt.Errorf("error premarshaling item: %v", err)
	}
	err = action.Insert(pmi, testTableB)
	if err != nil {
		return fmt.Errorf("error inserting item action: %v", err)
	}
	return action.Update(key, newitem, "SET FirstName = :fn, LastName = :ln", nil, "")
}

func testMigrateUpWithRawDynamoItem(item RawDynamoItem, action *DrifterAction) error {
	name := *item["Name"].S
	ns := strings.Split(name, " ")
	newitem := TestUpdateNewDynamoItem{
		FirstName: ns[0],
		LastName:  ns[1],
	}
	id, err := strconv.Atoi(*item["ID"].N)
	if err != nil {
		return fmt.Errorf("bad id: %v", err)
	}
	key := TestDynamoKey{
		ID: id,
	}
	insertitem := TestInsertDynamoItem{
		ID:        id,
		FirstName: ns[0],
		LastName:  ns[1],
	}
	pmi, err := dynamodbattribute.MarshalMap(&insertitem)
	if err != nil {
		return fmt.Errorf("error premarshaling item: %v", err)
	}
	err = action.Insert(RawDynamoItem(pmi), testTableB)
	if err != nil {
		return fmt.Errorf("error inserting item action: %v", err)
	}
	return action.Update(key, newitem, "SET FirstName = :fn, LastName = :ln", nil, "")
}

func testMigrateDown(item RawDynamoItem, action *DrifterAction) error {
	olditem := TestUpdateOldDynamoItem{
		Name: *item["FirstName"].S + *item["LastName"].S,
	}
	id, err := strconv.Atoi(*item["ID"].N)
	if err != nil {
		return fmt.Errorf("bad id: %v", err)
	}
	key := TestDynamoKey{
		ID: id,
	}
	err = action.Delete(key, testTableB)
	if err != nil {
		return fmt.Errorf("error deleting item action: %v", err)
	}

	return action.Update(key, olditem, "SET #n = :n REMOVE FirstName, LastName", map[string]string{"#n": "Name"}, "")
}

redpajama_set_name: RedPajamaGithub


text:
from django.contrib import admin

from computing.models import (Computer, OperatingSystem, IPPolicy, Subnet,
                              Printer, Sector, RRZELicense, ComputerType,
                              Warranty)

class SectorAdmin(admin.ModelAdmin):
    list_display = ('name', 'from_ip', 'to_ip')

class SubnetAdmin(admin.ModelAdmin):
    list_display = ('name', 'sector', 'from_ip', 'to_ip')

class PrinterAdmin(admin.ModelAdmin):
    list_display = ('hostname', 'name', 'purpose', 'printer_type', 'model',
                    'ip', 'color', 'manufacturer', 'user', 'room', 'subnet')
    list_filter = ('printer_type', 'model', 'color', 'manufacturer', 'room',
                   'subnet')
    search_fields = ['name', 'hostname', 'purpose']
    fieldsets = [
        (None, {
            'fields': ('hostname', 'name', 'ip', 'user',
                       'room', 'subnet', 'inventory_number'),
            }),
        ('Hardware', {
            'fields': ('printer_type', 'manufacturer', 'model', 'color',
                       'inventory_number')
            }),
        ('Purpose', {
            'fields': ('purpose', 'prior_purpose'),
            'classes': ['collapse'],
            }),
        ('Networking', {
            'fields': ('mac_address', 'dns_cname', 'dns_hinfo_computer',
                       'ip_policy'),
            }),
        ('Purchase and warranty information', {
            'fields': ['purchase_date', 'warranty'],
            'classes': ['collapse'],
            }),
        ('Notes', {
            'fields': ['repair_log', 'comment'],
            }),
    ]

class ComputerAdmin(admin.ModelAdmin):
    list_display = ('hostname', 'name', 'purpose', 'computer_type', 'ip',
                    'user', 'room', 'subnet', 'inventory_number', 'ram',
                    'comment')
    list_filter = ('computer_type', 'subnet', 'room')
    filter_horizontal = ('rrze_licenses',)
    search_fields = ['name', 'hostname']
    fieldsets = [
        (None, {
            'fields': ('hostname', 'name', 'computer_type', 'ip', 'user',
                       'room', 'subnet', 'inventory_number'),
            }),
        ('Purpose', {
            'fields': ('purpose', 'prior_purpose'),
            'classes': ['collapse'],
            }),
        ('Networking', {
            'fields': ['mac_address', 'mac_airport', 'mac_bluetooth',
                       'dns_cname', 'dns_hinfo_computer', 'ip_policy'],
            'classes': ['collapse'],
            }),
        ('Software', {
            'fields': ['os', 'standard_software', 'additional_software',
                       'software_licenses', 'rrze_licenses'],
            'classes': ['collapse'],
            }),
        ('Hardware', {
            'fields': ['serial_number', 'ram'],
            'classes': ['collapse'],
            }),
        ('Apple specific information', {
            'fields': ['part_no', 'netrestore_image', 'model_year'],
            'classes': ['collapse'],
            }),
        ('Purchase and warranty information', {
            'fields': ['purchase_date', 'warranty', 'bill'],
            'classes': ['collapse'],
            }),
        ('Misc', {
            'fields': ['expiration_date'],
            'classes': ['collapse'],
            }),
        ('Notes', {
            'fields': ['repair_log', 'comment'],
            }),
    ]

admin.site.register(Computer, ComputerAdmin)
admin.site.register(Printer, PrinterAdmin)
admin.site.register(ComputerType)
admin.site.register(OperatingSystem)
admin.site.register(IPPolicy)
admin.site.register(RRZELicense)
admin.site.register(Subnet, SubnetAdmin)
admin.site.register(Sector, SectorAdmin)
admin.site.register(Warranty)


text:
Review: 'After Earth'
Despite having Will Smith under its banner, After Earth is nothing more than a high-concept afterthought.
Set 1,000 years after Earth has been abandoned due to becoming completely inhospitable to humans (because of humans), a legendary military "ranger," played by Will Smith, and his son, played by his actual son Jaden Smith, crash-land on Earth while on their way to a training colony.
Critically injured, Will Smith's character is forced to guide his son across 100km of highly dangerous forest dominated by brutal creatures and a lurking, bloodthirsty alien they were keeping in captivity on the ship. It's a sci-fi survival story that also has strong elements of father-son bonding that reflects an actual father-son relationship offscreen.
So what went wrong?
I actually disliked the movie for all of the reasons I thought I would like it and vice versa. I thought the movie would have a tough time convincing me that we were really 1,000 years in the future, and I didn't expect any cool or interesting tech ideas to be presented.
It turns out the strongest elements of the movie (and the only reason to even bother watching it) are the sci-fi mythology concepts presented by this future-human civilization. Their buildings are uniquely different, their weapons are futuristic but also minimalistic, and there are dozens of subtle quirks and nods to an already well-established lore.
This has a lot to do with the hard work by Gary Whitta and M. Night Shyamalan (we'll get to him later) on the screenplay. Will Smith also did the heavy lifting on the actual story, which I actually found to be refreshing and interesting in theory.
If I can give this movie praise for anything, it's the world-building and how they gave us a cool sci-fi world to learn more about.
And yet everything I thought would at least be decent in this movie turned out to be abysmal. Obviously, Will Smith had no trouble carrying his character and even some of the minor characters early on. But for whatever reason, Jaden Smith completely fell flat.
I didn't expect this, especially since I was a big fan of his performance in Karate Kid back in 2010. In that movie, he just came off as an actual kid in a fish-out-of-water story, and his chemistry with Jackie Chan's "Han" was good.
But here, Jaden showed he still has a lot to learn, especially watching him act alongside his father. None of his actions or decisions really made any sense, and his dialogue was just difficult to listen to.
I mean Attack of the Clones difficult.
His only strong point in the movie was during the third act, when he actually stopped annoying the audience to no end with his painfully stupid decisions and outbursts. I won't spoil it, but there is a point when his character finally gets interesting, and it's only when the kid stops talking for a while.
The more I think about it, however, the more I'm willing to give the kid a break and blame the director here. Yes, this movie was directed by M. Night Shyamalan, and I think his inability to breathe life into his characters was blatantly transparent in this movie.
Seriously, the screenplay, concepts, and overall story are actually good. I wanted to see a movie about a father and son braving a harsh environment together in an effort to survive. It was predictable and cheesy, yes, but also simple and beautiful in theory.
Unfortunately, I found myself yawning at these characters and waiting for this movie to be over with. It's just not worth watching.


DISCLAIMER: All information, content, and material provided within this website and blog is intended solely for educational purposes only and should not be deemed as medical advice. Dr. Robert Whitfield should not be held liable for the completeness or validity of this information or for any damages from its display.
Treatment information and medical recommendations must be made on a case-by-case basis, and so the information contained in this website should not be considered a substitute for the consultation, diagnosis, and/or medical treatment of a qualified physician or healthcare provider. Every patient is unique and individual results will vary, so always seek personalized care from a medical professional for any medical questions or health issues you may have.
Photos of actual patients can be found on Dr. Robert Whitfield's Before and After Galleries, but some of the photos used elsewhere on this site feature models for illustrative purposes only.
© 2019 Dr. Robert Whitfield, MD. All Rights Reserved.


text:
Feedback processing in adolescence: An event-related potential study of age and gender differences
Jillian Grose-Fifer, Renee Migliaccio, Tina M. Zottoli
Adolescence has frequently been characterized as a period of increased risk taking, which may be largely driven by maturational changes in neural areas that process incentives. To investigate age- and gender-related differences in reward processing, we recorded event-related potentials (ERPs) from 80 participants in a gambling game, in which monetary wins and losses were either large or small. We measured two ERP components: the feedback-related negativity (FRN) and the feedback P3 (fP3). The FRN was sensitive to the size of a win in both adult (aged 23-35 years) and adolescent (aged 13-17 years) males, but not in females. Small wins appeared to be less rewarding for males than for females, which may in part explain more approach-driven behavior in males in general. Furthermore, adolescent boys showed both delayed FRNs to high losses and less differentiation in FRN amplitude between wins and losses in comparison to girls. The fP3, which is thought to index the salience of the feedback at a more conscious level than the FRN, was also larger in boys than in girls. Taken together, these results imply that higher levels of risk taking that are commonly reported in adolescent males may be driven both by hypersensitivity to high rewards and insensitivity to punishment or losses.
Evoked Potentials
Event-related potential
Feedback P3
Feedback-related negativity
Grose-Fifer, J., Migliaccio, R., & Zottoli, T. M. (2014). Feedback processing in adolescence: An event-related potential study of age and gender differences. Developmental Neuroscience, 36(3-4), 228-238. https://doi.org/10.1159/000358917
Grose-Fifer, Jillian ; Migliaccio, Renee ; Zottoli, Tina M. / Feedback processing in adolescence : An event-related potential study of age and gender differences. In: Developmental Neuroscience. 2014 ; Vol. 36, No. 3-4. pp. 228-238.
@article{ce644e4577e54761b127ae9c951b2d12,
title = "Feedback processing in adolescence: An event-related potential study of age and gender differences",
abstract = "Adolescence has frequently been characterized as a period of increased risk taking, which may be largely driven by maturational changes in neural areas that process incentives. To investigate age- and gender-related differences in reward processing, we recorded event-related potentials (ERPs) from 80 participants in a gambling game, in which monetary wins and losses were either large or small. We measured two ERP components: the feedback-related negativity (FRN) and the feedback P3 (fP3). The FRN was sensitive to the size of a win in both adult (aged 23-35 years) and adolescent (aged 13-17 years) males, but not in females. Small wins appeared to be less rewarding for males than for females, which may in part explain more approach-driven behavior in males in general. Furthermore, adolescent boys showed both delayed FRNs to high losses and less differentiation in FRN amplitude between wins and losses in comparison to girls. The fP3, which is thought to index the salience of the feedback at a more conscious level than the FRN, was also larger in boys than in girls. Taken together, these results imply that higher levels of risk taking that are commonly reported in adolescent males may be driven both by hypersensitivity to high rewards and insensitivity to punishment or losses.",
keywords = "Adolescence, Event-related potential, Feedback P3, Feedback-related negativity, Gender",
author = "Jillian Grose-Fifer and Renee Migliaccio and Zottoli, {Tina M.}",
doi = "10.1159/000358917",
journal = "Developmental Neuroscience",
publisher = "S. Karger AG",
Grose-Fifer, J, Migliaccio, R & Zottoli, TM 2014, 'Feedback processing in adolescence: An event-related potential study of age and gender differences', Developmental Neuroscience, vol. 36, no. 3-4, pp. 228-238. https://doi.org/10.1159/000358917
Feedback processing in adolescence : An event-related potential study of age and gender differences. / Grose-Fifer, Jillian; Migliaccio, Renee; Zottoli, Tina M.
In: Developmental Neuroscience, Vol. 36, No. 3-4, 07.2014, p. 228-238.
T1 - Feedback processing in adolescence
T2 - An event-related potential study of age and gender differences
AU - Grose-Fifer, Jillian
AU - Migliaccio, Renee
AU - Zottoli, Tina M.
N2 - Adolescence has frequently been characterized as a period of increased risk taking, which may be largely driven by maturational changes in neural areas that process incentives. To investigate age- and gender-related differences in reward processing, we recorded event-related potentials (ERPs) from 80 participants in a gambling game, in which monetary wins and losses were either large or small. We measured two ERP components: the feedback-related negativity (FRN) and the feedback P3 (fP3). The FRN was sensitive to the size of a win in both adult (aged 23-35 years) and adolescent (aged 13-17 years) males, but not in females. Small wins appeared to be less rewarding for males than for females, which may in part explain more approach-driven behavior in males in general. Furthermore, adolescent boys showed both delayed FRNs to high losses and less differentiation in FRN amplitude between wins and losses in comparison to girls. The fP3, which is thought to index the salience of the feedback at a more conscious level than the FRN, was also larger in boys than in girls. Taken together, these results imply that higher levels of risk taking that are commonly reported in adolescent males may be driven both by hypersensitivity to high rewards and insensitivity to punishment or losses.
AB - Adolescence has frequently been characterized as a period of increased risk taking, which may be largely driven by maturational changes in neural areas that process incentives. To investigate age- and gender-related differences in reward processing, we recorded event-related potentials (ERPs) from 80 participants in a gambling game, in which monetary wins and losses were either large or small. We measured two ERP components: the feedback-related negativity (FRN) and the feedback P3 (fP3). The FRN was sensitive to the size of a win in both adult (aged 23-35 years) and adolescent (aged 13-17 years) males, but not in females. Small wins appeared to be less rewarding for males than for females, which may in part explain more approach-driven behavior in males in general. Furthermore, adolescent boys showed both delayed FRNs to high losses and less differentiation in FRN amplitude between wins and losses in comparison to girls. The fP3, which is thought to index the salience of the feedback at a more conscious level than the FRN, was also larger in boys than in girls. Taken together, these results imply that higher levels of risk taking that are commonly reported in adolescent males may be driven both by hypersensitivity to high rewards and insensitivity to punishment or losses.
KW - Adolescence
KW - Event-related potential
KW - Feedback P3
KW - Feedback-related negativity
U2 - 10.1159/000358917
DO - 10.1159/000358917
JO - Developmental Neuroscience
JF - Developmental Neuroscience
Grose-Fifer J, Migliaccio R, Zottoli TM. Feedback processing in adolescence: An event-related potential study of age and gender differences. Developmental Neuroscience. 2014 Jul;36(3-4):228-238. https://doi.org/10.1159/000358917
10.1159/000358917


text:
Home / News / Mesothelioma May Be Caused by Inflammation According to New Study
Mesothelioma May Be Caused by Inflammation According to New Study
New National Cancer Institute-funded research at the University of Hawaii may help pave the way for finding and stopping the growth of mesothelioma tumor cells. Mesothelioma is caused by exposure to asbestos fibers. The new study, published in the current issue of the Proceedings of the National Academy of Sciences, shows how tiny shards of asbestos kill some cells and turn others into malignant cancer cells.
In collaboration with researchers at New York University, the University of Chicago, the University of Pittsburgh, San Raffaele University of Milano and the Imperial College in London, the U of H team found that cells killed by asbestos fibers through a process called necrosis release a molecule called high-mobility group box 1 protein (HMGB1). This protein appears to trigger an inflammatory reaction in the surrounding healthy cells which promotes the growth of tumors. People who have mesothelioma have higher levels of HMGB1 in their blood serum which may make it possible to identify the disease early, when treatments are most effective.
Mesothelioma is a fast-growing cancer that typically starts in the mesothelial lining around the lungs and other organs. As cancer cells spread out of control, the lining thickens and becomes stiffer, eventually restricting the ability of the lungs to expand. The new study suggests that stopping the inflammation caused by the release of HMGB1 may be one way to stop, or at least slow down, the progress of mesothelioma.
The next step for the researchers involves testing that hypothesis. Lead study authors Drs. Haining Yang and Michele Carbone plan to conduct clinical trials in a remote Turkish village where more than half of the residents die of mesothelioma. In the US, more than 20 million people have been exposed to asbestos, usually in industrial workplaces, and 2,000 to 3,000 people are diagnosed with mesothelioma every year.
Shigemasa, Sharon, "Mystery Unraveled: How Asbestos Causes Cancer", June 28, 2010. University of Hawaii at Manoa. Hong, Suk Jin, "PARP and the Release of Apoptosis-Inducing Factor from Mitochondria: Introduction to Cell Death", National Institutes of Health.


text:
Professor Uwe Grodd: School of Music Inaugural ...
Professor Uwe Grodd: School of Music Inaugural Lecture
The University of Auckland Music Theatre, 6 Symonds Street, Auckland CBD
NICAI
Johann Nepomuk Hummel and the End of a Golden Age.
Although Hummel died a famous conductor, pianist and composer, his music was quickly forgotten as musical fashions changed. It was really only with the modern revival due to interest in the music of the eighteenth century that scholars, performers and recording companies began to explore the works by Hummel and other contemporaries of Haydn, Mozart and Beethoven, the giants of the Golden Age of Music.
Conductor and flautist Uwe Grodd has been at the forefront of this revival since gaining international recognition in 2000 as winner of the First Prize at the Cannes Classical Awards 2000 for the Best Eighteenth Century Orchestral Recording with his CD of symphonies by Johann Baptist Vanhal conducting the Esterházy Sinfonia, Hungary. Among his most important publications have been recordings of works by Mozart's pupil Johann Nepomuk Hummel in whose music the influence of Mozart is clearly to be heard.
* Admission is free
* Refreshments to follow
BNZ Theatre at Vodafone Events Centre, Manukau City, Auckland
Lamb & Hayward Masterworks: Requiem
Christchurch Town Hall, Christchurch
SMCO Gala Concert - Classical Voice Students, Auckland Uni
St Matthew-in-the-City, CBD, Auckland
BMNZ: Mendelssohn & Hummel
Auckland Town Hall - Great Hall, CBD, Auckland
Sun 29 Sep
Les Bon Vivants
The Piano: Centre for Music and the Arts, Christchurch
Thu 3 Oct


text:
Abortion Ruling: US Supreme Court says leak is real, investigation launched
Posted on May 4, 2022 May 4, 2022 Author Reporter Comments Off on Abortion Ruling: US Supreme Court says leak is real, investigation launched
A leaked document suggesting millions of US women could lose the legal right to abortion is genuine, the Supreme Court's chief justice has confirmed.
But it does not represent the court's final decision, said John Roberts.
The leak has stirred expectations that the 1973 decision which legalised abortion in the US could be overturned, allowing individual states to ban it, reports the BBC.
President Joe Biden has argued that the decision – if it goes ahead – could call other freedoms into question.
The leaked document – labelled "1st Draft" – appears to reflect the majority opinion of the court.
Written by Justice Samuel Alito, it calls the 1973 Roe v Wade ruling – which legalised abortion across the US – "egregiously wrong from the start".
The draft is not a final ruling, and opinions could change. But if Roe v Wade is overturned, around half of US states could ban abortion.
In a statement, Chief Justice Roberts described the leak of the draft – first published by US website Politico – as "a singular and egregious breach" and asked the Marshal of the Supreme Court to launch an investigation.
The work of the court would "not be affected in any way", he added.
The draft's release has caused a wave of reaction from both sides. Anti-abortion law firm Americans United for Life urged the court to disregard "the expectations of pro-abortion activists or proxy media allies".
Planned Parenthood – the largest provider of reproductive health services in the US – has said it would "continue to fight like hell to protect the right to access safe, legal abortion".
It says its research found that 36 million women could lose abortion access if Roe v Wade were struck down.
The ruling is in the court's sights because Mississippi is asking for it to be overturned, with a final decision expected in late June or early July.
Thirteen states have already passed so-called trigger laws that will automatically ban abortion if Roe is overruled this summer. A number of others would be likely to pass laws quickly.
On Tuesday, Oklahoma's governor signed into law an anti-abortion measure based on one passed in Texas last year. The law allows any private citizen to sue anyone who aids in an abortion after six weeks of gestation – before many women even know they are pregnant.
President Joe Biden warned that such a legal change – if the decision stays the same – would have far-reaching implications.
"It concerns me a great deal that we're going to, after 50 years, decide a woman does not have a right to choose," he said.
"But even more, equally profound is the rationale used. It would mean that every other decision relating to the notion of privacy is thrown into question."
Biden said he wanted legislation to enshrine the existing guarantees of abortion access.
"If it becomes the law, and if what is written remains, it goes far beyond the concern of whether or not there is the right to choose," he said.
"It goes to other basic rights – the right to marriage, the right to determine a whole range of things."
BBC North America reporter Anthony Zurcher says the basis for this lies in distinctions drawn by Justice Samuel Alito in the leaked opinion, which he wrote.
Some rights are spelt out in the US Constitution, the judge wrote, while others, such as access to abortion, are mere "unenumerated rights".
Our reporter points out that the same argument could be used in the case of gay marriage, in vitro fertilisation or certain forms of contraception.
Tagged Abortion Ruling: US Supreme Court says leak is real, investigation launched
The big losers
Posted on September 21, 2020 September 21, 2020 Author FELIX NWANERI reports
FELIX NWANERI reports on the big losers of Saturday's governorship election in Edo State Adams Oshiomhole A former labour leader turned politician, Oshiomhole was president of the Nigeria Labour Congress (NLC) and it is on record that he led several industrial actions against anti-peoples' policies by previous governments. Among his feats in […]
Kwara gov seeks early completion of Asa River dredging
Posted on August 28, 2021 August 27, 2021 Author Stephen Olufemi Oni
Kwara State governor, AbdulRahman AbdulRazaq, has charged Eurobel International limited, the firm handling the dredging of Asa River in the state, to deliver according to specifications and within the time frame to end the perennial flooding in the capital city. The governor spoke on Friday when a delegation from the Ecological Fund Office led by […]
Buhari appoints 5 new Permanent Secretaries
Posted on June 18, 2021 Author Lawrence Olaoye,
President Muhammadu Buhari has approved the appointment of five new Permanent Secretaries into the civil service of the federation following the recent conduct of a selection process. The five were among 47 candidates cleared in May to sit for written examination to fill vacant positions of permanent secretary in the Federal Civil Service on May […]
Obasanjo: All is not well in Nigeria, but with God, situation will improve
Ukraine Conflict: Parts of Lviv without power, water after Russian strikes


text:
FJ-HRN-3031
(01:59:47 - 02:41:00) ~41 min Save changes!
Grid	Footage
Scroll with video playback
Out: 02:00:52
B-Roll: Richard Jenkins gets interviewed, a quick shot of Cathy Griffiths, back to Richard Jenkins getting interviewed, and he walks away.
A02. HRN-3031
In: 02:00:52 Out: 02:00:59
Sound Bite: Kathy Griffiths – Comedienne/Actress
Yes I'm wearing Carolina Herra.
Well I think I'm in a ridiculous category, "The Deadliest Catch" "60 Minutes" and "This American Life", and clearly "My Life on the D-List" is much more important show that changes peoples lives, in a way that "60 Minutes", could only dream of, in fact a lot of the 60 Minutes producers call me for advice, I've never said that publicly before.
Well I produce a show that I'm in, so I have to be patient with myself, I've fired my self several times, but I always come back crawling back to me
B-Roll: Fashion Shot/ Sound Bite: Kathy Griffiths – Comedienne/Actress
B-Roll: Fashion Shot/Blonde in Black Dress
Sound Bite: Girl in Gold Dress
I'm wearing Max Azaria
B-Roll: Fashion Shot/Girl in Gold Dress
B-Roll: The Danny Boyle – Director "Slumdog Millionaire" stand for photos with Producer and Cast member.
B-Roll: Taraji P. Hensen arrives and stands for photos, Greg Kinnear arrives and walks away, back to Taraji.
B-Roll: Fashion Shot/Blonde girl in green dress.
B-Roll: Debra Messing stands with Zeljiko Ivanek
B-Roll: Danny Boyle gets interviewed by Fox
Sound Bite: Danny Boyle – Director – Slumdog Millionaire (Guy with glasses)
Christian Colson – Producer – Slumdog Millionaire
Danny: I've left them somewhere, it's just unbelievable, I trying to locate where they are.
Christian: He left them on the plane.
Danny: I left them on the plane, um, it's just extraordinary , we just had the premiere in Mumbai, and we heard about the Oscar nominations there at that time, they went mad, I mean it's such an extraordinary moment for them, because you know Hollywood and Bollywood are these two beasts looking at each other across quite a long distance, but actually with a lot in common as well you know, with popular cinema and about getting audiences out, and of course the nominations for us are an extraordinary way in which we can extend the role of our film and get more people to see it, it's incredible platform that they but us on you know, and in India as well cause they are fascinated by the Oscars, you know they would desperately would love to win an Oscar for India , you know and A.R. Rahman, the composer has got 3 nominations and that is front page news there, you know, Rah, Rah, Rah, man.
Christian: Yeah the sound guy as well, yeah its massive news over there.
Christian: I'm going to use the same quote there was a very good old English producer, called Steven Evans, who said, "the more a producer tries to explain what it is they do the more pathetic he sounds", it's advice I've always heeded.
B-Roll: Al Gore arrives and stands for photos, zoom into Debra Messing getting interviewed.
Sound Bite: Maria Conchita Alonzo – Actress
I'm wearing Diane Von Furstenberg.
B-Roll: Fashion Shot/Maria Conchita Alonzo
Sound Bite: Taraji P. Henson – Actress
Angel Sanchez, Cartier, and let make sure I get this right, Lambert and Truett's. isn't that pretty.
It was crazy; I was screaming running around in circles, I is it true? Is it true? I still call my publicist and my manager, I'm like there not going to do a recount are they really did call my name right, (she laughs)
You have to have the gift of gab, because you have to talk people into giving them your money, giving you there money, so the gift of gab, to get that money for your project.
B-Roll: Fashion Shot/ Taraji P. Henson – Actress
B-Roll: Debra Messing talking on carpet and laughs.
Sound Bite: Dana Delany – Actress
It's my own personal Prada and Neil Lane jewelry.
Um, well on "Desperate Housewives" we have producer named George Perkins who I would say is probably one of the best I've every worked with, and he always remains calm, and he's honest, you have to be really honest with people, because if you ask for this day off, he'll say "Yes" or "No" and this is why I can't, and just be direct.
B-Roll: Fashion Shot/ Dana Delany – Actress
Sound Bite: Mark Baker – Producer – Damages
Todd A. Kessler – Producer – Damages
Daniel Zelman – Producer – Damages
Mark: Sense of humor.
Todd: The ability to not sleep.
Daniel: The ability to lie.
Sound Bite: Debra Messing – Actress with Zeljko Ivanek
Bill Blass.
Sound Bite: Debra Messing – Actress
Zeljko Ivanek – Actor
Zeljko: I don't know if there's anything funny about it, because I know our guys on Damages, what it take to put on that show and produce it, direct it and edit it, I'm in awe.
Debra: Endurance
Zeljko: Endurance, it's not funny, but endurance first and foremost, because we show up for a few hours in the day and that's it, and go home, and they are doing it the rest of the day, it's just hard to fathom how they manage it.
Debra: It's not a funny job, so it's hard to come up with a funny example.
B-Roll: Fashion Shot/Debra Messing
B-Roll: Ron Howard, Brian Grazer talk to TV crews, Frank Langella, talks to TV crews.
A32. HRN-3031***Round up
Sound Bite: Frances Fisher – Actress
I'm wearing, stop I forgot, I was thinking about Michelle Obama, somebody asked be about Michelle Obama.
I'm wearing Betsy Johnson.
Having never been a producer, I'm not really sure, but I know the good ones, the good ones make you feel really, really confident and they give you a lot of space to do your own work.
B-Roll: Fashion Shot/ Frances Fisher – Actress
In: 02:22:15 Out: 02:
B-Roll: Ron Howard, Brian Grazer, Frank Langella work the press line, Brad Grey gets TV interview, back to Frank, Brian and Ron.
Sound Bite: Frank Langella – Actor
Well, look, there isn't a cliché in all the world that hasn't been spoken, you're always surprised at things like this, whither it's a Tony, or an Oscar or a Golden Globe, what ever it is, it's always a surprise, it's always temporary the most solid thing is work that is thing you can depend on.
I don't, I don't differentiated no more, I used to when I was younger, I used to like one more than the other, now I really like acting in all the media, it's really, it's really wonderful, each one offers me some different challenge.
Oh, you have to be nuts, I think, you have to be crazy, because you have to rise money, you have to start on a blank page, you have to deal with unions, and worst of all you have to deal with actors, I wouldn't want to do that.
B-Roll: Michael Douglas and Catherine Zeta Jones arrive and stand for photos, CU on C. Zeta Jones. Shot press photographer grabbing a shot.
Sound Bite: Brian Grazer – Producer – Frost/Nixon
Ron Howard – Director – Frost/Nixon
Brian: Well we're thrilled to be nominated, I think I got up at 5:22 I know digital clock to see, you know there great films, we're different, there all different from one another, it's a really, really, hard movie to make, it's turning ideas into something cinematic, that's due to this guy here.
Ron: I was driving along, trying to get into New York, I was struck in traffic, listening to it on the radio, so I was all alone, and getting this news, it's sort of like a movie moment, I was beating on the steering wheel, cheering out the window, it just made me feel fantastic.
Ron: Here's the thing that was so amazing to me and every day I was working with him, I kind of had to remind myself about this, there's nothing of Richard Nixon in Frank Langella, there's nothing of himself that he could draw on, and he created this character, I just got back from Washington D.C. for the inauguration and so many journalists and politicos taking me aside and saying it is uncanny what Frank Langella did in creating Richard Nixon, we've never seen anything with that kind of depth and dimension and that authenticity and it's all artistry.
Brian: Um, listen, don't try to prognosticate any ideas, being a trend or, don't try to outsmart the culture.
Ron: I would agree and then its tenacity and a thing that Brian you to say said, 30 years ago is, it only takes one yes.
Sound Bite: Charles Roven – Producer
I think one of things that a really good producer should have is a tremendous, a lot of lateral thinking ability, because you are dealing with so many desperate different elements when your putting together a film and so many different personalities and your trying to blend this thing which is part artistic and part commercial, even dealing with the small movies are a lot of money, so the big movies are a vast amount of money, so you have to an ability to think laterally and I think that a very important quality to have and also to be very resilient, there is a tremendous amount of adversity and rejection, and so you have to a lot of faith in what your doing.
B-Roll: Michael Douglas and C. Zeta Jones get interviewed by TV crew
B-Roll: Kirk Douglas and Mrs. Douglas arrive and stand for photos.
A47. HRN-3031****Sniped
Sound Bite: Michael Douglas – with Catherine Zeta Jones
Oh, I mean, obviously coming out of the shoot "Cuckoo's Nest", kind of set the tone for everything "China Syndrome" means a whole lot to me in terms of it has an issue of the disarmament issue, nuclear disarmament as a result of that, "Romancing the Stone" was really a hoot, but I like a couple of the crazy whack ones, one that wasn't seen as much was "One Night at McCool's" which is a little later on which is a lot of fun.
Taking care of the details, you know that's the best, taking care of the details, there is a great book actually that David O. Selznick wrote that's called "Memo" which kind of explains it keeping up with all the details.
OC: What is one of the misconceptions about producers?
Michael: There just involved with the money, that there always just involved with the money, but they make a lot of creative decisions and really have to have a vision normally to see it all through.
B-Roll: Kirk Douglas walks through, Danny DeVito and Rhea Pearlman follow, Danny gets interviewed by TV crew.
Sound Bite: Danny DeVito – Actor/Director/Producer
I think you have to put your finger on everything, you know, but you shouldn't smother it, you know, that kind of thing, be there support and you got to love it.
B-Roll: Michael Sheen walks by with wife.
B-Roll: Marquee Signage of the Palladium, "PGA Awards" zoom in and out. Pan to the street, pan back to wide shot of the Palladium, Zoom in to top of neon sign "Palladium", the Sunset Strip pan over to the Palladium, wide shot.
Year: 2009 Color: Color
Genre: CELEBRITIES
Description: HRN-3031 PGA Awards '09 - Event Tape #02 A01. HRN-3031 In:
Keywords: movie director


Product prices and availability are accurate as of 2019-04-17 18:01:18 UTC and are subject to change. Any price and availability information displayed on http://www.amazon.co.uk/ at the time of purchase will apply to the purchase of this product.
We are proud to stock the famous Natural Herbal Ear Drops for Dogs and Cats - ear mites canker wax infection 15ml.
With so many available recently, it is good to have a name you can recognise. The Natural Herbal Ear Drops for Dogs and Cats - ear mites canker wax infection 15ml is certainly that and will be a superb acquisition.
For this price, the Natural Herbal Ear Drops for Dogs and Cats - ear mites canker wax infection 15ml comes highly respected and is always a regular choice with many people. Ards Animal Health have included some nice touches and this equals good value.
Ards Animal Health Ear Drops, developed by our in-house herbal and nutritional expert, are for cats, dogs, kittens & puppies over 8 weeks old. For ear mites, canker, fungal and bacterial infections, ringworm, wax and dirt. Therapeutic: antibacterial, antifungal, anti-inflammatory and soothing to reduce irritation, scratching and head-shaking. Apply to both ears, use daily for two weeks. Recent feedback: "Marvellous Cleared my dogs ear canker within a couple of weeks", "fantastic i may need to order another tho but this worked a treat fantastric value for money".
Fast-acting Natural Herbal Formula for head-shaking, itching and odour For ear mites, canker, minor fungal and bacterial infections, cleaning ear wax and dirt Soothes to reduce irritation and head-shaking Manufactured in the UK Recent feedback: "Marvellous Cleared my dog s ear canker within a couple of weeks", "fantastic i may need to order another tho but this worked a treat fantastric value for money"


text:
Take time to make smart decisions
Editor: I am very concerned about the lease/acquisition of a downtown Newton property by Sussex County Community College. Before any further action is taken, full analysis and disclosure must be made. We do not want another failed solar project.
I am very concerned about the lease/acquisition of a downtown Newton property by Sussex County Community College. Before any further action is taken, full analysis and disclosure must be made. We do not want another failed solar project.
1. In 2017, SCCC lost $5.3 million on $28 million in operating expenses. SCCC enrollment is down by 22 percent from 2013 to 2017. SCCC receives $4 million from the county annually. How can they spend $6.5 million (or more) on this project?
2. The so-called $4.5 million in "committed bond money" is not free. It is debt which must be serviced and repaid.
3. There is at least another $2 million involved. The Herald reported in April that the Board of School Estimate (then composed of Freeholders Graham, Rose, and Lazzaro, and SCCC trustees Andrews and Parker) concurred with an SCCC Board resolution to "reallocate $2 million in approved Chapter 12 funds for the college's culinary and technical career facilities" (vote was 3-1; Graham absent). This quietly approved the use of $2 million for this project which, as reported by the Herald, County Administrator Gregory Poff said, "deviated rather significantly" from the original purposes of those funds.
4. Converting an aging industrial property to a school use is complex and expensive and environmental studies are needed to understand the costs and terms of remediation.
5. When the current school management and trustees are long gone, we could still be paying the bills for yet another Sussex County folly.
I challenge the SCCC Board to exercise their fiduciary duty. I challenge them to hold a public town hall meeting to fully disclose the project's details, and afford the public an opportunity to be heard -- before SCCC undertakes legal obligations or another dollar is spent, borrowed, or committed to this project.
There's no rush -- let's take the time to make smart decisions.
Richard Kelsky


Objects of class File::Stat encapsulate common status information for File objects. The information is recorded at the moment the File::Stat object is created; changes made to the file after that point will not be reflected. File::Stat objects are returned by IO#stat, File::stat, File#lstat, and File::lstat. Many of these methods return platform-specific values, and not all values are meaningful on all systems. See also Kernel#test.
Create a File::Stat object for the given file name (raising an exception if the file doesn't exist).
Compares File::Stat objects by comparing their respective modification times.
Returns the last access time for this file as an object of class Time.
Returns the birth time for stat.
If the platform doesn't have birthtime, raises NotImplementedError.
Returns the native file system's block size. Will return nil on platforms that don't support this information.
Returns true if the file is a block device, false if it isn't or if the operating system doesn't support this feature.
Returns the number of native file system blocks allocated for this file, or nil if the operating system doesn't support this feature.
Returns true if the file is a character device, false if it isn't or if the operating system doesn't support this feature.
Returns the change time for stat (that is, the time directory information about the file was changed, not the file itself).
Note that on Windows (NTFS), returns creation time (birth time).
Returns an integer representing the device on which stat resides.
Returns the major part of File_Stat#dev or nil.
Returns the minor part of File_Stat#dev or nil.
Returns true if stat is executable or if the operating system doesn't distinguish executable files from nonexecutable files. The tests are made using the effective owner of the process.
Same as executable?, but tests using the real owner of the process.
Returns true if stat is a regular file (not a device file, pipe, socket, etc.).
Identifies the type of stat. The return string is one of: "file'', "directory'', "characterSpecial'', "blockSpecial'', "fifo'', "link'', "socket'', or "unknown''.
Returns the numeric group id of the owner of stat.
Returns true if the effective group id of the process is the same as the group id of stat. On Windows NT, returns false.
Returns the inode number for stat.
Produce a nicely formatted description of stat.
#    birthtime=Mon Aug 04 08:13:49 CDT 2003>"
Returns an integer representing the permission bits of stat. The meaning of the bits is platform dependent; on Unix systems, see stat(2).
Returns the modification time of stat.
Returns the number of hard links to stat.
Returns true if the effective user id of the process is the same as the owner of stat.
Returns true if the operating system supports pipes and stat is a pipe; false otherwise.
Returns an integer representing the device type on which stat resides. Returns nil if the operating system doesn't support this feature.
Returns the major part of File_Stat#rdev or nil.
Returns the minor part of File_Stat#rdev or nil.
Returns true if stat is readable by the effective user id of this process.
Returns true if stat is readable by the real user id of this process.
Returns true if stat has the set-group-id permission bit set, false if it doesn't or if the operating system doesn't support this feature.
Returns true if stat has the set-user-id permission bit set, false if it doesn't or if the operating system doesn't support this feature.
Returns the size of stat in bytes.
Returns true if stat is a socket, false if it isn't or if the operating system doesn't support this feature.
Returns true if stat has its sticky bit set, false if it doesn't or if the operating system doesn't support this feature.
Returns true if stat is a symbolic link, false if it isn't or if the operating system doesn't support this feature. As File::stat automatically follows symbolic links, symlink? will always be false for an object returned by File::stat.
Returns the numeric user id of the owner of stat.
Returns true if stat is writable by the effective user id of this process.
Returns true if stat is writable by the real user id of this process.
Returns true if stat is a zero-length file; false otherwise.


text:
Home / 20% Promo 1/14 / Impulse Records: Music, Message and the Moment Box Set
Celebrating 60 years of Impulse Records. A Deluxe 4-LP Box Set with tracks by John Coltrane, Quincy Jones, Charles Mingus, Oliver Nelson, Pharoah Sanders, Archie Shepp and other legendary Impulse Artists. This release includes liner notes by Greg Tate and A.B. Spellman. The LP box is housed in a high-quality archival portfolio cast with a museum drop front, includes a magazine style booklet featuring original impulse! ads and artist photos, as well as an impulse! vinyl slip mat.
Orange and black. Fire and ebony. Fury and pride. Wearing its signature colors proudly and raising its exclamation point high, Impulse! Records was the go-to label for music that harnessed the searching and political stand-taking of the Sixties. Launched in 1961, Impulse grew to become an inherent part of the era's velocity as well as its volume, pulling jazz into the age of Black Power, Afrocentricity, and Spiritual Expansion. In its balance of tradition and transition, it bridged the golden age of jazz, that brief window from the late Fifties to the Seventies when players representing every jazz era were alive and active—from Louis Armstrong to Albert Ayler, from the legends of lore to a new generation of energy players. Impulse treated all its musicians as innovators, revolutionaries even—from swing and bebop, to free and Afrofuturist.
The performances on Impulse Records: Music, Message and the Moment draw their staying power from a wide embrace of styles and sounds, as well as a tight focus on a historic moment when the promise of change was in the air and the message of racial harmony was in the music. Today that music has lost none of its relevance: the promise still deferred, the message still on time.
"...A collection celebrating Impulse's deep-digging support of artists who scored We The People's SingFight-ing for social political and artists' self-determination in a critical time of beatdowns, breakthroughs and cosmically-centered aspirations."
- Musician/Essayist Greg Tate
"In many ways, this collection is a mural in sound of the activist's stimulation of the Sixties and Seventies…we need this scope of sound again: We need the horns to scream of stout resistance, and we need the bands to sing to us of the righteous beauty of our souls."
- Journalist/Author A.B. Spellman
LP 1: Side 1
1. The John Coltrane Quartet — Africa
1. Max Roach — Garvey's Ghost
2. Quincy Jones and his Orchestra — Hard Sock Dance
3. John Coltrane — Up 'Gainst the Wall
4. Elvin Jones/Jimmy Garrison Sextet — Just Us Blues
1. John Coltrane — Alabama
2. Charles Mingus — Better Get Hit in Yo' Soul
3. Shirley Scott Trio — Freedom Dance
4. Yusef Lateef — Sister Mamie
1. Archie Shepp — Malcolm, Malcolm—Semper Malcolm
2. Stanley Turrentine — Good Lookin' Out
3. Earl Hines — Black and Tan Fantasy
4. Oliver Nelson — The Rights of All
1. Pharoah Sanders — The Creator Has a Master Plan (edit)
2. John Coltrane & Alice Coltrane — Reverend King
1. The Ahmad Jamal Trio — The Awakening
2. Albert Ayler — Music Is the Healing Force of the Universe
3. Charlie Haden — We Shall Overcome
1. Alice Coltrane — Blue Nile
2. Pharoah Sanders — Astral Traveling
3. Archie Shepp — Blues for Brother George Jackson
4. Michael White — Lament (Mankind)
1. Dewey Redman — Imani
2. Marion Brown — Bismillahi 'Rrahmani 'Rrahim
3. John Handy — Hard Work