text:
Amy Myers – Author – Harriet Hudson – Official Website
Official site of UK Author of crime and history novels Amy Myers. Also known as Harriet Hudson.
About Amy and Harriet
Ever designed a stately home?
It sounds so simple to plan a country house for a crime novel – but it isn't. See where the heffalump pits lie in my article on Rachael Hale's splendid site www.historymagpie.com
If you don't yet know this site and you like old country houses and their history then waste no time. Make the site a regular.
Author Amy MyersPosted on February 23, 2017
Nell Drury's first case published today
31st January 2017: This time last year Nell Drury was just a twinkle in my eye but within days I was hard at work researching 1920s country house living and designing Nell's first case. She's the chef at Wychbourne Court in Kent but finds she can turn her talents to detective work when thrust into the middle of a murder case during a ghost hunt. Dancing with Death is out today in the UK and will be published in the US on lst May. Meanwhile back to the research – Nell's at the centre of another murder case now. Maybe Wychbourne is another Midsomer…
Author Amy MyersPosted on January 31, 2017
Gone missing
If I were a Victorian lady I would have fainted, and even in the 21st century I was tempted. Two weeks ago I visited my website to check something. Shock. Horror. Dear reader, I wasn't there. I'd been hacked. Thanks to my splendid host, the site was up and running again a few days later, but all the copy had to be redone. I assure you that the big gap between this post and its predecessors isn't sheer laziness on my part but be cause all the posts have vanished.
Now I can get back to Nell Drury, the 1920s chef at Wychbourne Court, whose first case, Dancing with Death, is to be published on 30 January 2017 in the UK and lst May in the US. Meanwhile, happy Christmas and happy New Year.
Author Amy MyersPosted on December 16, 2016
Classic Cashes In
I was stuck. In need of a plot. I had the title, Classic Cashes In, but car detective Jack Colby needed more than that to solve his sixth case. Cashes In? On what? Answer came there none.
Then Jim and I went down to see a friend in Bognor Regis, seen nearest the camera in the photo. Chatting to him, he revealed that in the late 1940s before joining the Royal Navy he had worked for two years as a bank clerk in Hull, where his father was manager at a different branch. Immediately 'cashes in' sprang to life. Old Packards sprang after it. Bank robberies followed on. And hey presto, Jack Colby was heading for another case. Classic Cashes In has just been published; Jack's case, the murder of an enigmatic banking magnate Philip Moxton, is set in the present day, but the Packard he has asked Jack to find for him has an interesting history going way back. Banking in the 1930s and 1940s was far from the world of today, as were its security precautions.
I've just finished writing its successor, so once again I'm in need of a plot. Maybe I should set off to Bognor again ….
Author Helen LockstonePosted on October 15, 2014 December 6, 2016
Auguste Didier Cooks Again
At the end of my last post Victorian Master Chef Auguste Didier was fighting 21st century car detective Jack Colby for my attention. Jack Colby won the battle but I can report that Auguste Didier has unexpectedly entered the fray once more. I was in search of an idea and impatient at my slow progress he seems to have got busy on his own account.
Firstly the editor of the wonderful Ellery Queen Mystery Magazine, Janet Hutchings, who has published quite a few of his short stories over the years asked me to guest blog for the EQ site www.somethingisgoingtohappen.net on the subject of writing historical mystery stories – and in the course of the article Didier's name naturally cropped up.
It then cropped up again in a big way when I heard the exciting news that nine of my novels featuring him are shortly to reappear as ebooks from Headline. In gratitude, Auguste has just planted the long sought idea for another short story in my mind. All I have to do is write it …
Not to be outdone, my other Victorian sleuth, chimney sweep Tom Wasp, decided to get in on the ebook action as well. A book of his short stories is published as an ebook by AudioGo under the title Victorian Villainies – and if you like to delve further back in time AudioGo have also ebooked Georgian Villainies – in which my short stories featuring the eighteenth-century parson, Caleb Pennywick appear. These also formerly appeared in Ellery Queen Mystery Magazine. I need another idea for him too. Back to Jack first and then …
Author Helen LockstonePosted on March 29, 2013 December 6, 2016
Classic Mistake Takes to the Road
Yes, it's spring (by the calendar anyway) and Jack Colby is taking to the road again – this time on his fourth case Classic Mistake, when he throws himself into hunting down the killer of his former wife's Mexcian band-leader husband, Carlos. Jack is horrified when the tempestuous Eva rings him for help, not from Mexico but from the nearby River Medway in Kent where Carlos has been found murdered on the towpat. It's normally a peaceful spot, but no spot is peaceful when Eva is around – especially as she is chief suspect. Luckily, she wasn't around, except in my imagination,when Jim and I strolled along the towpath last year to the wonderful Malta Inn. There we sat and watched the baots go by, then crossed the nearby bridge to the far side of the river where we watched boats entering and leaving Allington Lock. We had come by Shanks's pony, i.e. on foot, but Jack of course came by car to the lock in his mercy dash to help Eva. On returning to his Frogs Hill home, he is greeted by a beautiful blonde called Daisy, who demands that he finds her missing Morris Minor car, called Melody, which causes Jack almost as much trouble as Eva.
Now that Classic Mistake is published, the deadline for sending Jack's next case, Classic in the Pits, to the publishers suddenly seems very close. In this case, Morris Minors have given way to a Porsche and a Morgan that cause problems for Jack, and it is due to be published later this year – provided I get on with the job …
…Trouble is, I've just had a good idea for a short story featuring Auguste Didier, and I'm wondering whether I dare divert from a twenty-first century car detective to a Victorian master chef with a knack for sleuthing … No, I can hear Jack indignantly calling me back to the plot.
And the Next Big Thing . . .
I was enjoying Dolores Gordon-Smith's blog (www.doloresgordon-smith.co.uk/wordpress/ about the Next Big Thing in her life so much that I almost forgot I was next in line to pick up the baton in this cyber relay in which we interview ourselves with a set of questions describing what's next in line for each of us on the writing front. The Two Jacks – Dolores' 1920s sleuth Jack Haldean and my 2013 car detective Jack Colby – will be followed by Lesley Cookman's Libby Sarjeant.
But in the meantime, here's Jack Colby, car detective:
What is the working title for your book?
My next big thing is very much my current thing. It's the pits. Well, I tend to think that about every book while I'm writing it, but in this case it's literally true. Classic in the Pits is not only the working title, but the title under which it's been contracted. The Pits is the name that Jack Colby gives the converted barn in which his classic car business is carried out, but for this title it has a more metaphorical interpretation. Cars pull off the racing track to whizz into the Pits when something's wrong – and in this novel quite a bit is wrong about a certain Porsche 356.
What genre does your book fall into?
Not sure that fall is the right word. Alas, far from falling off my computer Jack's cases have to be coaxed word by word, agonised over, rejoiced over, raced against time …. All those. As for genre, they veer more towards the traditional crime mystery than the lean mean streets of the noir.
Which actors would you choose to play your characters in a movie version?
Echoing Dolores' sentiment, chance would be a fine thing! Seriously, though, I find the leap from fictitious characters to real life people too wide a gap to jump successfully. People often ask whether my characters are based on people I know, but I find it impossible to do that, although I do use the occasional real life trait in my characters. So, please Messes Coen, or Mr Spielberg, do feel free to pick whom you like. (Mind you, if Michael Douglas …)
What is a one-sentence synopsis of your book?
Classic in the Pits: Swoosh – a summer's day event for classic cars and aeroplanes – ends with murder, and car detective Jack Colby, currently hunting for a missing Porsche, is right there to get involved in the labyrinthine quest to find a killer.
Will the book be self-published or represented by an agency?
As with most of my recent novels, Classic in the Pits will be published in the UK and US by Severn House Publishers, and will appear later this year. Its predecessor Classic Mistake, featuring a Morris Minor, is out at the end of March. I have a literary agent, and without her I doubt if my career would have existed except in my mind and on the scrapheap.
What other books would you compare this story to within your genre?
The Jack Colby series was a joint venture with my classic car buff husband Jim, and he remains very committed to it. We set out to strike a balance to appeal to mainstream crime fiction fans but at the same time also to classic car lovers – in other words, not too much technical detail. We remembered Jonathan Gash's splendid Lovejoy series with its antiques background, which achieves this balance perfectly.
What else about this book might pique the reader's interest?
The element of the husband and wife working together. Does it work? Yes, it does, but I think with every writing partnership one has to work out the way it will work. Ours has turned out like housework – each one has his own jobs. Jim helps me with the car information and is there as a punching bag if I have a plot problem. I write the novels and do most of the plotting. It's amazing, however, that if one throws a problem around between two people something, somehow, will produce the answer even if obliquely.
And now for the next author in the series, Lesley Cookman
The baton is yours next, Lesley. So keep one eye on her blog at www.lesleycookman.blogspot.co.uk and the other eye out for her books if you don't already know the splendid Libby Sarjeant.
Author Helen LockstonePosted on January 20, 2013 December 6, 2016
Crime for Christmas
If you're going to be anywhere near Alfriston in Sussex on Saturday 15 December, don't miss the great event going on there. Under the auspices of Much Ado Books and the South Eastern chapter of the Crime Writers Association, there's to be an all day programme of top rate crime authors talking about their work and crime writing generally. Peter Lovesey, Ellie Griffiths, Deryn Lake and Tom Bale are but four of them, not to mention the event's organiser, historical crime novelist Patrick Easter. If you're interested (and who wouldn't be with this line-up) book a ticket quickly. It starts at 10.30 am and tickets cost £10 for all day entrance or £6 for the morning or afternoon sessions. It takes place in Alfriston High Street at the United Reform Church. For tickets apply to shop@muchadobooks.com and for further information have a look at www.muchadobooks.com/crime-for-christmas.php or www.patrickeaster.couk/christmas-crime-15th-december-2012 . Enjoy!
Author Helen LockstonePosted on November 16, 2012 December 6, 2016
Up in the Clouds
I've just sent the script of Jack Colby's fourth case off to my publishers – with bated breath, crossed fingers, wobbly legs and the hope that they will like Classic Mistake. But that's next year's story.
Hot off the presses this autumn is Jack's third case, Classic in the Clouds. The featured car in this novel goes way back to the early days of motoring – 1907 to be precise, the year of the original Peking to Paris rally (or race as it became). Those were the days. The French newspaper Le Matin launched the plan and five competitors left Peking on Monday, 10 June. Two immediately got lost, but luckily caught up with the other three. One broke down through the gruelling challenges that faced them and is no doubt still buried in the wilds of the Gobi Desert. Its driver returned to Peking. The other four battled on through floods, mountains, broken bridges, storms, and money and supply troubles, and two months later, on 10 August, Prince Scipione Borghese drove triumphantly into Paris in his Itala (now in a museum). Twenty days later, the other three arrived to equal welcome, a Spyker and two De Dion Boutons. The Spyker too is in a museum. And the two De Dions? Fate not known – but Jack Colby is hot on the trail of one of them rumoured to be in Kent. He's commissioned to find it in time for a re-run of the Peking to Paris rally. The re-run however is in Kent, with Dover standing in for Peking and a location near Canterbury for Paris. In between the towns en route are temporarily taking the names of their Asian counterparts for the rally. Take a look at the photo – that's the Trans-Siberian railway for the day – represented in the photo by a former railway track linking the Kentish town of Tenterden with Headcorn. In the opposite direction a steam railway manned by enthusiastic volunteers operates a service between Tenterden and the magnificent Bodiam Castle. That isn't on Jack Colby's route, but plenty of places are, all of them going Chinese for the day. All great fun – but Jack has a murder to solve and the De Dion is at the heart of it.
Author Helen LockstonePosted on September 28, 2012 December 6, 2016
Calling all crime readers
If you like reading crime novels and you haven't yet signed up for the Crime Readers Association (www.thecra.co.uk) then do so right away! It's free, it has an online newsletter (Case Files), details of events, tips on writing … in short, you can get to know a lot about the crime writing world, both fiction and non-fiction. In the second issue of Case Files, due in the middle of May, my second Jack Colby novel, Classic Calls the Shots, is one of the novels featured. I'm in the middle of the fourth at present, and have just left Jack in a pretty nasty situation, from which I can't at the moment see any way of extracting him. It's nice therefore to look back a book or two. Time has a way of eradicating memories of such difficulties and Shots now seems as though it was plain sailing compared with Number 4. I suppose Jack will eventually escape in Number 4, but how?
The Crime Readers Association is run by the Crime Writers Association (www.thecwa.co.uk) which had its annual conference recently. This year it was at Southampton, not long after the Titanic anniversary. The annual get-together is a meeting place for friends combined with interesting talks. This year they included Joan Lock talking about the bombs that freaked out the Victorian era, and one by two Marine police, who were introduced by marine mystery writer Pauline Rowson – seen in the photo with her husband Bob. I always return spurred up for the writing fray again on my return from such conferences, and this one was no exception. So how come I can't sort Jack out in Number 4?
Author Helen LockstonePosted on May 9, 2012 December 6, 2016
Available online at
Amy Myers – Author – Harriet Hudson – Official Website Proudly powered by WordPress


text:
in: Supercontinents, Carboniferous, Permian,
Paleocene
Geology of Greenland
Geology of North America
Geology of Europe
Geology of Asia
Laurasia
The continents Laurasia-Gondwana 200 million years ago.
Laurasia was a supercontinent that most recently existed as a part of the split of the Pangaean supercontinent in the late Mesozoic era.
The name combines the names of Laurentia and Eurasia.
Origin[]
Although Laurasia is known as a Mesozoic phenomenon, today it is believed that the same continents that formed the later Laurasia also existed as a coherent supercontinent after the breakup of Rodinia around 1 billion years ago. To avoid confusion with the Mesozoic continent, this is referred to as Proto-Laurasia. It is believed that Laurasia did not break up again before it recombined with the southern continents to form the late Precambrian supercontinent of Pannotia, which remained until the early Cambrian. Laurasia was assembled, then broken up, due to the actions of plate tectonics, continental drift and seafloor spreading.
Break up and reformation[]
During the Cambrian, Laurasia was largely located in equatorial latitudes and began to break up, with North China and Siberia drifting into latitudes further north than those occupied by continents during the previous 500 million years. By the Devonian, North China was located near the Arctic Circle and it remained the northernmost land in the world during the Carboniferous Ice Age between 300 and 280 million years ago. There is no evidence, though, for any large scale Carbonifeous glaciation of the northern continents. This cold period saw the re-joining of Laurentia and Baltica with the formation of the Appalachian Mountains and the vast coal deposits which are today a mainstay of the economy of such regions as West Virginia, the United Kingdom and Germany.
Siberia moved southwards and joined with Kazakhstania, a small continental region believed today to have been created during the Silurian by extensive volcanism. When these two continents joined together, Laurasia was nearly reformed, and by the beginning of the Triassic, the East China craton had rejoined the redeveloping Laurasia as it collided with Gondwana to form Pangaea. North China became, as it drifted southwards from near-Arctic latitudes, the last continent to join with Pangaea.
Final split[]
Around 200 million years ago, Pangaea started to break up. Between eastern North America and northwest Africa, a new ocean formed - the Atlantic Ocean, even though Greenland (attached to North America) and Europe were still joined together. The separation of Europe and Greenland occurred around 60 million years ago (in the Paleocene). Laurasia finally divided into the continents after which it is named: Laurentia (now North America) and Eurasia (excluding India and Arabia).
Supercontinents
Carboniferous
Permian
More Fossil Wiki
1 Ichthyosaur
2 Shark teeth
3 Dracorex
Fossil Wiki is a FANDOM Lifestyle Community.

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: How to access public directory images when the app is in .next folder in nextjs? After building my next application by running npm run build, all the images in the public folder are being stored as static images which I believe is how it is expected to work. However, I want to access the images in the public directory from the .next folder as I am adding new images to it every time.
Here is
the folder structure
If it requires any change to happen in the folder structure like moving the public folder to any other location or making a new directory, it would still be fine.

A: Here you can find your solution in NextJs docs: https://nextjs.org/docs/basic-features/static-file-serving
"Next.js can serve static files, like images, under a folder called public in the root directory. Files inside public can then be referenced by your code starting from the base URL (/).
For example, if you add an image to public/me.png, the following code will access the image:
import Image from 'next/image'

function Avatar() {
  return <Image src="/me.png" alt="me" width="64" height="64" />
}

export default Avatar

Note: next/image requires Next.js 10 or later.
"

redpajama_set_name: RedPajamaStackExchange


Thank you for your interest in supporting Bemidji MusiCamp!
There are lots of ways that you can help us!
so that we can best fulfill your wishes.
Bemidji MusiCamp is a 501(c)(3) nonprofit organization.
All donations are tax-deductible to the extent allowed by the law.
Special thanks to the organizations that have provided us with grants!
This activity is made possible, in part, by a grant from the Bemidji Area Arts Endowment, a component of the Northwest Minnesota Foundation.
This activity is made possible by the voters of Minnesota through a grant from the Region 2 Arts Council, thanks to a legislative appropriation from the Arts and Cultural Heritage Fund.


text:
package main

import (
	"bytes"
	"errors"
	"flag"
	"fmt"
	"log"
	"math/rand"
	"net/http"
	"os"
	"text/template"
	"time"

	skvs "github.com/experimental-platform/platform-skvs/client"
	"github.com/experimental-platform/platform-utils/dockerutil"
	"github.com/michaelklishin/rabbit-hole"
)

// RabbitSKVS contains the location of RabbitMQ settings in SKVS.
var RabbitSKVS = "rabbitmq"

type rabbitConnector interface {
	PutVhost(string, rabbithole.VhostSettings) (*http.Response, error)
	DeleteVhost(string) (*http.Response, error)
	PutUser(string, rabbithole.UserSettings) (*http.Response, error)
	DeleteUser(string) (*http.Response, error)
	UpdatePermissionsIn(string, string, rabbithole.Permissions) (*http.Response, error)
	ListPermissions() ([]rabbithole.PermissionInfo, error)
}

type realRabbit struct {
	con *rabbithole.Client
}

func getOrCreateCredentials() (string, string) {
	user, err := s.Get(fmt.Sprintf("%s/user", RabbitSKVS))
	if err != nil {
		user = "guest"
	}
	passwd, err := s.Get(fmt.Sprintf("%s/passwd", RabbitSKVS))
	if err != nil {
		passwd = "guest"
	}
	return user, passwd
}

func allNodesRunning(nodes []rabbithole.NodeInfo) bool {
	if len(nodes) == 0 {
		return false
	}
	for _, node := range nodes {
		if !node.IsRunning {
			return false
		}
	}
	return true
}

func (rec *realRabbit) connect() error {
	if rec.con == nil {
		// get rabbitmq IP address
		host, err := dockerutil.GetContainerIP("rabbitmq")
		if err != nil {
			return err
		}
		host = fmt.Sprintf("http://%s:15672", host)
		user, passwd := getOrCreateCredentials()
		// RabbitMQ is slow *and* starts to listen prior to being fully running, so we
		// try this 10 times and wait a sec between each try.
		m := 200
		for i := 0; i < m; i++ {
			rec.con, err = rabbithole.NewClient(host, user, passwd)
			if err == nil {
				nodes, err := rec.con.ListNodes()
				if err == nil && allNodesRunning(nodes) {
					fmt.Printf("Success on %d of %d.\n", i + 1, m)
					return nil
				}
			}
			time.Sleep(3 * time.Second)
		}
		fmt.Printf("NO WAY TO CONNECT, GIVING UP AFTER %d ATTEMPTS.\n", m)
		return err
	}
	return nil
}

func (rec *realRabbit) PutVhost(a string, b rabbithole.VhostSettings) (*http.Response, error) {
	err := rec.connect()
	if err != nil {
		return nil, err
	}
	return rec.con.PutVhost(a, b)
}

func (rec *realRabbit) DeleteVhost(a string) (*http.Response, error) {
	err := rec.connect()
	if err != nil {
		return nil, err
	}
	return rec.con.DeleteVhost(a)
}

func (rec *realRabbit) PutUser(a string, b rabbithole.UserSettings) (*http.Response, error) {
	err := rec.connect()
	if err != nil {
		return nil, err
	}
	return rec.con.PutUser(a, b)
}

func (rec *realRabbit) DeleteUser(a string) (*http.Response, error) {
	err := rec.connect()
	if err != nil {
		return nil, err
	}
	return rec.con.DeleteUser(a)
}

func (rec *realRabbit) UpdatePermissionsIn(a string, b string, c rabbithole.Permissions) (*http.Response, error) {
	err := rec.connect()
	if err != nil {
		return nil, err
	}
	return rec.con.UpdatePermissionsIn(a, b, c)
}

func (rec *realRabbit) ListPermissions() ([]rabbithole.PermissionInfo, error) {
	err := rec.connect()
	if err != nil {
		return nil, err
	}
	return rec.con.ListPermissions()
}

var r rabbitConnector = new(realRabbit)

type skvsConnector interface {
	Delete(string) error
	Get(string) (string, error)
	Set(string, string) error
}

type realSKVS struct {
	available bool
}

func (rec *realSKVS) checkAvailability(retries int, delay time.Duration) bool {
	if rec.available {
		return true
	}
	for i := 0; i < retries; i++ {
		_, err := skvs.Get("hostname")
		if err == nil {
			rec.available = true
			fmt.Printf("Success on %d of %d.\n", i + 1, retries)
			return true
		}
		time.Sleep(delay)
	}
	fmt.Printf("NO WAY TO CONNECT SKVS, GIVING UP AFTER %d ATTEMPTS.\n", retries)
	return false
}

func (rec *realSKVS) Delete(key string) error {
	if rec.checkAvailability(100, 3) {
		return skvs.Delete(key)
	}
	return fmt.Errorf("Can't DELETE '%s', SKVS appears to be unavailable", key)
}

func (rec *realSKVS) Get(key string) (string, error) {
	if rec.checkAvailability(100, 3) {
		return skvs.Get(key)
	}
	return "", fmt.Errorf("Can't GET '%s', SKVS appears to be unavailable", key)
}

func (rec *realSKVS) Set(key, value string) error {
	if rec.checkAvailability(100, 3) {
		return skvs.Set(key, value)
	}
	return fmt.Errorf("Can't SET '%s', SKVS appears to be unavailable", key)
}

var s skvsConnector = new(realSKVS)

func deleteSettings(name string) (string, error) {
	_, err := r.DeleteVhost(name)
	if err != nil {
		fmt.Printf("ERROR DELETING VHOST: %v", err)
	}
	_, err = r.DeleteUser(name)
	if err != nil {
		fmt.Printf("ERROR DELETING USER: %v", err)
	}
	// delete url from SKVS
	key := fmt.Sprintf("app/%s/rabbitmq", name)
	err = s.Delete(key)
	return "DONE\n", err
}

// https://siongui.github.io/2015/04/13/go-generate-random-string/
func randomString(strlen int) string {
	rand.Seed(time.Now().UTC().UnixNano())
	const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
	result := make([]byte, strlen)
	for i := 0; i < strlen; i++ {
		result[i] = chars[rand.Intn(len(chars))]
	}
	return string(result)
}

func createUser(name string) (string, error) {
	// create password and (update or create) user
	password := randomString(20)
	userInfo := rabbithole.UserSettings{
		Name:     name,
		Password: password,
		Tags:     "autocreated",
	}
	_, err := r.PutUser(name, userInfo)
	return password, err
}

func createVHost(name string) error {
	vhostSetting := rabbithole.VhostSettings{}
	_, err := r.PutVhost(name, vhostSetting)
	return err
}

func updatePermissions(name, vhost string) error {
	permissions := rabbithole.Permissions{
		Read:      ".*",
		Write:     ".*",
		Configure: ".*",
	}
	_, err := r.UpdatePermissionsIn(vhost, name, permissions)
	return err
}

func createSettings(name, vhost string) (string, error) {
	password, err := createUser(name)
	if err != nil {
		panic(err)
	}
	err = createVHost(vhost)
	if err != nil {
		panic(err)
	}
	err = updatePermissions(name, vhost)
	if err != nil {
		panic(err)
	}
	// write user, password and vhost to SKVS
	key := fmt.Sprintf("app/%s/rabbitmq", vhost)
	url := fmt.Sprintf("amqp://%s:%s@rabbitmq:5672/%s", name, password, vhost)
	err = s.Set(key, url)
	return "DONE.\nNew Password was set\n", err
}

const reportTemplate = `Access Control and Permissions:

{{ range $key, $value := . }}Name:	{{ $value.User }}
	VHost:		{{ $value.Vhost }}
	Configure:	{{ $value.Configure }}
	Write:		{{ $value.Write }}
	Read:		{{ $value.Read }}
{{ end }}
`

func listSettings() (string, error) {
	perms, err := r.ListPermissions()
	if err != nil {
		panic(err)
	}
	// Create the report
	report, err := template.New("Report").Parse(reportTemplate)
	if err != nil {
		return "", err
	}
	buff := bytes.NewBufferString("")
	err = report.Execute(buff, perms)
	if err != nil {
		return "", err
	}
	return buff.String(), nil
}

func switchByCommandLine() (string, error) {
	var CommandLine = flag.NewFlagSet(os.Args[0], flag.ExitOnError)
	CommandLine.Usage = func() {
		fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0])
		CommandLine.PrintDefaults()
	}
	delete := CommandLine.String("delete", "", "delete app <name>")
	create := CommandLine.String("create", "", "create app <name>")
	list := CommandLine.Bool("list", false, "list everything")
	err := CommandLine.Parse(os.Args[1:])
	if err != nil {
		log.Fatalf("ERROR: %v", err)
	}
	switch {
	case *delete != "":
		return deleteSettings(*delete)
	case *create != "":
		return createSettings(*create, *create)
	case *list:
		return listSettings()
	default:
		CommandLine.Usage()
	}
	return "", errors.New("Invalid flag.")
}

func main() {
	result, err := switchByCommandLine()
	if err != nil {
		log.Fatalf("ERROR:\n%#v\n", err)
	}
	fmt.Printf(result)
	os.Exit(0)
}

redpajama_set_name: RedPajamaGithub


2019 RAM 2500 and 3500 Conquest Bonus CashCustomer must own or lease a non-FCA vehicle. No turn-in/trade-in required. Must meet incentive eligibility criteria. Not all buyers may qualify. Please ask your salesperson for details.


text:
Qanat-e Hajji Taji (, also Romanized as Qanāt-e Ḩājjī Tājī; also known as Qanāt-e Ḩājitājī) is a village and commercial hub in the Qaravolan Rural District, Loveh District, Galikash County, Golestan Province, Iran. At the 2006 census, its population was 206, in 54 families.

References

Populated places in Galikash County

redpajama_set_name: RedPajamaWikipedia


Columnist John Boyle says Buncombe's County Commission members should take a pay cut, mainly to send a message to constituents.
Today, let's talk a little bit about tone-deafness.
Lord knows as a nation we've been awash in it, thanks mostly to the Trump administration's heartless cluelessness in dealing with the immigration crisis at the southern border and children being separated from their parents. Some are held in "tender age" facilities, for the love of human decency.
So when you're destroying families, many of whom hail from Mexico, and traumatizing innocent children by taking them away from mom and dad, maybe you should have the decency not to dine out at a Mexican restaurant, as Homeland Security Secretary Kirstjen Nielsen did last week. And maybe, if you're the first lady and you're going to visit these traumatized children, you or your staff might want to think the wardrobe through a touch more thoroughly, so you don't wear a jacket that literally says, "I really don't care. Do U?"
And if someone brings up the separation of a 10-year-old girl with Down syndrome from her Mexican mother, maybe you shouldn't intone, "Womp, womp," on national television, as former Trump campaign manager Corey Lewandowski did last week. Because it makes you look kind of heartless and cruel and well, stupid.
Closer to home, we have the Buncombe County commissioners, who were notoriously asleep at the dais as former manager Wanda Greene handed out retirement incentives and then-retention packages totaling millions of dollars. Not to mention inappropriate spending and the purchase of hundreds of thousands of dollars in insurance policies for top employees (policies with cash values, I should note), as the feds allege she did.
Hey, everybody got duped by Greene, who served for 20 years and now might get a chance to serve 20 more. In prison.
But most of us weren't elected to ask tough questions about budgets, guard taxpayer money and offer a modicum of transparency to county residents.
So when board Chair Brownie Newman suggested a pay cut for commissioners last week — as they are the second-highest paid county commissioners in the state — I thought, "Well, there's a no-brainer."
What a great way to send a message to residents that when it comes to fiscal restraint, you're on it. You realize trust has been shattered and taxpayers are miffed that you were not doing your jobs, and you want to send a strong message that belt-tightening for the highest-profile employees is overdue.
But nope. They voted it down, 5-2, in part citing concerns about creating a commission that would only entice wealthy people to serve.
Newman proposed cutting his own salary from $37,650 to $24,300 a year. The other six commissioners would have dropped to $21,098 a year.
The vice chairman, Mike Fryar, makes $32,548 annually, while the other five commissioners pull down $28,916, as my colleague Jennifer Bowman laid out in her article about all this.
Only Jasmine Beach-Ferrara sided with Newman, who also suggested a similar pay cut last October. Commissioners shot that one down, too.
By the way, Buncombe County is the seventh-largest county in North Carolina, so commissioners here make more than their big-city counterparts in Wake, Guilford and Forsyth.
I can't give Newman a pass for his lack of vigilance over Wanda Greene, but I do commend him for publicly pointing out the obvious about the board's salaries.
Several commissioners said they've been putting in a lot of hours because of the Wanda Greene investigation, and I will concede that some of her alleged wrongdoings date to well before their tenures.
But many also date to much more recently, when some of these commissioners should have been watchdogging but instead were sprawled on the porch, napping.
So, as Lewandowski says, "Womp, womp."
I'll add another round of "Womp, womp" over their contention that if you lower the salary more, you'll devalue the job irrevocably and preclude lower-income people from serving.
My favorite comment came from board member Robert Pressley, who said he didn't know before he ran for office that the commissioner position even carried a salary. He offered to lower his salary, but said, "You get what you pay for."
RELATED: Brownie Newman wanted to lower county commissioner salaries. His colleagues shot it down.
Hellooooo ... You remember a few minutes ago when you said you didn't know the job was a paid position and yet you were still willing to do it?
Let's set the whole notion of "public service" aside for a second and pause for some math. If I'm ciphering right, that standard commissioner salary of $28,916 comes out to $556 a week. If you divided that by 40 hours, it comes to $13.90 an hour.
I know commissioners meet a couple of times a month and have planning meetings between them, and they have to read through paperwork and study up on budgets and other documents. But I don't think they're working 40-hour weeks, every week, every year.
Maybe they have been on occasion because of the Wanda Greene mess, but in general, being a commissioner is not a 40-hour-a-week job. If they put in 20 hours a week, that's $27.80 an hour.
On the North Carolina Department of Commerce website, data for Buncombe County show the average weekly wage for a Buncombe County resident in 2017 was $805 a week, or almost $42,000 annually. That comes out to $20.12 an hour.
So Newman's proposal of $21,098 a year for commissioners would equal $405.73 a week, or $20.29 an hour if they were logging a 20-hour work week.
That seems just about right to me.
Nobody wants commissioners to go broke by serving, and it's important to keep elected office accessible to people of all economic levels.
But Newman's proposal would have fit the bill.
And in the current environment of mistrust, it might've been one small step in rebuilding faith in public servants.


← >Tuesday, town and television!
Always identified with and loved the splendid Paddington. 'Please look after this bear' says the note.
Today, as with the past couple of days… weeks… months?! Has been busy, some good, some bad; but then that's life really isn't it?
Today my father joined the Facebook world, added and chatted with me; this was both somewhat of a surprise (understatement of the decade) and hopefully a very hopeful thing. We've only spoken once in the past 8 years.
Another source of heartache and anguish has seemingly ceased, leaving strangely sensitive ripples, (I said ripples Luisa…) in an otherwise quiet, gently ebbing tide.
Speaking of driving, this was wyfe2 Luisa fast asleep in the car on the way home from some function or other. Doesn't she look lovely and peaceful in this very dark and moody shot?
Lee came round too tonight, finally feeling just a little stronger after her own dreadful week of hassle and confusion, pain and major medications. It was good to see her smile a little, better to feel her with us again. She's not doing great, but we had a chat about my going on her insurance too since sometimes she will need running about (she's been unable to drive this week due to health) and at other times we could borrow the car! I believe we're long overdue a rain-checked afternoon playing pool together.
We have had some other most exciting visitors tonight; Nadia and Nev who are only just now (after a very short sleep!) creeping out in the early hours to drive to Manchester airport to catch a flight to Iceland! This is a bit of a dream trip for them, something they've longed to do for some time. We're keeping the kids busy until they get back; Sophie and Mike are staying with us for the half term holidays, well until Wednesday. Lots of fun, we loves them to pieces we does, Lina's a very happy bunny and I foresee cinema trips, walks to the park and more.
Oh, here's another in the 'tea' series for wyfe1 Rachel!


text:
Saturday 28th January, 2023
Looking for software development or engineering jobs in Germany? Then submit your CV to Who Needs Engineers.
German health insurance - get quote and find insurer
Kiev gets new weapons and billions from Washington
Ammunition, weapons and equipment for Ukraine - the U.S. is putting together the largest-ever package of military aid for the Russia-attacked country at a cost of $1 billion (about 980 million euros). It is intended to meet critical security needs in Ukraine's defense, U.S. President Joe Biden said in Washington. Meanwhile, Ukrainian leader Volodymyr Zelensky called for an international travel ban on all Russians. This threat, he said, was intended to stop Russia from annexing occupied Ukrainian territories.
The situation in Europe's largest nuclear power plant, Zaporizhia, is causing concern. It is occupied by Russian troops and has been hit by rockets several times in the past few days. The warring parties blame each other. Zelensky accused Russia of "nuclear terrorism".
The German Federal Office for Radiation Protection (BfS) said there was still no evidence of radioactivity being released. Similar comments were made by the White House in Washington. But the fear of possible damage is growing. UN Secretary General António Guterres warned, "Any attack on a nuclear power plant is a suicidal matter." Ukraine is demanding that a mission from the International Atomic Energy Agency (IAEA) urgently visit the plant.
"The most important sanctions are to close the borders, because the Russians are taking away others' land," Zelensky told the U.S. newspaper Washington Post. Russians should "live in their own world until they change their philosophy," he said. He was responding to the announcement by the occupation authorities in the southern Ukrainian region of Zaporizhzhya that they would hold a referendum on joining Russia. Similar plans exist for the occupied Kherson region.
There is a discussion in the EU to make it more difficult to issue tourist visas to Russians or to stop it altogether. Even though travel has been hampered by cut air and rail connections, many Russians traveled to the EU this summer despite the war. Russia's neighbor Latvia has already tightened visa requirements. Finland is considering this, but is calling for a solution for the entire Schengen area. It is not fair that Russia is waging a brutal war, but Russians can visit Europe normally as tourists, said Prime Minister Sanna Marin.
According to the Pentagon, the new U.S. arms package for Kiev includes additional ammunition for the HIMARS and NASAMS missile launcher systems and 1,000 Javelin anti-tank missiles. In addition, there are 50 armored medical treatment vehicles and medical supplies, including first aid kits, bandages or monitors. The equipment is to be given directly to Ukraine exclusively from the stocks of the Ministry of Defense.
In total, the U.S. has now pledged around $9.8 billion worth of weapons and equipment to Ukraine with the new package since U.S. President Biden's administration took office a good year and a half ago. For current expenditures of the Ukrainian state, the U.S. is also providing $4.5 billion, according to the U.S. Agency for International Development.
The U.S. Defense Department estimates that 70,000 to 80,000 Russian troops have been killed or injured so far in the Ukraine war. This was said by the Pentagon's top official Colin Kahl. There are no current casualty figures from officials in Russia. Kahl went on to say that Russian President Vladimir Putin has not achieved any of his goals. "His overarching goal was to overrun the entire country, bring about regime change in Kiev, and wipe out Ukraine as an independent, sovereign, and democratic nation. None of that has happened."
Several foreign ships with grain on board have been able to leave Ukrainian Black Sea ports in recent days. However, the first freighter, the "Razoni," was diverted from its destination port of Tripoli in Lebanon to Turkey and was anchored off the Turkish coast early Tuesday morning, according to the Marine Traffic information service. In Lebanon, the buyer had refused to accept the corn cargo, which had been delayed since the outbreak of war, Ukrainian media reported, citing diplomats.
Federal Development Minister Svenja Schulze (SPD) warned against too much euphoria after the first shipments. "Grain prices have fallen slightly, but they are still at a high level," she told the "Rheinische Post" and the "General-Anzeiger." But she added that one could not be sure that Putin would not "continue to use grain as a weapon." The war had blocked Ukrainian ports since February. In July, the UN and Turkey brokered an agreement on safe exports of the important producer.
The European gas contingency plan to prepare for a possible halt in Russian natural gas supplies goes into effect this Tuesday. The plan calls for all EU countries to voluntarily cut their gas consumption by 15 percent from the beginning of August until March next year, compared to the average consumption of the past five years during that period. Against the backdrop of the Ukraine war, Russia has already drastically reduced its supplies to the EU.
Photo by Chuanchai Pundej
Author: Florence Jenkins
Email: Please use the Contact Form
Section: News, Admin
DeutscheDate is a new German dating site for professionals in Germany. No monthly fees, no minimum subscription period, no contracts, no tie-ins. Just a clean, simple, easy-to-use dating site for serious relationships.
Write a comment ...
Berlin police target 40 car rental companies
In Berlin, police are targeting several dozen car rental companies that have attracted attention with dubious practices...
Söder invites teachers to Bavaria
CSU leader Markus Söder wants to attract teachers nationwide to teach in Bavarian schools. "We invite you to come to...
Google parent Alphabet cuts around 12,000 jobs
Google parent Alphabet is set to become the next tech industry heavyweight to cut thousands of jobs, according to media...
Heil wants one year of paid training time for employees
Employees in Germany will be able to take paid educational leave during their careers in the future, according to German...
Biden declares weather emergency for California
U.S. President Joe Biden has declared a state of emergency in the state of California because of the ongoing winter...
Berlin Left demands law for safe housing
The Berlin Left Party is entering the decisive weeks before the repeat election on February 12 with a ten-point immediate...
Corona in Germany: Current number of cases from the RKI
The Robert Koch Institute (RKI) reported the nationwide seven-day incidence as of Tuesday morning at 68.3. That's...
Large majority favors free condoms for young people
In France, young people between the ages of 18 and 25 have been receiving condoms free of charge since the beginning of...
Violence often started from mask refusers
There were more than 2,000 assaults on employees on local and long-distance trains operated by Deutsche Bahn (DB) last...
Covid wave in China: Virus without a visa
There is great joy in the neighboring countries about the Chinese being allowed to travel again. But there is also fear of...
Number of acute respiratory diseases significantly declining
The number of acute respiratory illnesses in Germany has fallen significantly. It was most recently at the level of the...
All Corona samples negative on first flight from China
There have been no suspected cases in the new Corona checks for passengers from China. At Frankfurt Airport on Monday...
Verdi demands 3000 euros for public sector employees in Berlin
The trade union Verdi demands a one-time payment of 3,000 euros for each employee of the public service in the state of...
Employment agency assures punctual payment of citizen's allowance
The new citizen's income is to be paid out to needy people in Germany on time at the beginning of the year. Thanks to the...
Berlin's energy supply remains secure
Berlin's energy supply is secure - "currently in all sectors", according to the current "Situation Report on Energy...
EU states agree to freeze funds for Hungary
A large majority of EU member states have agreed in principle to freeze billions in payments from the European Community...
New regulations for immigration of skilled workers
The German government has agreed on new regulations for the immigration of skilled workers. The federal cabinet on...
Gas price brake to apply retroactively from January
In the gas price brake, citizens and companies are to be relieved retroactively for January and February 2023. So far, it...
Business »
Minimum tax brings even more money
The global minimum tax increases tax revenue in the world by an estimated 220 billion dollars (204 billion euros). This...
Pig farming: fewer than 600,000 animals in Brandenburg
The number of pigs kept in Brandenburg - as well as nationwide - has fallen to a low. According to preliminary results,...
Online shopping becomes a debt trap for many shoppers
The trend toward online shopping, which has been boosted by the Corona pandemic, brings with it a negative side: many...
More than five million work in the public sector
Following significant job growth in the public sector, the number of federal, state and local government employees has...
Exxon-Mobil takes action against excess profits tax
The Exxon-Mobil group is defending itself against the EU's plan to siphon off particularly high profits that have accrued...
Executive Board bonuses cause dispute at Lufthansa
Managerial bonuses are often a subject of dispute, and Deutsche Lufthansa now has a conflict over bonus payments to the...
Science »
2022 was one of the two warmest years on record
According to the German Weather Service (DWD), Germany experienced an "exceptional weather year" in 2022. According to the...
Test flight for NASA "Artemis" moon mission launched
After months of postponements, the crisis-ridden NASA lunar mission "Artemis 1" departed on Wednesday for a first test...
EU wants to tighten emissions trading
Consumers and companies in the EU will have to pay more frequently for carbon dioxide (CO?) emissions in the future....
Europe's first ecosystem with its own rights
The largest saltwater lagoon in the western Mediterranean is threatened with ecological collapse. Intensive agriculture is...
Global warming in Arctic much faster than previously assumed
Global warming in the wake of the climate crisis has progressed much faster in the Arctic than previously assumed,...
Deutsches Museum becomes fit for the future
The Deutsches Museum in Munich is one of the largest science and technology museums in the world. It has been undergoing...
Arts »
It´s festival time again!
After a break of almost two years due to the pandemic, the big summer festivals are taking place again. Long overdue! This...
Germany online dating just got a facelift
The Germany online dating scene is woefully lacking in two main areas - price and flexibility. German professionals, as...
A play on perspectives rejuvenates the harp
There can be few instruments as universally identifable as the harp, either by sight or more pertinently, sound. Indeed,...
How to play the American Powerball from anywhere
"Powerball," and can run into the millions, if not billions, of dollars! The biggest jackpot in history was a massive 1.5...
Bundesliga are favourites for 10 in a row but face an unlikely challenge
The German Bundesliga is back in full swing following the summer break where football fans filled their time by following...
German basketball players qualify for Olympics
The German basketball players have fulfilled their dream of the Olympics with an impressive energetic performance. The...
Travel »
Warning strike at BER
Due to a warning strike at BER, no passenger planes will take off from the capital's airport on Wednesday (January 25)....
China punishes South Korea over imposed Corona entry hurdles
For the first time, China has reacted with retaliatory measures against one of the countries that have imposed entry...
Travelers can demand money back because of Corona
The European Court of Justice (ECJ) strengthens the rights of vacationers in the event of Corona restrictions. Package...
Winter storm warnings in the USA
A winter storm that "only happens once in a generation" is threatening to throw off the Christmas plans of millions of...
Five new underground trains are now running through the city
Five new subway trains are now in service in Munich. But laymen might have a hard time recognizing them. Visually, the new...
British airports plan new rules
British airports plan to abolish rules on the amount of liquids in carry-on luggage within the next two years, according...
Opinions »
Sadness In Ukraine
David, a local Munich resident, originally from Ireland, explains the motivation behind the writing of his latest...
Post Corona Blues
Like many husbands I have a pretty small suitcase. Well, small, anyway. All the better in this day and age, I hear you...
Earth Day still focused on immoral climate crusade
Today is Earth Day, an event that has been almost entirely hijacked by the ridiculous and dangerous climate change...
Facing the Future
In the olden days, before coronavirus, robbers used to wear masks when they made their way into banks to make off with the...
Until a few minutes ago, I thought the letters VHS meant Video Home System, one of the two competing video systems of my...
V is for Vaccine
My arm has often felt like a pincushion. A good example of this was during the SARS epidemic in 2002, when both myself and...
Health Insurance Germany
Health Insurance in Germany is compulsory and sometimes complicated, not to mention expensive (see here for our PKV Cost comparison tool). For our guide on resources and access to agents who can give you a competitive quote, just click below. Alternatively, check out our useful private health insurance FAQ for Germany
Health Insurance 101 »
More software Jobs in Germany »
Read more articles from thegermanyeye.com
www.thegermanyeye.com
Local Munich Jobs & Software Developer Roles in Germany
WEB SOFTWARE DEVELOPERS at Major German Employer
Node.JS, AngularJS, Ionic 3 Positions Available at Munich Software Company
Software Engineer C++ - Real Time Communication Client at TME Recruitment
Senior Software Engineer - JavaScript at TME Recruitment
Junior IT Consultant GRC (Governance, Risk & Compliance) at TME Recruitment
Senior Software Engineer – Audio Signal Processing at TME Recruitment
QA Test Engineer at Major Company at Major IT Company
City Maps Researcher at Lionbridge Technologies Inc.
Search Engine Evaluator at Elizabeth
System Project Manager, Chip Card and Security at Munich-based IT company
Field Quality Engineer at Munich-based IT company
© The Eye Newspapers 2010 - 2023 | About Us | Impressum | Contact Us | Disclaimer | Sitemap


We are delighted to present the following five pre-conference events. For submissions to the individual events, please consult the respective websites as soon as available!
Designing multisensory experiences is fascinating academics and practitioners alike. Recent advances in interactive systems and sensory devices also increasingly captures the attention of artists, museum curators, and creative industries, who aim to explore the opportunities of new and emerging technologies to create novel and unexpected experiences. The main objective of this tutorial is to increase the ISS communities' awareness of design spaces beyond audio-visual and tactile interactions. In particular, we will provide an overview on olfactory design spaces and opportunities building on our expertise and experience working on multisensory design projects including the Tate Sensorium, Famous Deaths, Multisensory VR experiences.
Recent advances in printed electronics have enabled the creation and fabrication of thin,flexible and customizable interactive surfaces. These interfaces create opportunities for a variety of novel interactions leveraging on the unique form factor, flexibility and customization. Previous research has demonstrated the possibility of customizable multi-touch sensors, conformal on-skin interfaces and printable shape changing displays. The aim of this tutorial is to acquire basic conceptual and practical skills in developing interactive surfaces with printed electronics. Topics and learning outcomes of the tutorial include: personalized digital design and fast prototyping of printed electronics, basics of different sensors and actuators and developing sample application scenarios with printed interfaces.
Do you want to learn more about analyzing qualitative data? This half-day tutorial is designed for beginning to intermediate audiences. We will focus on the basic methods for analyzing qualitative data using a mixture of talks and hands-on activities. In particular we will consider closed and open coding as well as clustering and categorizing coded data. After completing this tutorial, you will gain a richer understanding of the benefits and challenges of qualitative empirical research and, more specifically, how to analyze qualitative data.
After 20 years of research, it is unclear what role the tabletop should play in the home or workplace. Progress has been made towards hardware and software interfaces, connectivity with nearby devices, and understanding human behaviour on and around the table — yet, in practice tabletops see limited use. This workshop seeks to explore the development and use of tabletops from historical, technical, and social perspectives. Workshop goals include synthesizing opinion and experience from new and established researchers on directions for tabletop research, and an open discussion of questions such as to what applications are tabletops best suited? and how can tabletops be better integrated into larger workflows and digital ecosystems?
Nowadays, there is a growing evidence that people perform their daily tasks by using multiple devices at a time, such as smartphones, tablets, laptops, smart TVs, etc. The distributed interactions involved in these multi-device environments pose new challenges that deserve to be explored. In this sense, the main goal of this workshop is to join people together to discuss and advance the current state of these new technological ecosystems resulting from the existence of many heterogeneous devices and interaction mechanisms.
Last modified: October 11, 2017 10:42:11.


On behalf of Brian D. Roman, Attorney at Law on Thursday, August 20, 2015.
Massachusetts currently has some of the toughest gun laws in the nation. As part of these regulations, the Massachusetts legislature has granted your local police department considerable authority with regards to whether or not you should be allowed to possess firearms.
You need to know that you may be forced to surrender your weapons even if you have not actually been charged with a crime involving domestic violence. In fact, an individual who files a restraining order alleging that you have engaged in some manner of harassment could compel a court to order the surrender of your weapons.
Previously, that order could be rescinded and your guns and permits would be returned to you if a judge determined it might be appropriate. However, recent changes in the Massachusetts gun laws now mean that your Firearms Identification Card or License to Carry permit will remain suspended as long as any restraining order against you is still pending.
You should know that retaining legal representation in cases where your right to possess your weapons have been infringed can be vitally important to restoring those rights. For example, a criminal defense attorney can advocate on your behalf during any hearings regarding the underlying restraining order. An attorney can also collect proof of your prior good behavior and petition the court for the restoration of your gun rights privileges.
Additionally, you also need to know that police throughout the Commonwealth has the authority to confiscate your weapons from you based on their reasonable suspicion that you may be a danger to others. An attorney experienced with Massachusetts' gun rights reinstatement procedures can assist you in seeking the recovery of your firearms.


Worldwatch's Director of Climate and Energy, Alexander Ochs, recently returned from a trip to India more optimistic than ever about India's role as a global leader in sustainable development. Through numerous meetings and discussions with governmental and non-governmental representatives from the Indian energy sector, Ochs advanced the work of Worldwatch's India Program and laid the groundwork for future partnerships. And he returned with hope and enthusiasm both for India's promise for innovative leadership and Worldwatch's potential role in this transition.
This optimism is due in large part to what Ochs observed as a dramatic shift in attitude and approach towards energy resources and economic development in India. For the past two decades, India has shared the belief with much of the World's developing nations that they held the right to support development with fast and cheap energy resources. Much like the United States, United Kingdom, or Germany, India would have an industrial age of rapid development supported by abundant and easily-utilized resources like coal and oil, with some regrettable but necessary negative impact on the local and global environment. The prime goal needed to be quick development at whatever ecologic expense. While this remains a widely-held paradigm, it is no longer driving the dialogue amongst a large portion of India's policymakers and business leaders. Today, India chooses to take an active role as one of the biggest global energy markets.


Today, the progressed communication technology has brought us all closer to each other. It is undeniable that presently, an important mechanism that makes it all possible is smartphones together with the internet. As soon as we start on the subject matter of the internet, it is often tough to identify good & reliable mobile phone network provider.
On the list of big players, one of them apparently stand apart even more than all the rest, that is definitely Digi. Although the brand arrived after Celcom as well as Maxis in 1995, Digi was the first one to introduce a totally digital mobile network within the local consumers. Nowadays, Digi offers great smartphones, internet packages, and international calling to all of us.
If you're looking around to purchase a mobile prepaid plan, it is strongly suggested that you just simply try Digi out. As there is no commitment, how about give their prepaid plan a shot and experience fast mobile data with 4G LTE network, plus 1000 minutes worth of free call time to Some of your Buddyz.
Besides, there's also a wide range of postpaid plans if you like to make payment on a monthly basis and not being required to top-up their mobile prepaid repeatedly. Yes, postpaid plans formerly were expensive, but that is history. At as low as RM50, you may get yourself a Digi postpaid plan already!
Having a great plan and blazing fast 4G LTE internet is nothing without a high-performance device that couples it. We're talking Apple's latest smartphones here, like the iPhone 8 or the one before it, iPhone 7. You can easily get your hands on an exciting new smartphone after you sign up for Digi's postpaid plan.
For Android lovers, do not frown. Digi also provides a range of Android phones, for instance, the Samsung Galaxy S8 and a lot more models from Vivo and Huawei to choose from. What's more, every smartphone prices are much cheaper when compared to the retail price, and all you may need in exchange is to get their postpaid plan.
Still, it is unarguable that today, we depend more on the web to connect, a lot less to make calls and send messages. Recognizing this, Digi has ensured that each its plans give the best internet package to get at this time, whether it's to obtain a postpaid, prepaid, or perhaps for the high-speed broadband package.
Nevertheless, we have a relatively special need to stay in contact with companies or families abroad. This is how Digi's roaming and IDD plan enters the picture. For international calls, Digi offers the lowest IDD rate to Thirty-six nations. Before you can enjoy that, dial 133 using the Digi SIM card.


January 4th, 2005 a police officer named David Flory brings his 2 1/2-year-old, 175 lb. St. Bernard, Tank, and his 3-month-old Great Dane, Ava, in for training. Dave informs me that he has read my website and found it quite unbelievable where it boasts that I can train a dog within 20 minutes to sit still while toy sponge balls are bouncing off of its head. In fact, he told me that if it were not for the fact that he was referred to me by another police officer, Sean Hanley, he would not have even bothered to call me. My claim was too unreal.
I said. "Look at your watch and time me."
I informed him that I was going to take my time; which I did.
When the 6th ball bounced off of his gangly Great Dane puppy without it flinching, I asked him to tell me how long it took.
He replied. "One minute and 25 seconds."
To this, I responded, "Now just think if I would have written that in the website."
Dog training is not difficult nor is it meant to be difficult. If you know how to do it, it is easy, gentle, fun, and rewarding. Dog training is not a secret. It is a science-based off of "Canine Sociology." It is perfect, true, and foolproof. Our job is to share the 10,000 plus dog study and knowledge that we have gained over the past three decades with our customers so that they too can understand what makes the dog whisperer the dog whisperer. It is not psychic or mystical. It is science. Proven science that ALWAYS works and cannot be refuted. A science that makes the ownership of a dog and the life of that dog more rewarding and enjoyable.
Let us teach you. Give us one minute and 25 seconds and you too will understand.
"Dog's Best Friend helped us train our rescue Belgian Malinois that came from an abusive background. Their methods are gentle, humane, and effective. They are incredible dog trainers. Unlike other facilities, they have many methods and don't teach 10 dogs the same thing at once in a 'one size fits all' session. They do guarantee their training methods. Our dog went from cowering to jumping through hula hoops and climbing ladders to extremely impressive obedience."
"Dog's Best Friend is absolutely amazing. Before choosing this program, we sat in on other classes (all the big names in SE WI). Dog's Best Friend was hands down the best trainers and their program was the most thorough and in depth. They taught us how to train our dog and had us practice in class with other dogs around. They mix the classes so you get to see advanced dogs along with puppies. They let you see what your dog can become and where you came from. Because of that we got to see them in action in every type of situation from aggressive dogs, to overly friendly, to lazy. Their honest, straightforward, real-world advise and knowledge is unsurpassed. Not only that, but they have a way with dogs that I've never seen before (and I've been around animals my whole life). They have several programs to choose from. I can't say enough good things about them and their skills."
Many times a client will ask for References. Dog's Best Friend allows potential clientele the opportunity to see how frequent our business is rewarded simply through word of mouth. Numbers cannot tell a lie. We want everyone to see how often sheer satisfaction by one customer has led to the sign up and satisfaction of another customer. (Note: This section does not include any of the references that were given in the 1980s or 1990s. We did not start logging references until after 2002 and we stopped adding references to this page in 2008) WOW!!!
Jeanne Ezzell for self x2 "Louie"
Terry Evans for self x 2 "Diamond"
Nancy Flatley for self "Dexter"
Karen Flory for self "Titan"
Jennifer Foster for Self x2 "Miles"
Franklin Vet for Leanne Deptula "Rocco"
Franklin Vet for Leanne Deptula "Gypsey"
Tina Froh for Self x2 "Bella"
Derrick Funk for self "Mila"
Rick Gawronski for self x2 "Abby"
Neal Gehlings for self "Amee"
Amy Geske for self "Lily"
AmyGigure for self x 2 "Budge"
Troy Goede for Self x2 "Bud"
Dave Goglio for self x2 "Jess"
Carol Goodfellow for self x2 "Lady"
Katie Graebner for self x2 "Lila"
Jennifer Granholm for self "Layla"
Robin Growth for self x2 "Ranger"
Lynn Grzechowiak for self x 2 "Diamond"
Sean Hanley for Dave Flory "Tank"
Sean Hanley for Dave Flory "Ava"
Sean Hanley for Kathryn Cahill "Guiness"
Sean Hanley for self x2 "Molly"
Paul Helminiak for Kathryn Cahill "Newmann"
Jeri Hokenfeldt for Self x2 "Henry"
Amanda Houle for self x2 "Roxanne"
Don Huber for self "Riley"
Jessica Huven for self "Ramsey"
Lisa Jansen for self x2 "Abby"
Lisa Jansen for self "Charlie"
Denise Kaczmarek for Self x2 "Cedar"
Denise Kaczmarek for self "Autumn"
Stephanie King for self x2 "Fat Lenny"
Wes Kitto for Self x 4 "Reno" & "Dewey"
Jody Klinghammer for self "Blue"
Kristine Knutson for self "Fin"
Mary Kochanski for self "Murphy"
Amber Kowalski for Self x2 "Forest"
Bill Krisoshein for self "Bama"
Barbara Krueger for self "Brigitta"
Julie Krueger for self x2 "Brewski"
Jeff & Julie Kruse for self x 2 "Bently"
Susan Kruse for self x2 "Belle"
Bill Kusmierez for self "Peeve"
Kurt Lacina for self "Bear"
Jhousy Leon for self x2 "Mia"
Chad Lehman for self "Gabby"
Jean Leinberger for self "Chopper"
Arnie Leunders for self "CoCo"
Marilyn Spencer for Frederick "Josie"
Pilar Sperenza for self "Leroy"
Janay Stafford for self x 2 "Dori"
Earnest Stewart for Self x2 "Pebbles"
Patti Sumner for self x2 "Pogo"
Bret Tarnowski for self "Suki"
Annemarie Tomurat for self "Remington"
Debbie Trad for just about every dog that goes to Franklin Vet /// 2 FREE UPGRADES!!!
Debbie Trad for Joann Schmitt "Chloe"
Debbie Trad for Joann Schmitt "Freckles"
Debbie Trad for Lee Anger "Erwin"
Deb Trad for Lee Anger "Hazel"
Ron Urbanick for self x 2 "Belle"
Jeff Van Ess for self x2 "Cooper"
Mike Van Oukerk for self x2 "Tobin"
Waukesha Animal Hospital for Karen Polinske "Joy"
Waukesha Animal Hospital for Karen Polinske "Cole"
Chris Weber for just about everybody at the Dog Park /// FREE UPGRADE!!!
Stacy Wendt for self "Willy"
Matt Williamson for self x2 "Oreo"
Monique Woodard for self x2 "Nibbles"
Joan Wroblewski for self "Dozer"
Wendi Zagorski for self "Darla"
Joseph Zalewski for self x2 "Sheba"
Marco Zoccoli for self x2 "Daisy"
Cheryl Zywicki for self x2 "Bailey"
Carrie Anderson for self "Shelby"
Angie's List for Russ Gonnering "Ceilidhi"
Angie's List for Russ Gonnering "Gordie"
William Appazeller for self x 2 "Xian"
Lisa Ariens for Self x2 "Oliver"
Erica Aungst x2 for Self "Uno"
Erica Aungst for self "Paris"
Dale Barbeau for self "Ottis"
Jim Baumann for self x2 "Zoe"
Kelly Beauparland for self x2 "Bentley"
Amber Beckwith for self x2 "Zoe"
Sue Bendanz for Kathleen Qwillern "Chase"
Sue Bendanz for Kathleen Qwillern "Run"
David Berther for self "Ellie"
Rachael Berzychi for self x 2 "Chester"
Kelly Beuth for Self x2 "Taz"
Kelly Beuth for self "Gunner"
Yael Blatt for self "Daisy"
Ben Bishop for self "Twende"
Don Borkowshi for self x2 "Kaiser"
Sarah Bouche for Self "Jada"
Jodi Bowers for Self x 2 "Angel"
Milo Bozovic for Mia Bozovic x 2 "Beamer" & "Mercedes"
Pat Brefka for self x2 "Charlie"
Dawn Brimeyer for self x2 "Wilson"
Tim Burch for self "Gorgan"
Jeff Butzlaff for self x 2 "Ozzy"
Andre Callender for self x2 "Fletcher"
Center for An Health for Elizabeth Sohnle "Blue"
Center for An Health for Elizabeth Sohnle "Olivia"
Cudahy Vet for self "Jasper" and "Jessie"
John Craine for self "Teaco"
Dominic Da Quisto for self "Fredo"
Ann Davies for self "Karma"
Cheryl Douthit for self x2 "Bruister"
Heather Drake for self x 2 "Smokey"
Heather Drake for self x 2 "Akira"
Christina Dusso for self x 2 "Ruger"
Chris Elliott for self x2 "Abu"
Elm Brook Vet for Gary Balinkoff "Cody"
Elm Brook Vet for Gary Balinkoff "Ella"
Jen Lien for Self x2 "Stella"
Jan Livingston for Self x2 "Summer"
Kathy Lohr for self "Riley"
Susan Lorentzen for self x1"Rowdy"
Kim Lougie for self x2 "Ben"
Kim Lougie for self x2 "Parker"
Arnie Luendra for self "CoCo"
Lesley Lynch for self "Maxwell"
Phil Magestro for self x 2 "Daisy"
Jhennifer Menting for self "Scarlett"
Sharon Murillo for self x2 "Tuts"
Christine Murphy for self "Daisy"
Mike Murphy for self x2 "Shannon"
Tina Nelson for self "Blue"
Joanne Nordstrum for self x2 "Kuma Chan"
Roseanne Norwood for self x 2 "Marwan"
Roseanne Norwood for self x 2 "Lela"
Dena Ottaway for self x2 "Buddy"
Zerda Palmer for self "King"
David Paschke for self x 2 "Bert"
David Poker for self x2 "Sadie"
Henny Postulart for self x2 "Diva"
Rhonda Printz for self x2 "Rosie"
Mike Pyter for Kathy Steinmez "Zoe"
Mike Pyter for Kathy Steinmez "Peyton"
Adam Rausmann for Chris Clauser.
Tina Reiley for self "Maci"
Gordana Robey for self x2 "Sam"
Lisa Roffers for self x 2 " Victor"
Lisa Roffer for self x2 UPGRADE "Victor"
Lora Ruedt for self "Bella"
Jay Sakwinski for self "Harley"
Ken Sax for self x2 "Chester"
Mark Schoenecki for self x 2 "Sota"
Kelly Schwartmiller for self "Sophie"
Chris Schmus for Jim Schmus "Lucy"
Chris Schmus for Jim Schmus "Luckee"
Michelle Schmus for self x2 "Sulley"
Brian Schultz for self x2 "Cloey"
Brian Schultz for self x2 "Joey"
Becky Sheanne for Amy Schram "Sam"
Becky Sheanne for Amy Schram "Molly"
Jennifer Shutta for Self x2 "Bailey"
Jennifer Shuta for Self x2 "Dayne"


text:
Q: Manage Caching for certain elements in TYPO3? I have some complex menus that take (nearly) literally forever to render.
I use nc_staticfilecache, but for editors and logged in users, it would be great to be able to NOT re-render these menus at every page load.
I was already thinking about rendering the menu on a special doktype, fetching the rendered menu with a cron job, and storing it into the database or a file, which could then be used in the template.
On the other hand, is there an existing method for that case?

A: The caching framework can handle this. There is a property stdWrap.cache which does exactly this Typoscript-Caching. Awesome!
Here's an article in german that departs exactly from my use case (megamenus)
http://www.typo3.net/beitraege/typo3-cache-befehl/
I've copied the poster's code here, simplified it a little and translated the comments:
/**
 * @author Oliver Thiele
 */

lib.megaNavigation = COA
lib.megaNavigation {
    wrap =
|

    /**
     * Doesn't need to be cached, not slow
     */
    10 = TEXT
    10.value (

            Links

Externer Link

    )

    /**
     * Shouldn't be cached, highlighting is needed
     */
    20 = HMENU
    20 {
        // ... Normale Menügenerierung
        special = directory
        special.value = 1

        1 = TMENU
        1 {
            NO.wrapItemAndSub =
|

            # …
        }
    }

    /**
     * That's the slow part we want to be cached
     */
    30 = COA
    30 {
        stdWrap {
            cache {
                /**
                 * Use language as key to identify different localisations
                 */
                key = meganavigation_contact_{TSFE:sys_language_uid}
                key.insertData = 1

                // tag can be used for later clearing
                tags = main_navigation, tx_slowextension

                /**
                 * must be seen in context of page caching
                 */
                lifetime = 3600
            }
        }

        # This would be the menu - could also be nested hmenus with content etc!
        20 < plugin.tx_slowextension_pi1

        /**
         * For testing: Timestamp
         */
        30 = TEXT
        30 {
            data = date: d.m.y H:i:s
            wrap =
|

        }

    }
}

The docs are on http://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Cache/Index.html


AllMax IsoNatural whey – should you use it? Is AllMax IsoNatural whey a good protein powder or are there better protein powders out there? I use whey at least three times a week, and have been pretty happy with Optimum and Biotest brands and have been using them for years. While their protein powders are quality products (I would rate Optimum a little higher than Biotest), they are not perfect. But what about AllMax Nutrition IsoNatural whey? I will get to it in a second.
I always wanted to find a natural protein powder without anything added – i.e., no sweeteners of any kind (even the so-called natural sweeteners), no vitamins, no fiber, no carbs, no natural or artificial colors, no flavor enhancements (even if they are natural), etc. Optimum's Natural Casein and Optimum's Natural Whey came close, but the former contains 7 grams of carbs from honey powder and evaporated cane juice. The latter contains 5 grams of carbs, and they both contain "natural flavors" and other ingredients.
As for Grow from Biotest, it contains 4 grams of carbs, natural and artificial flavors, sucralose and other ingredients that I do not need in my protein shake. They also have a low-carb version called Metabolic Drive, but it also contains about 4 grams of carbs and a number of artificial ingredients including sucralose, which is an artificial sweetener.
I have discovered AllMax IsoNatural whey by accident. I was searching through a huge database of protein powders and had to double check my results, because I could not believe my eyes. It was really a beautiful thing and something you rarely see today. I am talking about an unbelievably short list of ingredients. I was starring at the label for AllMax Nutrition IsoNatural whey in complete disbelief.
I was looking at only one ingredient – whey protein isolate – and nothing else. No flavors, no lecithin, no cellulose gum, no sweeteners of any kind. Nothing! Just whey protein isolate. Oh, and only 1 gram of carbohydrates, which occurs naturally in whey.
Now, while I was excited to find what I was looking for, I quickly became skeptical. It just sounded too good to be true. My main concern was the taste and how well IsoNatural would dissolves in water. To be honest, I thought it would taste like chalk and it would not mix well with other ingredients in a protein shake. I was wrong.
IsoNatural has a completely neutral taste, which is perfect. If you add some peanut butter to it, it will taste like peanut butter. If you add a banana to it, it will taste like banana. It quickly dissolves in water and mixes great with other ingredients. As I have already mentioned, one serving of IsoNatural contains only 1 gram of carbohydrates. In addition, it has 0 grams of trans fats, 0.2 grams of fat, 118 calories, and a whole bunch of amino acids, including all essential amino acids and 3 branch chain amino acids. IsoNatural is made in Canada, but it is sources from the United States, not China, which is another plus. Many protein powders are sourced from China, which explains why most companies that make protein powders do not disclose or advertise who their suppliers are.
In short, in my opinion, AllMax Nutrition IsoNatural is a perfect whey protein powder. But what about casein, right? Whey is great post-workout because it absorbs quickly. Casein, or a blend of whey and casein, is a better choice as a general protein supplement. Unfortunately, AllMax Nutrition does not make casein, but I have heard that they are working on it. I hope it will be as good as whey.


How to cover up facial flaws by clever use of the foundation?
Q: The tips about camouflaging the shape of the face by clever use of the foundation were indeed very interesting. Are there any other tricks one can use to cover up facial flaws?
A: There are many such tricks that can be used for the deception. You can cover up almost all defects if you use the foundation in the right manner. Here are some tips for the right use of foundation.
1. To make a look nose longer, darken the sides with a vertical line.
2. To shorten a nose, use a darker touch on the tips.
3. To hide a double chin, darker foundation should be used on the neck, starting from the lobes of the ears and along the jaw line.
4. To conceal bags under the eyes, a light shade should be used on the lower eyelid, or a dab of oil can also be used.
5. To widen the distance between the eyebrows, use a light shade between the eyes. This requires great skill of hand and you must be careful that the darker shades blend well with the lighter ones without leaving any line of demarcation. Practice on the face before you step out with the makeover.
What are the facial flaws?
Alright, you wake up in the morning. You go to the bathroom and start brushing your teeths. Suddenly you look at your face directly in the mirror and notice those tiny pimple, dark spots, some more lines around eyes. Can you think of something which you can do apart from covering your facial flaws?
Do you get the skin dry in winters, when the air contains less moisture, which feels tighter all around? How to tackle is to apply a good quality, richer, moisturizer. Always take care while purchasing the moisturizer. Look for hyaluronic acids and glycerines which has the tendency to bring moisture. Also check for ceramides which helps lock the moisture inside the skin.
Care should be taken if you see the symptoms of dryness only in some areas. It could be warning sign of skin condition known as seborrheic dermatitis. Hydrocortisone cream helps you cordone off the dry patches. In severe cases, consult your doctor. Sometimes, if you put a humidifier in your room, it will help keep your skin moist and good looking.
Sun exposure can cause your skin to carry the tiny dark spots. A daily sunscreen regime is a must through out the sunny days along with retinol. If the dark spots you have are not easily going, then consult an expert dermatologist who might prescribe you the hydroquinone based skin cream.
Well, the after effects of the pimples is what blemishes are. Use a soap that has salicylic or lactic acid. Do not forget the moisturizer since it keeps your skin hydrated and good looking.
What are the ground rules of selecting a foundation? How does one use coconut for hair? How can I lighten the colour of my lips? Any Sugestion for tiny dots on my nose?
Short Hair style for thin blonde hair? Need a New Hairstyle Urgently? How the formation of wrinkles can be delayed? Why Do I Get Acne?
What are the hair problems commonly faced by the girls in their twenties?
Can the goodness of Aloe Vera be used for the hair, too?
How to make rough hands softer?
Can I camouflage facial defects with a foundation?
Haircut for Very Long Hair?
How to make jawline softer?
What are the most common scalp problems?
How can I get rid of stretch marks on my stomach?


Expected yield: Indoors expect 450-550 grams but for the advanced grower a lot more possible. As an outdoor plant or G/h plant it can become exceptional.
Flowering period: In general flowering terms it will finish in 8 to 11 weeks, indoor. In the northern hemisphere it will only finish in southern parts like Spain, Italy, France etc... in October. In the southern hemisphere it will finish in April/May.
Click here to visit "Mango Haze" forum!


Richard Chang, "Libraries evolving in age of Internet", The Windsor Star, Friday, June 24, 2011.
Brian Cross, "LONG-TERM BEDS EMPTY AT POSH HOME", The Windsor Star, Friday, June 24, 2011.
The word for today is "inculcate".
What part of speech is "inculcate"?
Define "inculcate" and use it in a sentence that demonstrates its meaning.


Add some contemporary styles to your wardrobe rotation at Shopbop and save with these discounts and deals.
Get up to 40% off sale items at Shopbop.
Get 15% off your first order when you sign up to Shopbop's mailing list.
Get FREE shipping on orders over $100 when you shop at Shopbop. T&C's may apply.
What you need to know about Shopbop?
Shopbop is the perfect place to source contemporary on-trend clothing, shoes, bags and more. The shelves are stocked with modern, stand-out styles for fashion-savvy girls. Shopbop started out as an online retailer with a primary focus on denim back in 2000 and today, this store is regarded as a go-to for trendsetters and fashion followers alike.
Explore the catalogue of cool and quirky wardrobe options online today and secure a great deal with the amazing, checked and verified discount codes and promos we've rounded up.
How do I use my discount code at Shopbop?
How do I use my Shopbop discount code?
Browse the online catalogue until you spot something you adore. Trust us, it won't take long.
Click on the snapshot of the piece you want to buy the be redirected to the product page.
If you're done shopping click "Checkout".
Click "Apply code" to validate your discount.
Then hit "Checkout" to complete your purchase.
Free express shipping on orders over US$100.
30-day returns accepted, no questions asked.
Massive catalogue of designers accessible through a single site.
No option to pay in SG$. Whilst prices are shown in SG$, all transactions are processed in USD which may result in you incurring a currency conversion charge, depending on who you bank with.
How can I get Shopbop free shipping?
Shipping at Shopbop is free of charge on all orders over $100. Your order will be delivered by an express courier within 2-4 working days. If your order is below $100, a delivery charge of $10 will be applied to your shopping cart at checkout.
What forms of payment do Shopbop accept?
What is the Shopbop returns policy?
If you're not completely head over heels with your order when it arrives, you'll have 30 days from the date of receipt to return unwanted items in original condition complete with all tags intact.
Online returns can be arranged via DHL for a fixed price that will be deducted from your total refund. Your return will be collected from your door and delivered back to Shopbop. Once your return has been processed and a refund issued, you can expect to see the funds back in your account within 5 working days.


text:
Book Review by Stephen Bull
Source: Issue 9
Autumn, 1996
View Contents ▸
Issue 9 is available
to buy in print edition ▸
Get the Digital
Edition of Source ▸
Issue 9 Autumn 1996
Published by: Bluecoat Press
In some ways the work of photomonteur Peter Kennard has turned full circle. When he began making politically charged paintings in the sixties he seemed to be aiming for the small elite of a gallery audience. The escalation of the Vietnam war and the revival of a radical European Left in 1968 led him to reconsider his medium. Paint retained a seductive quality, perhaps inappropriate for the revolutionary revelations of unsavoury events that he now felt should be shown.
The medium he turned to, photography, can be seductive too, but when chopped up and mutated into photomontage, a sometimes dirty, cobbled together quality emerges. Often you can spot the join. Thus as well as revealing political wrongdoing, photomontage can also disclose its own constructed nature. To Kennard's most obvious predecessor, the German photomonteur John Heartfield, working against the rise of fascism in thirties and forties, this aspect of photomontage was liberating. It suggested to the readers of the left wing magazines in which his montages appeared that rather than being the work of a unique genius, forceful and challenging images could be created by anyone. Crushed Missile 1980
Kennard also brought his imagery to the masses. In the seventies and eighties his most famous anti-nuclear montages appeared on posters and postcards, in papers and paperbacks. The most successful were the most simple. The ones that could be appropriated and reproduced. Crushed Cruise, his powerful 1981 image of an isolated fist bending a flaccid missile, was taken up by CND and appeared on placards and badges. Such symbols seemed ideal for the forms of protest that occurred throughout those decades.
While Kennard continues to make work for such reproduction, the nineties have seen him concentrate once again on deliberately presenting his work to a more selective art audience. Perhaps this is a reflection of changing times. Possibly, in the era of New Labour, marches and placards can all too easily be dismissed as archaic forms of protest. Maybe the use of galleries and posh publications is a more direct route to reaching the unconverted.
Photomontage often relies on a combination of incongruous elements and there have been few recent sights more incongruous than that which confronted visitors to Kennard's show Welcome to Britain at London's palatial Royal Festival Hall in 1994. The expensive cafes and soporific jazz quartets found themselves drowned out by a huge wooden tidal wave of shattered placards and scattered pallets that covered one side of the Hall. On closer inspection it became apparent that the piled up debris was haunted by the vague, shadowy traces of hands, bodies and faces. Accompanying text and recorded poetry related these vestigial images to the unseen (or ignored) homeless people who sleep on pallets and scrape an existence together in the area around the Hall. Newspaper 8 1994
For Kennard's 1995 exhibition Our Financial Times (which emphasised the links between the arms trade and third world debt) the placards reappeared, filling the Gimpel Fils gallery. It was as if the ghosts of those eighties protesters had marched through, leaving their splintered signs behind. This time there were also pictures on the wall, framed in roughly-hewn wooden boxes. Here the phantom hands materialised again. But while in Welcome to Britain they were transparent and waving for help as they sank into the detritus, the hands had now become more tangible talons, desperately, angrily attacking the pages of The Financial Times upon which they were printed.
Hands, an effective symbol in any visual medium, have always been a common motif for montage. In an early Heartfield poster, made for the Communist party, a hand with fingers spread wide reaches out towards us. The pictures primary intention is to grab our attention. A further point is to suggest the hand as an instrument of unity and power: 'The hand has five fingers! With five you seize the enemy'. It acts as an all-embracing icon, bringing together the Communist party and the viewer on the other side, invited to join. This image was used on the cover of David Evans and Sylvia Gohl's 1986 survey Photomontage: A Political Weapon. Four years later Kennard chose to reproduce his montage of two hands clasped together across the Berlin wall on the front of his first major book Images for the End of the Century.
The claw-like hands from Our Financial Times have now resurfaced on the cover (and virtually every other page) of Kennard's new publication UNWORDS. This small but sumptuous volume is divided into four sections, each featuring snatches of text snatched at by the hands. The first articles are taken from the United Nation's Universal Declaration of Human Rights. The next segments words are extracted from resolutions made by the UN Security Council to aid the Bosnian people. On one double page here a hand convulses violently into a dark, bloody blur. The Financial Times reappears, this time alongside The Wall Street Journal for the third section. Finally, all the previous texts are combined and the hands become buried beneath a palimpsest of words and figures. Both image and text suffer. The UN's words, proven ineffective and linked to market forces become meaningless empty rhetoric; 'unwords' in short. The hands fail to grasp the words they reach for. They struggle and disappear, like the millions of massacred Bosnians still unnaccounted for, or the unavenged anti-Shell activists murdered by the Nigerian government. Yet, as we strive to hold open the tightly bound pages of the book our own hands seem to join with those on the paper.
Unwords is packed with such parallels and paradoxes. After turning the pages of the book, with its reproductions of newsprint and what look like unfixed photocopies, it almost feels as though our fingers should be dirtied, stained with ink. But the high quality paper means that this is far from the case. Unwords is both seductive and repulsive. Its lavish production belies the disturbing nature of its subject. Yet the qualities of the book encourage continued reflection on the issues. We are living in an age where the British government resorts to crude photomontage in a shallow attempt to make the leader of the opposition look like the Devil. Compared to such diabolical drivel, the thoughtful arguments of Unwords and Kennard's other recent works are infinitely more persuasive in their depth.
Other articles by Stephen Bull:
Issue 12: August Sander's Mission: Impossible [Review] ▸
Issue 30: Goodbye Golden Wonder [Review] ▸
Issue 66: Who's Slick Now? [Review] ▸
Issue 67: Tourism and Time [Review] ▸
Issue 67: Books Made Me: Stephen Bull [Feature] ▸
Other articles on photography from the 'Photomontage' category ▸


There is the belief that dreams are ideas within the unconscious mind that push their way into the conscious mind. This Freudian classification of dreams is insufficient because it creates a "tight box" around what we think dreams are. Thankfully, there are writers like Helene Cardona that move beyond this box in their work. Similarly, Cardona's poems challenge the narrative, often found in Western cultures, that sees human beings as dominant over and against all other animals. Left unchecked, this narrative creates separation between human beings and animals that, at the core, justifies and allows for the extinction of the latter. One should read Helene Cardona's Dreaming My Animal Selves because of the refreshing treatment she gives the subjects, dreams and animals.
There is the sense in Cardona's work of a reality within dreams that human beings need to tap into, in order to live fuller lives. She declares in Pathway to Gifts, "The dream opens forgotten realms. I think that's what time is" (35). The idea of hidden treasures experienced in dreams is shared in From the Heart with Grace.
….in dreaming lies the healing of the earth.
forgiven. In dreaming is the Divine created (22).
It is also in dreams that we interact with animals in ways contrary to the "norm." In Night Messenger, Cardona writes, "Like the penguin, I lay on a leaf, let the river transport me, knowing I've entered another world" (31). The beauty of this piece is that the dreamer does not want to be in control. This lesson is learned from the penguin who serves as teacher. Therefore, a more free self comes about from the interaction with the animal. Wisdom spills from the mouth of a crane in Isles of the Immortals, "Animals are allies. All is kin, one consciousness"(44).
Cardona admits that she is not reinventing the wheel in calling attention to the need for unity between human beings and the natural world. Other poets have done what she is doing.
the forest, and Yeats, reflect the light.
In this pool I turn into fish (In Dreams Like Rain, 49).
In a more contemporary context, one can put forth Mary Oliver as a poet whose work reflect the move toward wholeness of life. In talking about the process of writing, Oliver said she likes to take walks and gets inspired to write during the walks (i.e. when she observes an animal or flower). On the other hand, it is not the waking world but sleep that serves as inspiration for Cardona. To drive home this point, Cardona's Dreams Like Water is quoted here in its entirety.
the last chance to anchor my boat (17).
It is interesting that Oliver and Cardona take separate paths to reach the same conclusion, that of the need for the wholeness of life. This happening shows astute inventiveness on the part of Cardona.
Dreamer is one of the longer poems in the collection, and is also one of the strongest. In it Cardona lays out the benefits of living a life unhampered by conventions—a life experienced in dreams—and needs pursuit in wakefulness.
The person becomes a free self in surrendering to what is experienced in dreams and living accordingly when awake. In the same poem, Cardona writes, "life needs beauty and complexity." Yes, and she wants us to embrace both. Fortunately, her work helps show the way.


text:
K_Resident_fish
Appendix K. Resident fish mitigation settlements
Perpetual land protection efforts are one of the most effective ways to address losses of resident fish and changes to other freshwater species. This includes conservation easements, land purchases, or other long term measures. When purchasing land parcels, priority should be given to those that connect healthy riparian and stream habitat, as these will improve fish habitat resiliency as climate change and climate variability take effect.
In areas of the basin where quantitative assessments of native resident fish losses have been completed, and mitigation based on native resident fish is not feasible, perpetual land acquisitions should be used, at a minimum ratio of 1:1 mitigation to lost distance or area, to benefit fish habitat as a primary tool for mitigation and settlement.
Whenever possible, resident fish mitigation through habitat acquisitions should take place through settlement agreements that have clear objectives, a plan for action over time, a committed level of funding that provides a substantial likelihood of achieving and sustaining the stated mitigation objectives, and provisions to ensure effective implementation with periodic monitoring and evaluation. Resident fish mitigation agreements should be permanent or span multiple years and be long-term in duration. These agreements should include:
Measurable objectives, including the estimated resident fish habitat losses addressed by acquisitions
Demonstration of consistency with the policies, objectives, and strategies in the Council's program
Adherence to the open and public process language found in the Northwest Power Act, including measures to address concerns over additions to public land ownership and impacts on local communities, such as a reduction or loss of local government tax base or the local economic base, and consistency with local governments' comprehensive plans
When possible, provide protection for riparian habitat that can benefit both fish and wildlife, and protection for high-quality native habitat and species of special concern, including endangered, threatened, or sensitive species
Assurance for effective implementation of the agreement, with periodic monitoring and evaluation (including a periodic audit) and reporting of results; at a minimum, annual reports to Bonneville must continue in order for the Council to evaluate the mitigation benefits
Assurance of long-term maintenance of the habitat adequate to sustain the habitat values stated in the agreement for the life of the project (this is a requirement), along with a committed level of funding that provides a substantial likelihood of achieving and sustaining the resident fish mitigation objectives
Adequate funding for operation and maintenance
Resident fish mitigation agreements may include the protection of undegraded or less degraded habitat or, in appropriate circumstances may include protection and improvement of degraded habitat when necessary for effective mitigation. In the latter case, any mitigation agreements with Bonneville should include sufficient funding to enhance, restore, and create habitat functions and values for the target species of resident fish on acquired lands that are degraded.
Resident fish mitigation agreements may represent incremental mitigation based on individual habitat acquisitions. However, where a resident fish loss assessment has been developed for a particular hydropower facility or for an entire subbasin using the best available scientific methods and the loss assessment has been accepted as part of the program, the Council encourages mitigation settlement agreements.
The Bonneville Power Administration will require, wherever possible, that resident fish mitigation agreements through habitat acquisitions include a management plan with clear objectives; a plan for action over time; a committed level of funding that ensures long term maintenance to sustain the stated mitigation objectives; and provisions to ensure effective implementation with periodic monitoring and evaluation.
Management plan and operation and maintenance funding
Resident fish mitigation agreements shall include a management plan agreed to by Bonneville and the management entity adequate to sustain the minimum credited habitat values for the life of the project. Agreements shall include sufficient funding for operation and maintenance over the long term to demonstrate a substantial likelihood of achieving and sustaining the mitigation objectives.
Resident Fish