For those of us that have dedicated our professional lives to education, it is unbelievable that powerful people like Bill Gates, Davis Guggenheim, Michelle Rhee, Arnie Duncan and others are attempting (and succeeding in places) to dupe the American public into believing that our public education system is in crisis. Yes, there are serious problems in some schools, but films such as Waiting for Superman and The Cartel use teachers and unions as a smokescreen that hides the real problem. Children in some inner city, and rural, and suburban schools are failing. However, the failure most of these students experience is directly related to poverty.
I know it is easier and more palatable to put the blame on teachers and unions, but unless we (Americans) address the issue of poverty in this country we will continue to see children "fail." However, by refusing to address poverty, it is the reformers who are failing children--not teachers. Before we go any further with a reform agenda that will dismantle our public schools I wish President Obama (who should know better) would take the time to read Gerald Bracey, Diane Ravitch, Alfie Kohn, and Anthony Cody. The "crisis" is manufactured!
However, just when you thought it could not get any worse. Leave it to Peggy Noonan (Meet the Press, January 16, 2011) to remind us of an issue all Americans supposedly support. As our Nation mourns the loss of life in Tucson a week ago and when the President and other pundits remind us not to use this tragedy for political gain, Ms. Noonan slipped in a whammy that I'm sure will go unnoticed by most media outlets.
While discussing the nature of and the new direction of political discourse after the Arizona shootings in a round table forum, the participants all agreed that bipartisanship and collegial respect should dominate the new discourse. When asked about an issue where Congress and the President might be able to set the example for the public and demonstrate how political discourse might be seen as civil, Ms. Noonan quickly pointed out education reform. According to Noonan, since the release of the films Waiting for Superman and The Cartel, Americans all agree that our public education system must be reformed. Boom! So much for not using Tucson for political gain.
To be fair, I should also mention that President Obama's State of the Union address will most likely take advantage of this tragedy too. In an effort to demonstrate bipartisanship and set the example of civil discourse, the President will renew his call to "reform" the American public education system. He will remind us that this is an issue in which all Americans should agree. And Republicans and Democrats (some of them sitting together for the first time) will stand and cheer.
However, can somebody please tell President Obama and Ms. Noonan that now is not the time to use the Tucson tragedy or any tragedy to promote a bogus reform movement that will harm our Nation's public school system?
What do you think? Is it time for bi-partisan unity around education reform? Or is President Obama listening to the wrong advisers?


From our history of extensive development and pursuit of screen printing technology, Micro-tec firmly believes that bleeding can be substanially reduced with the use of Pre-Contact Squeegees. (option) The Pre-Contact Squeegees helps pressing the screen to be contact with the substrate before actual printing takes place which results in substantially decreased bleeding.
The MT-650 series low pressure printing machine can be equipped with Pre-Contact Squeegees UP-Down mechanism that is placed in front of both sides of main squeegee. This positioning supports the Pre-Contact printing with little effort.
By changing the squeegee holder attachment, the MT-650 series can be equipped with both the double squeegee and Pre-contact Squeegee enabling to print solder paste without bleeding.


Canada World Youth is pleased to offer international development internships for Indigenous youth who want to volunteer in Peru!
WASHINGTON – No one knows yet if it will be red, blue or purple, but a tidal wave of energized voters is expected to flood polling stations across the United States today as Americans deliver their early verdict on President Donald Trump.
Unlike past midterm votes and their middling level of interest, the 2018 edition has generated robust early voting turnout _ in Arizona, Nevada, Texas and Utah, the number of advance ballots already exceeds the total cast in 2014.
And while Trump's name is not on the ballot, it seems to be on everyone's mind _ including his own.
In a conference call organized by his campaign, he told supporters Monday to vote as if he was on the ticket, calling the election a referendum on his presidency and his movement.
During a barnstorm flurry of rallies in Ohio, Missouri and Indiana, he continued to whip up anti-immigration sentiment among his supporters, warning that Democrats would usher in an era of open borders and widespread crime.
And he also conjured up a new fear: illegal voting, warning that any such perpetrators would be prosecuted to the fullest extent of the law.


St Alban's has an extensive Parish Library. The Mabel North Library, as it is called, holds the bequeathed library of the leading catechist and former parishoner, Mabel North.
The Mabel North Library is located in the Church cloister and is open after Mass and by request at the presbytery.
Our Parish Librarian, Silvia, each month selects a different book (no recommendation is made in August) from the collection and provides us with a short description of the text. If you would like to recommend a book to be added to the library or would like to submit a review of a book you have borrowed, please contact Silvia silviagiampietro@hotmail.com.
An online catalogue of all the books and resources available from the Mabel North Library can be found on the Parish Library page.


THE FAR STAIRS is a message etched onto a golden record in a space probe speeding past the edge of the solar system, carved into a black pyramid submerged in the heart of the jungle, flickering across screens in a room full of worried-looking dogs, bursting in coded fragments from haunted outposts on forgotten islands, subtly adjusting the balances of your hidden bank accounts, shimmering in swaths of light above the trackless wilderness at the rim of the world. It isn't something you can run from. It blows in through the plants and wraps the cold and glowing heights. It grows into your hands at night.


recently, an old college friend of mine has gotten me back into a few gallery shows out in california. they are usually part of a larger group showing and revolve around things that i love, pop culture. recently i was invited to participate in their halloween show and tried to think what i could do that would be different from the previous show…a real, physical piece of art.
the last show, was a gojira theme, and i created a poster on the computer; it was well received and sold, but wanted to try something new with this show. going back to my roots as an artist, i settled on a linoleum block cut.
next was the subject? halloween has been my favorite holiday for, well ever. what was a universal connotation for the holiday that really would resonate for me? something related to the haunted mansion (my favorite attraction).
so the medium was decided and the theme set all i needed to do was come up with something. luckily, i have lots of sketches laying about so i chose an old type experiment that i had been playing around with to transpose to a block cut.
when all was said and done, there was one framed piece for the show and fifteen more hand-pulled prints for a limited creature feature run.
next show is november and features brad bird's iron giant.


text:
SOLD! Maryborough's Kim Probert is glad to see the Mary Poppins house will survive as a museum after the council bought it for $420,000.
Birthplace of Mary Poppins author bought by council
THE birthplace of PL Travers, the author of Mary Poppins, has been purchased by the Fraser Coast Regional Council.
Fraser Coast councillor George Seymour confirmed the news that the council had purchased the property, on the corner of Kent and Richmond Sts, for $420,000.
Cr Seymour said the council was working on plans for the building's future, saying it could be a key attraction for the region.
"It will be a public building in some form," Cr Seymour said.
He said a decision had not been made about the future use of the building.
"The heritage-listed building is very important in telling the region's history and its association with Mary Poppins gives it an added charm," Cr Seymour said.
"I am very pleased that this landmark building is in public hands.
"It will be well cared for and a joy to visit and learn about its connection to Mary Poppins.
"We will be developing plans for its future use, it will be a key attraction for Maryborough."
PL Travers, the author of Mary Poppins, was born in Maryborough on August 9, 1899
She was named Helen Lyndon Goff when she was born
In 1933 she began writing the novel Mary Poppins, first of the Poppins books.
Author takes action with pen after loss of husband
Julie Andrews: It's the right time to remake Mary Poppins
Mary Poppins fans go supercalifragilisticexpialidocious
editors picks fraser coasr regional council mary poppins
Health Worker to pursue unfair dismissal case over flu jab

redpajama_set_name: RedPajamaCommonCrawl


text:
Tennessee Titans Place Guard on Injured Reserve
Alex McKinnon December 23, 2022 Tennessee Titans
The Tennessee Titans will be without one of their powerful run blockers for the final stretch of the regular season. The team placed offensive lineman Nate Davis on injured reserve, guaranteeing he'll miss the final three games on the schedule and potentially the Wildcard Round should the Titans make the playoffs.
Roster Moves: #Titans Activate LB Zach Cunningham, While Placing Guard Nate Davis on Injured Reserve
— Tennessee Titans (@Titans) December 23, 2022
Davis suffered an ankle injury in the Titans' Week 15 17-14 loss to the Los Angeles Chargers, exiting after 46 total snaps. He has started 12 games this season, earning a solid 70.6 overall grade from Pro Football Focus for his efforts.
Davis has been a big part of the Titans' perennially overpowering run game since joining the team in 2019. His arrival on the team coincided with Derrick Henry's ascension to superstardom; 2019 was the first of Henry's two seasons leading the league in rushing, and he has amassed an amazing 5807 rushing yards in 53 appearances since.
Davis entered the league as the Titans' 82nd overall pick of the 2019 NFL Draft. He immediately slotted in at right guard and has started 54 games in four seasons with the team. He'll hit unrestricted free agency following this season and should be in line for a multi-year deal with the Titans or elsewhere.
Photo Credit: © Eric Hartline-USA TODAY Sports


text:
package prediction // import "google.golang.org/api/prediction/v1.2"

import (
	"bytes"
	"context"
	"encoding/json"
	"errors"
	"fmt"
	"io"
	"net/http"
	"net/url"
	"strconv"
	"strings"

	gensupport "google.golang.org/api/gensupport"
	googleapi "google.golang.org/api/googleapi"
)

// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled

const apiId = "prediction:v1.2"
const apiName = "prediction"
const apiVersion = "v1.2"
const basePath = "https://www.googleapis.com/prediction/v1.2/"

// OAuth2 scopes used by this API.
const (
	// Manage your data and permissions in Google Cloud Storage
	DevstorageFullControlScope = "https://www.googleapis.com/auth/devstorage.full_control"

	// View your data in Google Cloud Storage
	DevstorageReadOnlyScope = "https://www.googleapis.com/auth/devstorage.read_only"

	// Manage your data in Google Cloud Storage
	DevstorageReadWriteScope = "https://www.googleapis.com/auth/devstorage.read_write"

	// Manage your data in the Google Prediction API
	PredictionScope = "https://www.googleapis.com/auth/prediction"
)

func New(client *http.Client) (*Service, error) {
	if client == nil {
		return nil, errors.New("client is nil")
	}
	s := &Service{client: client, BasePath: basePath}
	s.Hostedmodels = NewHostedmodelsService(s)
	s.Training = NewTrainingService(s)
	return s, nil
}

type Service struct {
	client    *http.Client
	BasePath  string // API endpoint base URL
	UserAgent string // optional additional User-Agent fragment

	Hostedmodels *HostedmodelsService

	Training *TrainingService
}

func (s *Service) userAgent() string {
	if s.UserAgent == "" {
		return googleapi.UserAgent
	}
	return googleapi.UserAgent + " " + s.UserAgent
}

func NewHostedmodelsService(s *Service) *HostedmodelsService {
	rs := &HostedmodelsService{s: s}
	return rs
}

type HostedmodelsService struct {
	s *Service
}

func NewTrainingService(s *Service) *TrainingService {
	rs := &TrainingService{s: s}
	return rs
}

type TrainingService struct {
	s *Service
}

type Input struct {
	Input *InputInput `json:"input,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Input") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Input") to include in API
	// requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *Input) MarshalJSON() ([]byte, error) {
	type NoMethod Input
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}

type InputInput struct {
	CsvInstance []interface{} `json:"csvInstance,omitempty"`

	// ForceSendFields is a list of field names (e.g. "CsvInstance") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "CsvInstance") to include
	// in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *InputInput) MarshalJSON() ([]byte, error) {
	type NoMethod InputInput
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}

type Output struct {
	Id string `json:"id,omitempty"`

	Kind string `json:"kind,omitempty"`

	OutputLabel string `json:"outputLabel,omitempty"`

	OutputMulti []*OutputOutputMulti `json:"outputMulti,omitempty"`

	OutputValue float64 `json:"outputValue,omitempty"`

	SelfLink string `json:"selfLink,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the
	// server.
	googleapi.ServerResponse `json:"-"`

	// ForceSendFields is a list of field names (e.g. "Id") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Id") to include in API
	// requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *Output) MarshalJSON() ([]byte, error) {
	type NoMethod Output
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}

func (s *Output) UnmarshalJSON(data []byte) error {
	type NoMethod Output
	var s1 struct {
		OutputValue gensupport.JSONFloat64 `json:"outputValue"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.OutputValue = float64(s1.OutputValue)
	return nil
}

type OutputOutputMulti struct {
	Label string `json:"label,omitempty"`

	Score float64 `json:"score,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Label") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Label") to include in API
	// requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *OutputOutputMulti) MarshalJSON() ([]byte, error) {
	type NoMethod OutputOutputMulti
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}

func (s *OutputOutputMulti) UnmarshalJSON(data []byte) error {
	type NoMethod OutputOutputMulti
	var s1 struct {
		Score gensupport.JSONFloat64 `json:"score"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.Score = float64(s1.Score)
	return nil
}

type Training struct {
	Id string `json:"id,omitempty"`

	Kind string `json:"kind,omitempty"`

	ModelInfo *TrainingModelInfo `json:"modelInfo,omitempty"`

	SelfLink string `json:"selfLink,omitempty"`

	TrainingStatus string `json:"trainingStatus,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the
	// server.
	googleapi.ServerResponse `json:"-"`

	// ForceSendFields is a list of field names (e.g. "Id") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Id") to include in API
	// requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *Training) MarshalJSON() ([]byte, error) {
	type NoMethod Training
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}

type TrainingModelInfo struct {
	ClassificationAccuracy float64 `json:"classificationAccuracy,omitempty"`

	MeanSquaredError float64 `json:"meanSquaredError,omitempty"`

	ModelType string `json:"modelType,omitempty"`

	// ForceSendFields is a list of field names (e.g.
	// "ClassificationAccuracy") to unconditionally include in API requests.
	// By default, fields with empty values are omitted from API requests.
	// However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "ClassificationAccuracy")
	// to include in API requests with the JSON null value. By default,
	// fields with empty values are omitted from API requests. However, any
	// field with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

func (s *TrainingModelInfo) MarshalJSON() ([]byte, error) {
	type NoMethod TrainingModelInfo
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}

func (s *TrainingModelInfo) UnmarshalJSON(data []byte) error {
	type NoMethod TrainingModelInfo
	var s1 struct {
		ClassificationAccuracy gensupport.JSONFloat64 `json:"classificationAccuracy"`
		MeanSquaredError       gensupport.JSONFloat64 `json:"meanSquaredError"`
		*NoMethod
	}
	s1.NoMethod = (*NoMethod)(s)
	if err := json.Unmarshal(data, &s1); err != nil {
		return err
	}
	s.ClassificationAccuracy = float64(s1.ClassificationAccuracy)
	s.MeanSquaredError = float64(s1.MeanSquaredError)
	return nil
}

type Update struct {
	// ClassLabel: The true class label of this instance
	ClassLabel string `json:"classLabel,omitempty"`

	// CsvInstance: The input features for this instance
	CsvInstance []interface{} `json:"csvInstance,omitempty"`

	// ForceSendFields is a list of field names (e.g. "ClassLabel") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "ClassLabel") to include in
	// API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

func (s *Update) MarshalJSON() ([]byte, error) {
	type NoMethod Update
	raw := NoMethod(*s)
	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}

// method id "prediction.predict":

type PredictCall struct {
	s          *Service
	data       string
	input      *Input
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Predict: Submit data and request a prediction
func (s *Service) Predict(data string, input *Input) *PredictCall {
	c := &PredictCall{s: s, urlParams_: make(gensupport.URLParams)}
	c.data = data
	c.input = input
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *PredictCall) Fields(s ...googleapi.Field) *PredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *PredictCall) Context(ctx context.Context) *PredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *PredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *PredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := make(http.Header)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.input)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.Set("alt", alt)
	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}/predict")
	urls += "?" + c.urlParams_.Encode()
	req, _ := http.NewRequest("POST", urls, body)
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"data": c.data,
	})
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "prediction.predict" call.
// Exactly one of *Output or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Output.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *PredictCall) Do(opts ...googleapi.CallOption) (*Output, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, &googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		}
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, err
	}
	ret := &Output{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
	// {
	//   "description": "Submit data and request a prediction",
	//   "httpMethod": "POST",
	//   "id": "prediction.predict",
	//   "parameterOrder": [
	//     "data"
	//   ],
	//   "parameters": {
	//     "data": {
	//       "description": "mybucket%2Fmydata resource in Google Storage",
	//       "location": "path",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "training/{data}/predict",
	//   "request": {
	//     "$ref": "Input"
	//   },
	//   "response": {
	//     "$ref": "Output"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/prediction"
	//   ]
	// }

}

// method id "prediction.hostedmodels.predict":

type HostedmodelsPredictCall struct {
	s               *Service
	hostedModelName string
	input           *Input
	urlParams_      gensupport.URLParams
	ctx_            context.Context
	header_         http.Header
}

// Predict: Submit input and request an output against a hosted model
func (r *HostedmodelsService) Predict(hostedModelName string, input *Input) *HostedmodelsPredictCall {
	c := &HostedmodelsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.hostedModelName = hostedModelName
	c.input = input
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *HostedmodelsPredictCall) Fields(s ...googleapi.Field) *HostedmodelsPredictCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *HostedmodelsPredictCall) Context(ctx context.Context) *HostedmodelsPredictCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *HostedmodelsPredictCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *HostedmodelsPredictCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := make(http.Header)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.input)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.Set("alt", alt)
	urls := googleapi.ResolveRelative(c.s.BasePath, "hostedmodels/{hostedModelName}/predict")
	urls += "?" + c.urlParams_.Encode()
	req, _ := http.NewRequest("POST", urls, body)
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"hostedModelName": c.hostedModelName,
	})
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "prediction.hostedmodels.predict" call.
// Exactly one of *Output or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Output.ServerResponse.Header or (if a response was returned at all)
// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
// check whether the returned error was because http.StatusNotModified
// was returned.
func (c *HostedmodelsPredictCall) Do(opts ...googleapi.CallOption) (*Output, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, &googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		}
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, err
	}
	ret := &Output{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
	// {
	//   "description": "Submit input and request an output against a hosted model",
	//   "httpMethod": "POST",
	//   "id": "prediction.hostedmodels.predict",
	//   "parameterOrder": [
	//     "hostedModelName"
	//   ],
	//   "parameters": {
	//     "hostedModelName": {
	//       "description": "The name of a hosted model",
	//       "location": "path",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "hostedmodels/{hostedModelName}/predict",
	//   "request": {
	//     "$ref": "Input"
	//   },
	//   "response": {
	//     "$ref": "Output"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/prediction"
	//   ]
	// }

}

// method id "prediction.training.delete":

type TrainingDeleteCall struct {
	s          *Service
	data       string
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Delete: Delete a trained model
func (r *TrainingService) Delete(data string) *TrainingDeleteCall {
	c := &TrainingDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.data = data
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *TrainingDeleteCall) Fields(s ...googleapi.Field) *TrainingDeleteCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *TrainingDeleteCall) Context(ctx context.Context) *TrainingDeleteCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *TrainingDeleteCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TrainingDeleteCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := make(http.Header)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	c.urlParams_.Set("alt", alt)
	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
	urls += "?" + c.urlParams_.Encode()
	req, _ := http.NewRequest("DELETE", urls, body)
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"data": c.data,
	})
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "prediction.training.delete" call.
func (c *TrainingDeleteCall) Do(opts ...googleapi.CallOption) error {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if err != nil {
		return err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return err
	}
	return nil
	// {
	//   "description": "Delete a trained model",
	//   "httpMethod": "DELETE",
	//   "id": "prediction.training.delete",
	//   "parameterOrder": [
	//     "data"
	//   ],
	//   "parameters": {
	//     "data": {
	//       "description": "mybucket/mydata resource in Google Storage",
	//       "location": "path",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "training/{data}",
	//   "scopes": [
	//     "https://www.googleapis.com/auth/prediction"
	//   ]
	// }

}

// method id "prediction.training.get":

type TrainingGetCall struct {
	s            *Service
	data         string
	urlParams_   gensupport.URLParams
	ifNoneMatch_ string
	ctx_         context.Context
	header_      http.Header
}

// Get: Check training status of your model
func (r *TrainingService) Get(data string) *TrainingGetCall {
	c := &TrainingGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.data = data
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *TrainingGetCall) Fields(s ...googleapi.Field) *TrainingGetCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *TrainingGetCall) IfNoneMatch(entityTag string) *TrainingGetCall {
	c.ifNoneMatch_ = entityTag
	return c
}

// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *TrainingGetCall) Context(ctx context.Context) *TrainingGetCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *TrainingGetCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TrainingGetCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := make(http.Header)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	if c.ifNoneMatch_ != "" {
		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
	}
	var body io.Reader = nil
	c.urlParams_.Set("alt", alt)
	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
	urls += "?" + c.urlParams_.Encode()
	req, _ := http.NewRequest("GET", urls, body)
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"data": c.data,
	})
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "prediction.training.get" call.
// Exactly one of *Training or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Training.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
// to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TrainingGetCall) Do(opts ...googleapi.CallOption) (*Training, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, &googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		}
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, err
	}
	ret := &Training{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
	// {
	//   "description": "Check training status of your model",
	//   "httpMethod": "GET",
	//   "id": "prediction.training.get",
	//   "parameterOrder": [
	//     "data"
	//   ],
	//   "parameters": {
	//     "data": {
	//       "description": "mybucket/mydata resource in Google Storage",
	//       "location": "path",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "training/{data}",
	//   "response": {
	//     "$ref": "Training"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/prediction"
	//   ]
	// }

}

// method id "prediction.training.insert":

type TrainingInsertCall struct {
	s          *Service
	training   *Training
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Insert: Begin training your model
func (r *TrainingService) Insert(training *Training) *TrainingInsertCall {
	c := &TrainingInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.training = training
	return c
}

// Data sets the optional parameter "data": mybucket/mydata resource in
// Google Storage
func (c *TrainingInsertCall) Data(data string) *TrainingInsertCall {
	c.urlParams_.Set("data", data)
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *TrainingInsertCall) Fields(s ...googleapi.Field) *TrainingInsertCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *TrainingInsertCall) Context(ctx context.Context) *TrainingInsertCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *TrainingInsertCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TrainingInsertCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := make(http.Header)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.training)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.Set("alt", alt)
	urls := googleapi.ResolveRelative(c.s.BasePath, "training")
	urls += "?" + c.urlParams_.Encode()
	req, _ := http.NewRequest("POST", urls, body)
	req.Header = reqHeaders
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "prediction.training.insert" call.
// Exactly one of *Training or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Training.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
// to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TrainingInsertCall) Do(opts ...googleapi.CallOption) (*Training, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, &googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		}
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, err
	}
	ret := &Training{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
	// {
	//   "description": "Begin training your model",
	//   "httpMethod": "POST",
	//   "id": "prediction.training.insert",
	//   "parameters": {
	//     "data": {
	//       "description": "mybucket/mydata resource in Google Storage",
	//       "location": "query",
	//       "type": "string"
	//     }
	//   },
	//   "path": "training",
	//   "request": {
	//     "$ref": "Training"
	//   },
	//   "response": {
	//     "$ref": "Training"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/devstorage.full_control",
	//     "https://www.googleapis.com/auth/devstorage.read_only",
	//     "https://www.googleapis.com/auth/devstorage.read_write",
	//     "https://www.googleapis.com/auth/prediction"
	//   ]
	// }

}

// method id "prediction.training.update":

type TrainingUpdateCall struct {
	s          *Service
	data       string
	update     *Update
	urlParams_ gensupport.URLParams
	ctx_       context.Context
	header_    http.Header
}

// Update: Add new data to a trained model
func (r *TrainingService) Update(data string, update *Update) *TrainingUpdateCall {
	c := &TrainingUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
	c.data = data
	c.update = update
	return c
}

// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *TrainingUpdateCall) Fields(s ...googleapi.Field) *TrainingUpdateCall {
	c.urlParams_.Set("fields", googleapi.CombineFields(s))
	return c
}

// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *TrainingUpdateCall) Context(ctx context.Context) *TrainingUpdateCall {
	c.ctx_ = ctx
	return c
}

// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *TrainingUpdateCall) Header() http.Header {
	if c.header_ == nil {
		c.header_ = make(http.Header)
	}
	return c.header_
}

func (c *TrainingUpdateCall) doRequest(alt string) (*http.Response, error) {
	reqHeaders := make(http.Header)
	for k, v := range c.header_ {
		reqHeaders[k] = v
	}
	reqHeaders.Set("User-Agent", c.s.userAgent())
	var body io.Reader = nil
	body, err := googleapi.WithoutDataWrapper.JSONReader(c.update)
	if err != nil {
		return nil, err
	}
	reqHeaders.Set("Content-Type", "application/json")
	c.urlParams_.Set("alt", alt)
	urls := googleapi.ResolveRelative(c.s.BasePath, "training/{data}")
	urls += "?" + c.urlParams_.Encode()
	req, _ := http.NewRequest("PUT", urls, body)
	req.Header = reqHeaders
	googleapi.Expand(req.URL, map[string]string{
		"data": c.data,
	})
	return gensupport.SendRequest(c.ctx_, c.s.client, req)
}

// Do executes the "prediction.training.update" call.
// Exactly one of *Training or error will be non-nil. Any non-2xx status
// code is an error. Response headers are in either
// *Training.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
// to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *TrainingUpdateCall) Do(opts ...googleapi.CallOption) (*Training, error) {
	gensupport.SetOptions(c.urlParams_, opts...)
	res, err := c.doRequest("json")
	if res != nil && res.StatusCode == http.StatusNotModified {
		if res.Body != nil {
			res.Body.Close()
		}
		return nil, &googleapi.Error{
			Code:   res.StatusCode,
			Header: res.Header,
		}
	}
	if err != nil {
		return nil, err
	}
	defer googleapi.CloseBody(res)
	if err := googleapi.CheckResponse(res); err != nil {
		return nil, err
	}
	ret := &Training{
		ServerResponse: googleapi.ServerResponse{
			Header:         res.Header,
			HTTPStatusCode: res.StatusCode,
		},
	}
	target := &ret
	if err := gensupport.DecodeResponse(target, res); err != nil {
		return nil, err
	}
	return ret, nil
	// {
	//   "description": "Add new data to a trained model",
	//   "httpMethod": "PUT",
	//   "id": "prediction.training.update",
	//   "parameterOrder": [
	//     "data"
	//   ],
	//   "parameters": {
	//     "data": {
	//       "description": "mybucket/mydata resource in Google Storage",
	//       "location": "path",
	//       "required": true,
	//       "type": "string"
	//     }
	//   },
	//   "path": "training/{data}",
	//   "request": {
	//     "$ref": "Update"
	//   },
	//   "response": {
	//     "$ref": "Training"
	//   },
	//   "scopes": [
	//     "https://www.googleapis.com/auth/prediction"
	//   ]
	// }

}

redpajama_set_name: RedPajamaGithub


, we all picks the top choices together with best resolution just for you all, and this photos is actually considered one of photographs choices inside our very best photos gallery concerning Awesome Pictures Of Things to Do In the Bedroom. I really hope you will as it.
submitted by simply Roger Weaver from 2018-01-28 05:59:12. To see almost all graphics with Awesome Pictures Of Things to Do In the Bedroom images gallery make sure you follow this web page link.


text:
Q: Filter an array by value which is in document to filter I have these Mongoose Schemas

var UserSchema = new Schema({
    pseudo: {type:String},
    groups: [{type:Schema.Types.ObjectId, ref:'Groups'}],
    last_messages: [{type: Number}],
});

var GroupSchema = new Schema({
    messages: [{type: Schema.Types.ObjectId, ref:'Messages'}],
    name : {type:String},
    picture: {type: String}
});

In UserSchema, last_message is linked to groups. last_message[i] contains the greatest timestamp of message received by user related to group[i]
I want to populate User by group and in Group populate Message taking only message which timestamp is greater than last_message[i] where i is the index of the group which is being populated.
How can I do that?

redpajama_set_name: RedPajamaStackExchange


The scope of Pemba's output reveals the limitations of the generic term 'township art' which certain writers and dealers were quick to use to describe the work of emergent black artists. His work embraced portraiture, landscape, group compositions and genre works as well as historical subjects based on memory or his imagination. In the Campbell Smith Collection, Pemba is the sole black artist from the Eastern Cape. It has been observed that his work only really emerged from provincial obscurity as apartheid began to crumble. Although he had exhibited for many years, and had been included in The Neglected Tradition exhibition in 1988, he only really came to the attention of a largely white art-buying public when the Everard Read Gallery in Johannesburg exhibited his work in 1991. While the exhibition was a great success, it had a darker aspect which exposed mounting dealer opportunism in relation to the work of previously-marginalised black artists. A dealer by the name of Hans J. Weber had earlier visited Pemba in Port Elizabeth and purchased 178 of his paintings for R4 000, which he then sold to the Everard Read Gallery for an undisclosed sum. These were framed and sold for about 125 times what Pemba had initially been paid for them. As a compensatory gesture, the Everard Read Gallery paid Pemba 10% of the sale price of each picture.
The 1991 exhibition had foregrounded Pemba's oils, but it was not until 1993 that the showing of a cache of his earlier watercolours at the Highbury Gallery in Port Elizabeth revealed his even more impressive artistic powers. He was first tutored in watercolour by Ethel Smyth in 1931 at the University College of Fort Hare, and subsequently in 1937 by Professor Austin Wintermoore at Rhodes University. Pemba attributed his accomplishment in watercolour to Wintermoore's insistence on sound draughtsmanship. The watercolours painted between c.1933 and c.1947 are among his very best works. This raises interest around the choice that he made, allegedly prompted by Gerard Sekoto (qv.), to switch to oil painting.
There is disagreement about where this crucial meeting of Pemba and Sekoto took place. Although himself a watercolourist of note, Sekoto held that it was too delicate for South African subjects, which he felt demanded a more robust medium. He also drew Pemba's attention to the greater saleability of scenes of the 'locations' with the emergence of the 'township' genre. He also mentioned that white buyers placed a far higher premium on oils.
Pemba's images of indigenous South Africans of different cultures fit well within the genre of the 'native study' which was also pursued at this time by his contemporary Gerard Bhengu (qv.), as well as by white artists such as Barbara Tyrrell (qv.), Irma Stern (qv.) and Neville Lewis (qv.). While white artists went on formal expeditions to paint 'the natives', it is interesting to note that Pemba also felt compelled to mount an exploration of South Africa for this same artistic purpose, receiving an amount of £75 from the Bantu Welfare Trust in 1944 to cover his travelling expenses.
Certain works in the Campbell Smith Collection reveal Pemba's expert handling of watercolour, while others indicate how he first effected his shift to painting in oil. Zulu woman – unfinished symphony (1941), (plate 46) shows his initial broad underdrawing with underpainting in delicate washes in certain areas. Darker, more solid tones are selectively placed over these in order to give a sense of form. The sensitive face – the psychological fulcrum of the whole work – is the only 'finished' area of the painting, yet one senses that any further additions would have been superfluous. Xhosa woman smoking a pipe (1945), (plate 42) shows Pemba's tentative exploration of the oil medium, using it in thin layers to achieve luminous effects on a primed board, much like watercolour. He initially resists the possibilities of thicker paint and the use of white as an additive colour at this time, until his mastery of oil becomes more accomplished and deft, as in his urban landscapes Gelvandale (1957) (plate 49) and New Brighton (1960) (plate 48).
Pemba's Retrospective Exhibition at the Iziko SA National Gallery in Cape Town in 1996, with a scholarly catalogue as well as the subsequent publication of two biographies by Sarah Hudleston and Barry Feinberg, finally achieved the aim of giving his life and work a truly national profile.
Born Hill's Kraal, Korsten, Port Elizabeth, 1912; died Motherwell, Port Elizabeth, 2001. Training 1931–1935: Enrolled at Lovedale Teachers Training College. 1931: Watercolour classes under Ethel Smyth for several weeks at the University of Fort Hare. 1937: Course at Rhodes University Fine Arts Department under Professor Austin Wintermoore. 1952: Two-week period of study under Maurice van Essche in Cape Town. Selected Exhibitions 1928: Group exhibition, Feathermarket Hall, Port Elizabeth. 1945: Annual Exhibition, Eastern Province Society of Arts and Crafts, Port Elizabeth. 1988: The Neglected Tradition, Johannesburg Art Gallery. 1991: Solo exhibition, Everard Read Gallery, Johannesburg. 1992: Solo exhibition, Everard Read Gallery, Johannesburg. 1993: Watercolour exhibition, Highbury Gallery, Port Elizabeth. 1996: George Pemba Retrospective Exhibition, Iziko SA National Gallery, Cape Town, Johannesburg Art Gallery; Nelson Mandela Metropolitan Art Museum, Port Elizabeth. Collections Cory Library for Historical Research, Rhodes University, Grahamstown; De Beers Centenary Art Gallery, University of Fort Hare; Iziko SA National Gallery, Cape Town; Sanlam Art Gallery, Bellville; Johannesburg Art Gallery; Nelson Mandela Metropolitan Art Museum, Port Elizabeth; Killie Campbell Collections, University of Natal, Durban; Tatham Art Gallery, Pietermaritzburg; The World Bank Collection, Washington, DC. Awards 1924: Grey Scholarship to Paterson Secondary School, Port Elizabeth. 1937: First prize at May Esther Bedford Art Competition, Fort Hare. 1979: Honorary Master of Arts, University of Fort Hare. 1998: Honorary Doctorate, University of Port Elizabeth.
George Pemba, photograph courtesy of Sarah Hudleston.


text:
Final glimpse: Last-known film of thylacine found
Tim Martain and Blair Richards, May 20, 2020 7:00PM
media_cameraA still image from the newly discovered 1935 film of the last thylacine.
Tasmanian tiger researchers have discovered what is thought to be the last film of a thylacine.
The film was taken in 1935, two years later than any other known record.
And it could cast doubt on the Tassie tiger's reputation as a fierce, aggressive animal.
The old tourism film, long buried in the vaults* of the National Film and Sound Archives in Canberra, ACT, contains roughly 20 seconds of rare film of a live thylacine in Hobart's Beaumaris Zoo in Tasmania.
In it, the captive* Tasmanian tiger is seen pacing inside its enclosure at the zoo, apparently very placid* despite noisy humans trying to provoke* it.
"You can clearly see them trying to rile* it up from outside the enclosure but it actually seems quite timid, even with the cameraman inside the enclosure," thylacine researcher Branden Holmes said.
"So what we can learn from this really short clip of film is that thylacines actually seemed to be quite timid*, in contrast to their reputation for being ferocious sheep-killers."
New footage of extinct Tasmanian Tiger filmed in 1935
Mr Holmes and fellow researchers Mike Williams and Gareth Linnard, discovered the rare footage in a film called Tasmania the Wonderland by filmmaker Sidney Cook as part of Cook's tour of Tasmania in 1935.
The voice narrating the film says the Tasmanian tiger is a "dangerous opponent, though like the devil, is now very rare. Forced out of his natural habitat by the march of civilisation, this is the only one in captivity in the world."
That male thylacine, known as Benjamin, was also the last known live specimen. A year after this film was made he died, making this the last known footage* of the animal.
MORE TIGER FILM
The same three researchers released another rediscovered film in March, from the Tasmanian State Archives, a few seconds of the same creature in an old family film made during a trip to the Hobart zoo.
WATCH: Rare footage of the extinct Tasmanian Tiger (FULL VERSION)
Mr Holmes and his colleagues are part of a group called Tasmanian Tiger Archives on Facebook, which helps researchers from around Australia share information and leads.
They are currently trying to track down another lost film, referred to in a 1978 article in The Mercury newspaper, said to show a thylacine cub.
"The thylacine was not well studied when it was alive, so these films are all we have now," he said.
The March find and this latest find in Canberra add to the five previously known films of thylacines from Beaumaris Zoo and two films from London Zoo.
EXTINCT?
Mr Williams has been to Tasmania about 25 times since 2002 on thylacine hunting trips to speak with people who believe they have seen live thylacines.
"I just find the animal an icon and it means so much to conservation efforts around the world and to other animals that are disappearing," Mr Williams said.
"There's a very slim chance it does still exist … it's something I would love to believe is true."
Although the thylacine is listed as "presumed extinct", Tasmania's Department of Primary Industries, Parks, Water and Environment still records reported sightings.
Documents released by the department in October 2019 show eight sightings were reported in the past three years.
vaults: safe storage for special things
captive: not in the wild
placid: calm and quiet
provoke: cause a response
rile: provoke, tease, make angry
timid: shy
footage: another name for film
Tasmanian tiger could soon be cloned
Are Tassie tigers living in the city?
New type of ancient lion found in Australia
Alive! Creature thought extinct found
Why can't we film thylacines now?
What was the name of the last known living thylacine?
What did the 1978 newspaper article mention?
How likely does Mr Williams think it is that a thylacine is alive?
How many sightings were reported in Tasmania in the past three years?
1. Disappearance of the Tasmanian Tiger
The 1935 film narrator states that the thylacine (Tasmanian tiger) was "forced out of his natural habitat by the march of civilisation". Work with a partner and list the possible and probable reasons that the Tasmanian Tiger is now listed as 'presumed extinct'.
Curriculum Links: English, Science, Critical and creative thinking, Personal and social
Eight sightings of the thylacine were reported between 2016 and 2019. Do you think there is a possibility that the Tasmanian Tiger could still be a living species?
If it wasn't the Tasmanian Tiger, what other animal may it have been?
If it were still alive, what would mean to animal conservation efforts?
Curriculum Links: English, Science, Critical and creative thinking
Connective Collection
After reading the article, with a partner, highlight as many connectives as you can find in pink. Discuss if these are being used as conjunctions, or to join ideas and create flow.
HAVE YOUR SAY: Do you think there are thylacines still alive?


What solar system would this be in?:. prety nice:. good change of pace btw:.
A new world with a gorgeous color scheme and a compelling use of light vs. dark to create an interesting compsoition..
All source, your a mad-man, great work BB. The large version looks great.


General practitioners working with Dust Diseases Care may need to perform respiratory medical examinations.
Our Dust Diseases Care program provides routine respiratory medical screening examinations for people who have been exposed to hazardous dust.
Workers can choose to be examined by local medical officers (LMOs), who are general practitioners (GPs) providing medical care to eligible Dust Diseases Care participants.
If you are an LMO, we will pay for the medical screening examinations we request.
LMOs performing the examinations are not required to make a determination about whether the worker has a compensable dust disease. The results of examinations are forwarded to us for review by a panel of senior respiratory physicians.
Dust Diseases Care will send a letter to both the doctor and the applicant to request a respiratory medical examination.
We send a letter to the doctor requesting that he/she conduct a medical examination on our behalf and gives the name of the applicant. The letter includes a Clinical Card and lists the diagnostic results required.
We send a letter to the applicant with the doctor's name, address and phone number. We also request that the applicant contact the doctor directly to arrange an appointment for the examination.
The doctor performs a respiratory medical examination and records the results on a Clinical Card. We do not require a report from the doctor.
The doctor arranges for the applicant to have a chest X-ray. We prefer to receive X-ray images on CD.
The doctor arranges for the applicant to have a pulmonary function test. Applicants who have not been diagnosed with a dust disease only require a spirometry test. Some doctors are trained and equipped to perform spirometry themselves (if so, the spirometry fee should be itemised separately on the invoice).
Applicants who have previously been diagnosed with a dust disease require two additional tests called 'Diffusing Capacity' and 'Total Lung Capacity' which can only be done in a specialised pulmonary function testing facility. We will only pay for these two tests if we have requested them.
The doctor can, if necessary, send the completed clinical card with the invoice for payment and arrange for the X-ray and respiratory function results to be sent directly to Dust Diseases Care.
What if the applicant does not keep the appointment?
All reasonable expenses incurred by the doctor in relation to the requested examination will be met by Dust Diseases Care including situations where the applicant fails to attend an appointment.
What if the applicant needs a CT scan?
Please call our Medical Screening Services beforehand to discuss if you think we should pay for a CT scan.
What if I want to bring the applicant back for a subsequent consultation?
We will not pay for a subsequent consultation. We send a letter to applicants to advise them of the outcome of each respiratory examination.
What if the applicant requires treatment?
You can treat or refer but we will only pay for the respiratory medical examination requested by us.
Workers who have already received an award of compensation may be eligible to have medical treatment expenses paid by us. Proposals to provide treatment to patients in this category should be discussed prior to treatment with our Health Care Services Team on (02) 8223 6600.
If you require any other information or need to discuss our requirements for respiratory medical examinations please feel free to contact our office.


text:
AJC Welcomes the Passage of EU-Israel Pharmaceutical Agreement
October 23, 2012 – Brussels – AJC welcomes the European Parliament's decision to give its consent to ACAA, a technical agreement between the EU and Israel designed to facilitate pharmaceutical trade, by a margin of 379 in favor to 230 against.
"After over two years of unnecessary delays and stall tactics, European lawmakers were finally given their democratic right to vote on ACAA and a clear majority rightly chose to give their consent," said Daniel Schwammenthal, Director of the AJC Transatlantic Institute in Brussels.
"At its core, this was not a debate on the merits of the agreement. This was about politics," Schwammenthal added. "Some Members of the European Parliament were putting their disagreements with Israel ahead of their obligations to ensure their constituents had fast access to the best and most affordable healthcare."
The European Council, the body comprised of the heads of the 27 Member States, agreed to the ACAA protocol back in March 2010 and it was referred to the European Parliament for its consent. The file sat in the Parliament's Committee on International Trade for over two years until a vote was held on September 18, 2012, in which a majority of deputies gave their consent.
"Israeli pharmaceutical companies are at the cutting edge of research, finding innovative treatments that help save lives and reduce suffering. What's more, through their leadership in the generics market, Israeli medicines help healthcare providers reduce spending while maintaining high quality standards," noted Schwammenthal. "ACAA is simply about the interests of European patients."
Daniel SchwammenthalEuropean ParliamentEuropean CouncilEU Association Agreement
AJC Hails Israel's Joining EU Horizon 2020
June 9, 2014 – New York – AJC praised the signing of a landmark agreement enabling Israel to participate in the European Commission's Horizon 2020 research and innovation program.
"Forward-looking, ground-breaking cooperation between Israel and...
Counterpoint: Experts and Israel's Ambassador to EU discuss EU-Israel Relations
Counterpoint host Joshua Goodman, Daniel Schwammenthal (Director, AJC Transatlantic Institute), Roland Freudenstein (Deputy Director, Wilfried Martens Centre for European Studies) and Jan Techau (Director, Carnegie Europe) discuss EU-Israel relations with special guest David...
AJC Transatlantic Institute Gala Celebrates a Decade of Engagement of Advancing U.S.-Europe Partnership
February 20, 2014 – Brussels – AJC's Transatlantic Institute (TAI) celebrated its tenth anniversary with a gala dinner in Brussels. The evening was a celebration of the vital importance of the relationship between Europe and the U.S. "We are here tonight to celebrate our...
AntisemitismIranIsraelTerrorism & RadicalismTransatlantic Relations
Counterpoint: Would Israel Accept NATO Forces in a Future Palestinian State?
Tommy Steiner, a Senior Research Fellow at IDC Herzliya, joined Joshua Goodman (Host), Daniel Schwammenthal (Director, AJC Transatlantic Institute) and Roland Freudenstein (Deputy Director, Centre for European Studies) to discuss the question of whether Israel would accept a...
IsraelTerrorism & Radicalism
AJC Welcomes Dutch Parliament Call to End Financial Rewarding of Palestinian Terrorists
4 December 2013 – Brussels – The AJC Transatlantic Institute welcomed the passing of a motion in the Dutch Parliament calling on the government to pressure the Palestinian Authority (PA) to end its use of aid to reward terrorism.
"The Dutch...
Counterpoint: Five Questions on the Iran Deal
While a deal may have been reached over Iran's nuclear programme, many questions still remain. Counterpoint host Joshua Goodman poses 5 questions about the deal to Daniel Schwammenthal (Director, AJC Transatlantic Institute) and Jan Techau (Director, Carnegie Europe).
IranIsrael
Counterpoint: The Iran Deal from Israel's Perspective
Israeli Prime Minister Benjamin Netanyahu responded to the nuclear deal with Iran by calling it a "historic mistake," a criticism echoed by many in his cabinet. But was this a wise reaction? Joshua Goodman, Daniel Schwammenthal (Director, AJC Transatlantic Institute) and Jan...
Counterpoint: Does the EU Deserve Praise for the Iran Deal?
EU High Representative Catherine Ashton has been highly lauded for her role in securing a deal with Iran. But does she and the EU overall deserve such praise? Host Joshua Goodman poses that question and more to in-house experts Daniel Schwammenthal (Director, AJC...
AJC Welcomes Israel's Participation in the EU's Horizon 2020
27 November 2013 - Brussels - AJC welcomed the announcement that Israel will join the EU's Horizon 2020 program. Under the cooperative agreement Israel will contribute 500 million EUR and could receive upwards of 1.4 billion EUR in support of research and innovation projects...
That "Moment of Clarity" at the UN over Israel
The Commentator
Outer Space is one of the topics the UN General Assembly's Fourth...


text:
SAG shooting: Chain Singh completes a treble
Chain Singh won the 50m rifle three-position event in a canter, upsetting his seasoned team-mate Gagan Narang with a commendable total of 453.3 points.
A. Vinod
Guwahati 14 February, 2016 20:19 IST
Chain Singh celebrates after winning the men's 50m rifle three-position gold. - K. MURALI KUMAR
In the months ahead, we are sure to follow the progress of Chain Singh. The 26-year-old Army shooter, who has been in such roaring form since the 35th National Games in Thiruvananthapuram last year, once again proved that he was the man to beat, as he won his third individual gold medal of the 12th South Asian Games at the SAA Complex, Kahilipara, on Sunday.
As in the finals of the 50m rifle prone and 10m air rifle events, Chain Singh won the 50m rifle three-position event in a canter, upsetting his seasoned team-mate Gagan Narang with a commendable total of 453.3 points.
It is true that he did not enjoy the best of starts in the first series of kneeling position, but Chain Singh quickly adapted to the conditions and thereafter never looked back. He was calm and focussed right till the end.
With a total of 1170, it was Chain Singh who led the eight finalists from among the 12 that took part in the qualification. Narang was second with 1167, ahead of Surendra Singh Rathod (1153). India took the team gold as well with a tally of 3490 points. Sri Lanka (3431) and Bangladesh (3398) took the second and third spots.
In the final, Sri Lanka's H. D. P. Kumara led initially before Chain Singh came up with a brilliant show in the next two rounds of the same series. The Doda-born marksman had a good 9.2 points lead over Narang, as the shooters went into the prone position.
Narang too staged a terrific comeback by overcoming an indifferent start. As the match progressed, it looked as if India was well set to make a clean sweep of the individual medals when Rathod joined Chain Singh and Narang at the top after the prone round.
However, Rathod was unable to maintain the same form in the standing round. Managing just 43.1 in the second five shots, he dropped down to seventh position. Narang won the silver medal – his third at the Games – with a total of 450.3 points, while S. M. M. Samarkoon (Sri Lanka) settled for the bronze with 430.9.
Reflecting on his performance over the last four days, the genial Chain Singh said that not much should be read into his three straight victories over Narang. "I was here with the sole purpose of improving. It certainly gives me joy that I have won three gold medals as it has now given me immense confidence to shoot well in the World Cups in the next few weeks."
Narang too felt that his participation in the South Asian Games would stand him in good stead for the challenges ahead. "I was basically here to get a feel of the pressure of competing in three finals so as to prepare myself for the major events. I think that now I have a clue on the areas that require improvement, and as such, I am satisfied with my performances," he said.
In the 25m rapid pistol, the first stage of which was gone through during the day, Mustafa Ghulam Bashir (Pakistan) led the field with 291 points. Close on his heels was Gurpreet Singh (290). Akshay Suhas Asthaputre and Vijay Kumar were placed third and fourth among nine shooters with 285 and 283 points respectively.
Men – 50m rifle three-position: 1. Chain Singh (Ind) 1170, 453.3; 2. Gagan Narang (Ind), 1167, 450.3; 3. S. M. M. Samarkoon (SL), 430.9. Team: 1. India 3490; 2. Sri Lanka 3431; 3. Bangladesh 3398.
Read more stories on SAG.


This CRL Shower Pull and Hinge Set consists of one each BM6x6 Tubular Back-To-Back Pull Handle that has hole spacing of six inches (152.4 millimeters) Center-to-Center, and two each Pinnacle 037 Series Wall Mount Full Back Plate Standard Hinges. We've made it easier for you to get two of our most popular Hinge and our best-selling Pull Handle by combining them in one easy-to-order set. These Wall Mount Hinges or Top and Bottom Mount Pivot Hinges make up over 90 percent of our demand.


The cocoa bean which is used to produce chocolate grows mainly in areas of Western Africa, Asia, and Latin America. Western African countries supply more than 70% of the world's cocoa. Cocoa produced in West Africa is sold to many chocolate companies around the globe. The rampant use of child labor in the production and harvesting of cocoa is beginning to receive media attention. West African farms supply companies such as Hershey's, Mars, and Nestle; which begs the question…….Are these companies getting rich on the backs of child labor and slavery from West African countries?


Condo/Townhouse Full ocean view 2 bedrooms 3.5 baths all custom with Kohler Purist fixtures. The frosted glass doors throughout really make the place dance with light during the day, with soft, mood setting dimmers at night. There are four high-end LED TV's in the living areas, so nobody has to miss a drop of the action during football season. The four decks and lanai garden make it a tropical paradise of oceanfront outdoor living, and getting around the house isn't an issue with our own real wood paneled elevator. The kitchen has all new Electrolux appliances, including a wine cooler and an induction cooktop, and a hood vent. Rooftop deck with full ocean views. Great for star gazing. Secured entrance. Wonderful shared pool with clubhouse. Full ocean view 2 bedrooms 3.5 baths all custom with Kohler Purist fixtures. The frosted glass doors throughout really make the place dance with light during the day, with soft, mood setting dimmers at night. There are four high-end LED TV's in the living areas, so nobody has to miss a drop of the action during football season. The four decks and lanai garden make it a tropical paradise of oceanfront outdoor living, and getting around the house isn't an issue with our own real wood paneled elevator. The kitchen has all new Electrolux appliances, including a wine cooler and an induction cooktop, and a hood vent. Rooftop deck with full ocean views. Great for star gazing. Secured entrance. Wonderful shared pool with clubhouse.


Bounty Train strategy simulation game only has support for Mac and Windows, while Linux is coming. So native gamers can take part in Lucrative and risky deals across the US. Available now in the Humble Daedalic Bundle 2018 at the $12 USD tier.
Alright, so we have Linux support inbound. This Steam Discussion comment comes directly from Publisher Daedalic Entertainment. Which is a rather solid confirmation that native support is actually coming.
Bounty Train is a complex, tactically challenging game. Since the player has to deal with real time skirmishes with bandits, trading goods for the best prices. Also resource management, train optimization and keeping the line (and train) in good repair.
In addition, Bounty Train confronts the player with historical events. From the onset of the Civil War to the assassination of Abraham Lincoln. Depending on player choices and performance, the course of history may change too.
Bounty Train borrows elements from many genres and uses them to build a greater whole. A new unique strategy game experience. A masterpiece for strategy fans everywhere.
No two games are ever the same, how far will you get in building your rail empire?
Bounty Train is available for Mac and Windows via GOG (discounted 60%), Steam and Humble Store at $24.99 USD. The best deal is available in the Humble Daedalic Bundle 2018 for $12 USD. Since Linux support is coming, ideally soon.
We do not have a formal release date just yet.


text:
Bicycle Games
Extreme Triathlon
Cycling Marathon
BMX Champions BETA
Extreme Triathlon is not available anymore. Let's try a new game instead!
What is Extreme Triathlon ?
Extreme Triathlon is a very nice game where you will have to prove that you're an accomplished athlete and good at all sports as possible. Think you can do that? We invite you to try to see what you're capable. In this game you use the keyboard you will set in motion and you act every move the athlete that you'll control it. Be careful and focused because this game requires very careful if you want to leave everything perfectly and have the chance to come in among the top players. There will be more samples sport, and you have to participate at all, it's a complete path from where you have to come first to take gold and make your country proud that sent you to this world championship athletics . Give it your best shot to succeed as performance has not managed any other participant and become number one among the best players. Success! Hopefully this game is to your liking and invite you to try the other games on the site. Thank you!
Use the keyboard.


SEO's discuss the contradictions that are well known, and often well argued, within the SEO/SEM industry. Many contradictions draw lines between black hat and white hat SEO practices, while others fall more in the grey area. For example, Contradiction #12: Blogs rank too well vs. SE's don't like blogs. This one might be a bit too black and white. Anvil has seen optimized blogs and blog postings do very well in search engines – but whether they are ranking too well or to say that the engines flat out don't like blogs may be too much a blanket statement.


Adelaide Hills Wine | The Lane Vineyard | South Australia.
Don't miss The Lane! Appreciate exquisite single vineyard wines. Linger over lunch in the Dining Room. Be intrigued; take a tasting or tour. Sweeping views. Friendly service. Casual bliss!
Open Daily, 10am - 4pm.


...finding colours, love and you ♥ `: First Vegetarian Buffet!
I just went for my first vegetarian buffet at Lingzhi, a restaurant under the Tung Lok group. Why vegetarian? Because my grandma is vegetarian! I was initially kinda apprehensive about it; what is there to eat at a vegetarian buffet???
It turned out to be pretty good food actually. Very little selection, but it tastes good! There were alot of fried food though, good way to fill up our tummies. Drinks were payable, even water was payable ($1!). I guess that is how they earn, because the high tea buffet was pretty cheap - $14.80++ pax!
After high tea at Novena, all 20+ of us headed to Udders at Goldhill. My er gu is quite hip, she also know about Udders! It is quite amazing, like one big congregation moving towards United Square. Give us some drums and trumpets and we are a marching band!
I was too slow in capturing this picture, but we were filling up the entire escalator!
Udders was too small to accommodate all of us, some of us had to stand around outside. Er gu and Uncle Pingkok treated us to icecream (actually they paid for Lingzhi too!). Actually I quite like it that we go out as a big family. Perhaps I need to interact more, I think I am too quiet amongst my cousins.
Then again, I am extra quiet these days. I don't talk much - I am so quiet amongst the STEER group and Nuffnang bloggers. Compare to when I am with my pri/sec/jc friends...omg so different!


text:
Jack Coleman
Obama To Sharpton: Voter ID Laws No Barrier to 'Overwhelming Majority' of People Who Don't Vote
October 23rd, 2014 8:19 PM
How about that, maybe those wild-eyed assertions that Barack Obama isn't who he claims to be aren't far off the mark after all. Once liberals hear his latest remarks on voter ID laws, they just might conclude that Obama is a Manchurian candidate -- for conservatives.
The president was a guest on Al Sharpton's radio show Tuesday -- yes, "the Rev" has a radio program but hardly anyone listens because it's even more dreary and predictable than the awful dreck he serves up on MSNBC.
In a shocking turn of events for those of us occasionally required to listen to Sharpton, his program on Tuesday with Obama calling in made for delightful radio when the subject turned to voter ID laws (audio) --
SHARPTON: What do you say to people that have become discouraged because of voter ID laws and other laws that your Justice Department has challenged but has not in every state succeeded in straightening out? What do you say to those voters in those states?
OBAMA: Well, we're going to keep on challenging many of these laws. But keep in mind that most of these laws are not preventing the overwhelming majority of folks who don't vote from voting.
SHARPTON: Mmm hmm (sounding like he agrees).
OBAMA: Most people do have an ID. Most people do have a driver's license. Most people can get to the polls. It may not be as convenient and maybe a little more difficult, it may be a few people who are impeded. And if you go to iwillvote.com, it'll give you information also on (whether) somebody is unfairly preventing you from voting, but the bottom line is, if less than half of our folks vote, these laws aren't preventing the other half from not voting. The reason we don't vote is because people have been fed this notion that somehow it's not going to make a difference. It makes a huge difference. The fact of the matter is that we've now had four years of a Republican House of Representatives because in 2010, Democrats didn't vote and Republicans did.
So much for the overwrought claims that voter ID laws are akin to Jim Crow. Speaking of crow, Congressman Jim Clyburn will be forcing down an unpalatable serving, if he hasn't already.
As to be expected, Sharpton's interview with Obama was featured prominently on his MSNBC show several hours later. And just as predictably, Sharpton could not bring himself to play audio of Obama's remarks on voter ID. Instead, he played a snippet of Obama citing the obvious importance of getting out the vote --
SHARPTON: Throughout our discussion, the president emphasized one theme above all -- get out and vote, even if there's voter ID. Even if some are trying to suppress your rights, you need to get out and vote.
OBAMA: If we have high turnout in North Carolina, then we will win. We have high turnout in Georgia, we will win. If we have high turnout in Colorado, we will win. And so, so, across the board, it is important for us to take responsibility and not give away our power. Just turn out and vote ... get out there and vote. Now's the time to do it, no excuses. Keep on getting those folks out to the polls.
SHARPTON: Yes, sir.
OBAMA: Tell them the president said, no excuses. The first lady said no excuses.
Expect to hear Obama's remarks from Sharpton's show -- the ones on radio, not cable -- repeated over the next 10 days ... in GOP ads.


Ambient Chiropractic & Wellness provides quality chiropractic care in Rolling Hills Estates, California and surrounding areas while teaching The 100 Year Lifestyle principles of optimum health, longevity and wellness.
When you are suffering from an injury including neck pain, back pain, knee pain, foot pain, sciatica, low back pain or other health problems such as headaches, digestive issues, heartburn, numbness or tingling in your fingers or toes – the chiropractic care we provide will give you the relief and stability you are looking for and address the underlying cause.
If you want to reach optimum health and peak performance levels regardless of your age or provide healthy drug free solutions for your children and family, our practice will be a great fit for you. Help yourself and your family avoid the opioid epidemic.
Call 310-541-4209 to schedule an appointment.
Call 310-541-4209 to learn more.


My Bookgroup just finished and discussed "The Ominvore's Dilemma" by Michael Pollan. I highly recommend it. Not quite as approachable as "Animal, Vegetable, Miracle" by Kingsolver, but really quite fascinating and thought provoking. The highlight of the book discussion was one woman who said she had not even realized how much she had come to depend on convienience store food and packaged goods. Because of the book she had started cooking again for the first time in years, and was loving it. That is a pretty good endorsement I think.
In the Progressive blogger-writer world, some of our own have had successful book launches recently. Including a few who used the new technology at Facebook to create and build interest in their book releases.
"Outright Barbarous: How the Violent Language of the Right Poisons American Democracy" by the Frame Shop guru, Jeffrey Feldman.
"Free Ride: John McCain and the Media" by David Brock and Paul Weldman. Important as we head into the general for sure!
Your turn. What's on your TBR pile? What are you reading now? What has caught your eye at the local bookstore? Do you have a local bookstore? You get the gist.


text:
AOC Hospitality
Hospitality Management and Consulting
North Charleston-based Restaurant & Beverage
Program Consultants
AOC Hospitality is a hospitality management and consulting company founded by restaurateurs Matt Tunstall and Justin Croxall. These two F&B veterans bring more than 40 years of combined industry experience working in and managing restaurants and wine bars. In 2016, the pair opened Stems & Skins, a neighborhood wine bar located in North Charleston, which has been named a James Beard Foundation semifinalist for "Outstanding Wine Program" and was recognized as one of the "Most Important Natural Wine Bars in America" by Food & Wine magazine.
Through AOC, Matt and Justin help restaurateurs develop top-notch beverage programs, providing insight into building high-quality yet approachable wine lists, beer selections and cocktail menus. In addition, they provide expertise in overall restaurant operations including cost management and staff training. The team can help restaurateurs develop their overall food concept, developing thoughtful menus which showcase culinary talent. They also have access to architectural design partners to create innovative build outs and design concepts which represent your overall restaurant philosophy and help to convey your story.
© 2023 by Ground Floor. Proudly created with Wix.com


text:
Q: Zombie.js - Test if object property found Im a bit new of Zombie.js testing, and hard to search so I will ask here ...
Example : (Globla variable)
hello = {"world" : "...."}

So I test something like :
describe('Check varibles', function() {
    it('If ---> hello <--- exits', function(done) {
        browser.assert.global('hello');
        done();
    });

    it('If ---> hello.world <--- exits', function(done) {
        // ????
        done();
    });
});

I can check if hello is exits. But how to check if hello.world` is exits ?
I tried with :
browser.assert.global('hello.world'); // AssertionError: undefined == true

A: Oh I got an alternative (use assert directly)
First : require assert
const assert = require('assert');

So do something like :
it('If ---> hello.world <--- exits', function(done){
   assert.ok(browser.window.hello.world);
   //assert.ok(!browser.window.hello.world); <-- or check if not exits
   done();
});


Find an overview of these issues and efforts to address them by the Massachusetts Office of Coastal Zone Management (CZM).
Most boat bottoms are coated with anti-fouling paints to prevent biological growth that can reduce boat speed and fuel economy. This bottom paint typically contains high concentrations of copper as its active ingredient. Copper is a very effective deterrent to bottom fouling, however, it is harmful to marine organisms.
Even with a coat of bottom paint, most vessels need to have their hulls cleaned once a year to remove biological growth. The most popular and efficient method is to power- or pressure-wash the hull once the boat is hauled from the water by using a high-pressure stream of water over the boat bottom while the boat is situated over a travel-lift well or on a boat ramp. The resulting washwater contains fouling organisms and paint chips, and if not properly managed, may contaminate surface water and groundwater.
These data and other studies on contaminants in pressure washwater demonstrate that treatment of this wastewater is necessary to meet state and federal discharge limits before discharging to coastal waters, sanitary sewers, or into the ground (groundwater).
Most marinas or boatyards performing boat maintenance outdoors are required to have permit coverage under the National Pollutant Discharge Elimination System (NPDES) Stormwater Multi-Sector General Permit for Industrial Activities. To date, Massachusetts has not been delegated to administer this program. Therefore marinas in Massachusetts must follow the federal permit rules. The NPDES stormwater permit specifically prohibits the inclusion of pressure washwater in stormwater discharges. As a result, facilities need an individual NPDES permit, if the pressure washwater is discharged directly to coastal waters. If discharging onto a permeable surface, such as gravel, facilities need a groundwater discharge permit. A permit is also required for discharge to a sanitary sewer. Discharge to a septic system is prohibited. Regardless of the discharge option, these permits require significant pretreatment of the wastewater prior to discharge. All pretreatment systems (for discharge) likely need to be run by a state certified operator. In addition to the wastewater, some solids are generated, which need to be analyzed and disposed of properly.
As part of a comprehensive effort to assist marinas in tackling this difficult issue, the Massachusetts Office of Coastal Zone Management (CZM) awarded $12,500 each to Cape Ann Marina in Gloucester and Arey's Pond Boatyard in Orleans for the installation of treatment systems to remove pollutants from pressure washwater. In December 2004, each of these facilities hosted a demonstration event that allowed the general public, marina operators, and state officials to view the funded systems. Progress has been made since then and a number of facilities have installed washpads and wastewater treatment systems and many more have begun planning for systems.
In addition to these demonstration projects, and recognizing that the pressure washing information in the Massachusetts Clean Marina Guide was incomplete, CZM has developed a pressure-washing addendum to the guide. A Guide to Selecting Pressure Washing Management Practices and Technologies: Supplement to the Massachusetts Clean Marina Guide (PDF, 1 MB) provides guidance to marinas and boatyards about the proper handling and disposal of wastewater and solids generated when boat hulls are cleaned, including a review of relevant regulations, pressure washwater disposal options, and equipment that can be used to minimize impacts from pressure washing practices.
Please contact Robin Lacey, CZM's Marina Technical Assistance Specialist, if you have any questions about the demonstration projects, pressure washing, or general environmental management questions related to clean marinas.


Paper Flowers For Wedding Backdrop is free HD wallpaper. This wallpaper was upload at October 14, 2018 upload by aaronbaker in Wedding Flowers.
Paper Flowers For Wedding Backdrop. This wonderful picture collections about Paper Flowers For Wedding Backdrop is available to save. We obtain this wonderful picture from online and select the top for you. Paper Flowers For Wedding Backdrop images and pictures collection that posted here was properly picked preferred and published by aaronbaker after selecting the ones which are best among the others. So, ultimately we make it and here these list ofamazing photo for your ideas and informational purpose regarding the Paper Flowers For Wedding Backdrop as part of aaronbaker.info exclusive updates collection. So, take your time and find out the best Paper Flowers For Wedding Backdrop photos and pictures posted here that suitable with your needs and use it for your own collection and personal use. About Pic description: Graphic has been published by aaronbaker and has been tagged by paper flowers for wedding backdrop in Wedding Flowers field. You can leave your opinion as feed back to our site value.
So, finally we make it and here these list ofawesome image for your ideas and informational purpose regarding the Paper Flowers For Wedding Backdrop as part of aaronbaker.info exclusive updates collection. So, take your time and get the best Paper Flowers For Wedding Backdrop images and pictures posted here that suitable with your needs and use it for your own collection and personal use.
Regarding Photo brief description: Graphic has been uploaded by aaronbaker and has been tagged by paper flowers for wedding backdrop in Wedding Flowers field. You can easily leave your comment as feed back to our web page value.
Paper Flowers For Wedding Backdrop is high definition wallpaper and size this wallpaper is 1280x720. You can make Paper Flowers For Wedding Backdrop For your Desktop Background, Tablet, Android or iPhone and another Smartphone device for free. To download and obtain the Paper Flowers For Wedding Backdrop images by click the download button below to get multiple high-resversions.


On behalf of Lisa E. McKnight, P.C. posted in family law on Monday, November 5, 2018.
If you currently live with someone in Texas, it may surprise you to discover that the two of you could be legally married even though you never had a wedding ceremony or got a marriage license. The reason for this is that Texas is one of the 16 states that recognizes common law marriage.
Are high asset divorces complicated?
On behalf of Lisa E. McKnight, P.C. posted in family law on Friday, August 24, 2018.
You and your spouse may find that under divorce laws in Texas, the joint assets that you enjoyed together can become a source of headaches during a divorce. The higher your assets are, the more potential troubles you could run into as the litigation involved becomes more and more complex.
On behalf of Lisa E. McKnight, P.C. posted in family law on Friday, March 9, 2018.
When you get married in Texas, your new wife may have children from a previous marriage. In some situations, you may want to adopt these children. We at Lisa E. McKnight, PC, understand you usually have many questions about this process.
On behalf of Lisa E. McKnight, P.C. posted in family law on Thursday, October 5, 2017.
In celebrity divorce cases, alimony awards, referred to as spousal maintenance in Texas law, sometimes seem exorbitant. The divorce of Terrence Howard, star in the television series "Empire," and Michelle Ghent, for example, initially ended upon agreement that Howard pay $5,800 in monthly alimony support payments. However, later he claimed he was under duress during the signing of the agreement based on threats Ghent had made to publicly disclose private photos. On that basis, the lower court disapproved of the monthly alimony award in their final judgment of divorce because they found that Howard was under duress due to the threat. Ghent, claiming error on the part of the lower court's finding and judgment, appealed the judgment and won. The appeals court found that Howard was not under duress when he signed the agreement. Now, the lower court will be required to amend its judgment consistent with the opinion of the appeals court.
On behalf of Lisa E. McKnight, P.C. posted in family law on Monday, June 5, 2017.
Late or missing child support checks are a problem for single parents across the nation, but Texas is attempting to crack down on child support payments that have fallen into delinquency. As CBS DFW reports, the ability to register a car is now linked to a driver's child support payments being in good standing. The program, which went into effect in September 2016, prevents drivers who have not paid the child support from being able to renew their cars' registration. More than 4,600 cases have received payment since the law was enacted.
On behalf of Lisa E. McKnight, P.C. posted in family law on Sunday, March 19, 2017.
Once approved by a family court judge, a parenting plan is a legally binding agreement. This means that both parents have a legal responsibility to adhere to its terms. And if for some reason one of the parents wants to have the agreement modified, then he or she will have to again get approval from a judge. But doing so is not always a simple matter, especially if the other parent is against making any changes to the plan's terms.
On behalf of Lisa E. McKnight, P.C. posted in family law on Thursday, March 16, 2017.
Serious relationships headed down the aisle must be commended for their unmatched commitment. Honestly, nothing can be compared to the joy of finding someone to share your life with and raise a family. At such a period, you can hardly imagine any challenges lying in the horizon that might cause irreparable damage to your marriage. Unfortunately, not all nuptials get to live up to their expectations courtesy of infidelity or irreconcilable differences.
On behalf of Lisa E. McKnight, P.C. posted in family law on Tuesday, December 20, 2016.
If you are in a relationship that is headed down the aisle, then congratulations. Finding that special someone with whom to share your life is an amazing experience. And you may be in such a state of mind and heart that it's impossible to imagine that your marriage will ever have any serious hurdles to clear.


Always is a sysadmin task, to verify the performance of the server and its services. Especially if the applications that your company uses are hosted in it. By default, almost all database managers have standard configurations to ensure as much as possible that the performance is good. However, not all computers are the same, much less the servers. So, in this post, I will help you optimize MySQL / MariaDB on Linux to increase performance.
The main objective of this post is to show you various parameters that you can modify to increase the performance of MySQL or MariaDB, but keep in mind that each server is different, then each one has its different needs and in the end, it depends on you.
The vast majority of the settings that apply to MySQL / MariaDB can be applied from this file. It can be found in the following path /etc/mysql/.
You have to know that in this file many things can be done, including damaging the server. So the first thing to do is to be careful what you do.
query_cache_type: Simply in this option, you can activate or deactivate the cache of the application. It is recommended to activate it by placing the value of 1.
max_allowed_packet: It's up to you here. This parameter allows you to define the maximum size that MySQL / MariaDB can work with. Example, if you want to import a very large database, then the value must be high.
query_cache_size: Defines the size of the query cache. Very important, but it has a little trick, you should put 64Mb for every 1GB of RAM your server has.
key_buffer_size: Specifies the size of the index cache. Note that if this value is too high you can cause the server to collapse. Normally, it should be 32Mb for every usable 1Gb. The higher the better, as long as you have the resources to do so.
thread_cache_size: The maximum number of process threads that can be used. Here you must define between 32 and 64 in order not to saturate the processor.
max_connections: Defines the number of total simultaneous connections the server will accept.
wait_timeout: It is the waiting time that MySQL takes to close a connection.
Of course, there are many more parameters, however, I believe that these are the most basic ones to modify.
There is a fairly simple tool to apply that can help us with the MySQL / MariaDB configuration and optimization process. I'm talking about MySQLTuner.
MySQLTuner is a script written in Perl that allows you to review a MySQL installation quickly and make adjustments to increase performance and stability. The script has many indicators that will recommend the policies to apply to our server.
Let's use it. First, download it.
It is recommended to execute this script when you have a real database so that the data you can collect is as real as possible. In this case, I'm doing a test.
If it is in your possibilities it is good that you can acquire for your server a disk SSD. The SSD disks are rather expensive but compensate much in performance and this is important in their production server.
In some cases, when the hard disk is very fragmented its performance is up to 400% lower than an SSD. That is, it is too much difference.
It is not very difficult to optimize MySQL / MariaDB but it is very important to do it. For this, we have a tool like MySQLTuner to help us with the task.
On the other hand, it is good to improve the resources of our server as an SSD so that MySQL / MariaDB also improves performance.