text:
Thursday, Jun 11, 2020
SA's COVID-19 performance - the expert analysis
As SA slowly lifts restrictions and passes two weeks with no new COVID-19 cases, questions are asked: why is this state in such a good position, and how did it avoid the outbreaks experienced elsewhere? InDaily called some experts.
Max Opray
Drive-through COVID-19 testing at the Repat hospital began in March. Photo: Tony Lewis/InDaily
When the COVID-19 pandemic took hold across the globe in January and February, Australian Medical Association SA president Chris Moy remembers being gripped by fear over the unprecedented nature of the situation.
"Nobody had been let down the slide before," he said. "Everyone was scared – I was scared about whether my recommendations were right. It was a ridiculous, overwhelming amount of anxiety-inducing information, even for the decision makers."
Several months on, with no active cases across the state and just four reported deaths despite some of the most relaxed restrictions in the country, it seems that Moy and other key decision-makers got their response largely right.
Leading medical experts contacted by InDaily agree, but note that it was as much a case of COVID-19 avoiding SA as it was of SA avoiding COVID-19, with the state enjoying a host of natural advantages compared to much of the world.
These include low-density living environments, lower levels of public transport use, and — most of all — lower numbers of international visitors compared to other Australian states.
Epidemiologist Professor John Kaldor, the head of the Public Health Interventions Research Group at UNSW's Kirby Institute, mostly credits the suppression of the virus to the national response.
"The jurisdictions clearly have different histories of case numbers, but that was largely a result of the patterns of entry from overseas," he said. "And with higher entry numbers to deal with, the probability of sustaining an outbreak event such as Ruby Princess or Cedar Meats was also elevated in those jurisdictions."
Adrian Esterman, Professor of Biostatistics at the University of South Australia, credited the SA public for adhering to social distancing, but also noted that "we were lucky in that SA has comparatively few cruise liners turning up to infect us and doesn't have a major international airport hub".
Interstate cruise ships proved a threat in any case, with dozens of SA cases linked to exposure to passengers returning from the Ruby Princess after it arrived from Sydney.
This leads to another key element to the state's suppression of COVID-19: the introduction of mandatory quarantine for interstate visitors from late March.
Stephen Duckett, the Health Program Director for the Grattan Institute, highlighted the border closure as a vital move, and noted it was more feasible for SA than states that never took that step.
"Victoria and NSW feature a number of conurbations on their border — multiple places along the Murray with towns spanning both sides with close links," he said. "SA has a bit of that with Victoria, but not to the same extent."
Duckett, a member of South Australia's independent Health Performance Council, stresses that the state did excel in its response, noting that SA Health was in more regular contact with him than their interstate counterparts about using Grattan Institute data to track the spread of the virus across the country.
"They were on top of the issue early, closely monitoring it, so they saw where and when infections were rising," he said.
In a statement, the Department for Health and Wellbeing's Chief Public Health Officer, Professor Nicola Spurrier credited widespread testing as the key to suppressing the virus.
"Unlike other states, we began testing any South Australian with a respiratory illnesses for COVID-19 in early February," she said.
Moy agrees, noting the early focus on testing explains why SA appeared to be one of the first to suppress the virus, yet sits mid-range in many of the key statistics tracking state-by-state performances.
Whereas Victoria is the current leader in the testing rate today, SA was the national leader at the end of April, when it had tested 3.2% of the population compared to NSW in second place with 2.6%.
Moy argues that high levels of testing when the virus was more prevalent boosted SA's recorded infections, explaining why the state has the equal third-highest infection rate per capita in the country, equal or behind states still battling outbreaks such as Victoria, Queensland and WA.
Aside from testing, Moy argues the state's public health bodies outperformed other states "in the small things", including better communication with doctors through weekly webinars, and with the state's population through public messaging.
"One example was in signage at medical clinics: the Victorian one was just hopeless," he said. "It said that if you're experiencing symptoms, please talk to a receptionist. That's not on, you'd infect staff. So ours were placed out the front saying 'please don't enter the practice if you have symptoms, call in' [on the phone]. Little things matter."
A spokesperson for Victoria's Department of Health and Human Services said that advice to GPs is regularly reviewed and updated, and that current advice is to call ahead.
Moy argued that the signage was an example of things that should have been taken care of at a federal level that individual states needed to take care of themselves. "We should have national supply chains ready to go for masks and stuff like that," he said. "We shouldn't have had to rely on SA getting it right."
Back at the Grattan Institute, Duckett says that Australia as a whole has done "remarkably well", but sounds a note of caution. "We're not out of the woods yet, and could still have a second wave," he said. "I would be cautious about saying we're the best thing since sliced bread."
Want to comment?
Send us an email, making it clear which story you're commenting on and including your full name (required for publication) and phone number (only for verification purposes). Please put "Reader views" in the subject.
We'll publish the best comments in a regular "Reader Views" post. Your comments can be brief, or we can accept up to 350 words, or thereabouts.
This article is supported by the Judith Neilson Institute for Journalism and Ideas.
Melissa Woods Friday, January 14
Thomas Kelsall Friday, January 14
Stephanie Richards Friday, January 14


The post Ultra-marathon Runner Reviews the Garmin Instinct Outdoor GPS Smartwatch appeared first on .
The post Most of the Fenix, Half the Price: S$499 Garmin Instinct Comes to Singapore appeared first on .
A new study finds that moths can remember things they learned when they were caterpillars — even though the process of metamorphosis essentially turns their brains and bodies to soup. The finding suggests moths and butterflies may be more intelligent than scientists believed.


text:
Night Justice
The True Story of the Black Donnellys
Edwards, Peter
February 2005 is the 125th anniversary of the Donnelly mass murder. Night Justice is the first serious re-evaluation of this crime and features previously unpublished material. Late on the frigid night of February 4, 1880, five members of the Donnelly family were slaughtered in their homes near Lucan, a hamlet outside London, Ontario. The Toronto Globe called it "the blackest crime that ever disgraced and shocked the Dominion." The killers were a mob of neighbours, a vigilante society incited by the local parish priest to take matters into their own hands. Known as "night justice," this practice was all too common in small communities. In fact, the local police constable, Michael Carroll, was a leader of the vigilante murderers. A brutal history of clan violence formed the backdrop for the murders and cover-up. Even with a witness who testified in open court--an 11-year-old boy who hid beneath a bed during the slaughter--and other evidence pointing to the culprits, only one man--the police officer ever faced murder charges, and he was acquitted. Drawing on court transcripts, archival searches, material obtained through the Freedom of Information Act, Peter Edwards tells a shocking tale with fresh revelations on the Donnelly family murder and trial.
Publisher: Toronto : Key Porter Books, c2004.
Characteristics: 384 pages :,illustrations ;,23 cm.
Read more reviews of Night Justice at iDreamBooks.com
Donnelly Family.
Murder — Ontario — Lucan.
Vigilantes — Ontario — Lucan.

redpajama_set_name: RedPajamaCommonCrawl


Beef Farmers of Ontario (BFO) is a producer driven organization. Resolutions from our Annual General Meeting and from those passed by local county/district Associations drive BFO policy development and provide direction for the organization. The Board of Directors is responsible for implementing all policies and providing direction in response to emerging and recurrent issues affecting the Ontario beef industry. Development of all policies and positions are made with the best interests of the Ontario beef industry in mind while giving due regard to the specific needs of the various sectors within the industry.


text:
CalJam17
In 1974, CalJam was one of the most well-executed and financially successful rock music festivals of all time, attracting 400K fans to the Ontario Motor Speedway. In 2017, the Foo Fighters and Live Nation resurrected the festival under the direction of JJLA client BWG at San Manuel Amphitheater. The event featured three stages, over twenty bands, camping, carnival rides, assorted concessions, a museum and multiple wacky and engaging installations. BWG asked the JJLA team to oversee the complete design and décor of the event, which included the artist compound, guest camping areas and the festival site. In a nod to the original event, JJLA recreated the iconic rainbow arch that served as the mainstage backdrop, though this time doubled into two massive 82' wide arches that greeted guests at entrances. JJLA also created photo opps inside the festival including a UFO crash site, a popular art maze complete with fun house mirrors, a flamingo room and a piñata installation, and an assortment of custom-created inflatables peppered throughout the site. The artist compound evoked a "white trash campground," though the silly theme was executed with precision. Jelly and webbed lawn chairs surrounded seating vignettes with a mix of curated materials, from old TV stands to beer tins. Front yards were defined by custom bamboo fencing with a mix of area rugs and welcome mats greeting performers. The event played to sold out crowds and much of the press coverage and social feeds featured images of JJLA's work.


I'm up on the Wild Whisper blog today sharing a Stamp Your Stamps post where I'm using the Home for the Holidays Stamp Set to create some really easy, simple, one-layer cards.
I had tons of fun making this cards and I hope you have fun checking out the blog post, photos and process video.
The best part: I was able to use the Home for the Holidays Stamp Set I co-designed with Wild Whisper and you can even see my handwriting right on the stam!


Polling stations are open today from 7am-10pm for the Local and European Elections. I hope by now you've had a chance to get to know me either through my attempts to knock on your door, email correspondence, my public event with Duncan Stewart, or my media appearances on Vincent Brown or TG4.
One of the things that has struck me as a new entrant into politics is how hard it is for voters to make an informed decision in selecting their public representatives. As your Councillor, I'll work to develop a voter's guide and reform the election process before the next local election. You can read more on my plans to improve election education and reform in my recent blog post.
Dun Laoghaire-Rathdown County Council desperately needs a Green voice at the table to prevent further inappropriate development (such as the new Dun Laoghaire library) and to make sure that we consider issues around community amenities; public transportation; energy efficiency; and flood protection in any future planning decisions. The Green Party has always been the best at ensuring transparent planning processes and was the only political party that was actually complimented in the Mahon Tribunals. My education and experience qualify me to deal with issues around planning and rezoning in a way that benefits our community in the long-term rather than for short-term economic gains.
The larger political parties are well -resourced and have created an election system that favours the status quo. As a member a Party that receives no government or corporate funding, I've funded this campaign on a shoestring budget and faced an uphill battle to get elected. In order to bring my expertise to the Council, I need your first preference vote today.
I know that you have to trust the person you elect to represent you and that's not an easy thing to do with a new candidate, so let me assure you that my intention as your Councillor is to do my best to make this community a healthier, more enjoyable place to live, work, and play. I took on this campaign because, as an environmental scientist and mother, I want to leave a better place for our children and grandchildren to live. I know I have the relevant skills to do so in Dun Laoghaire-Rathdown County Council.
Thank you so much for your consideration. Please keep in touch on any issues that matter to you, and also please consider my colleague, Eamon Ryan, for European Elections today. Eamon is the most sincere and knowledgeable public representative that I have ever met, and without a doubt, the most qualified candidate to represent us in Europe and create real change.
Wishing you a very happy election day!


text:
Q: Lookup City and State by Zip Google Geocode Api I basically want to retrieve a list of city and state within a zipcode. Is Google's Geocode API capable of doing so? I've tried looking into the documentation but found the information overwhelming.
Any help would be appreciated. If there is another method of accomplishing such task, please let me know.
Thanks
EDIT: I was able to retrieve the City and State through: http://maps.google.com/maps/geo?output=xml&q=14606 but is there a limitation against that?

A: couple of months back, I had the same requirement for one of my projects. I searched a bit for it and found out the following solution. This is not the only solution but I found it to one of the simpler one.
Use the webservice at http://www.webservicex.net/uszip.asmx.
Specifically GetInfoByZIP() method.
You will be able to query by any zipcode (ex: 40220) and you will have a response back as the following...
<?xml version="1.0" encoding="UTF-8"?>
 <NewDataSet>
  <Table>
   <CITY>Louisville</CITY>
   <STATE>KY</STATE>
   <ZIP>40220</ZIP>
   <AREA_CODE>502</AREA_CODE>
   <TIME_ZONE>E</TIME_ZONE>
  </Table>
</NewDataSet>

Hope this helps...

A: I found a couple of ways to do this with web based APIs. I think the US Postal Service would be the most accurate, since Zip codes are their thing, but Ziptastic looks much easier.
Using the US Postal Service HTTP/XML API
According to this page on the US Postal Service website which documents their XML based web API, specifically Section 4.0 (page 22) of this PDF document, they have a URL where you can send an XML request containing a 5 digit Zip Code and they will respond with an XML document containing the corresponding City and State.
According to their documentation, here's what you would send:
http://SERVERNAME/ShippingAPITest.dll?API=CityStateLookup&XML=<CityStateLookupRequest%20USERID="xxxxxxx"><ZipCode ID= "0"><Zip5>90210</Zip5></ZipCode></CityStateLookupRequest>

And here's what you would receive back:
<?xml version="1.0"?>
<CityStateLookupResponse>
    <ZipCode ID="0">
        <Zip5>90210</Zip5>
        <City>BEVERLY HILLS</City>
        <State>CA</State>
    </ZipCode>
</CityStateLookupResponse>

USPS does require that you register with them before you can use the API, but, as far as I could tell, there is no charge for access. By the way, their API has some other features: you can do Address Standardization and Zip Code Lookup, as well as the whole suite of tracking, shipping, labels, etc.
Using the Ziptastic HTTP/JSON API (no longer supported)
Update: As of August 13, 2017, Ziptastic is now a paid API and can be found here
This is a pretty new service, but according to their documentation, it looks like all you need to do is send a GET request to http://ziptasticapi.com, like so:
GET http://ziptasticapi.com/48867

And they will return a JSON object along the lines of:
{"country": "US", "state": "MI", "city": "OWOSSO"}

Indeed, it works. You can test this from a command line by doing something like:
curl http://ziptasticapi.com/48867

A: function getCityState($zip, $blnUSA = true) {
    $url = "http://maps.googleapis.com/maps/api/geocode/json?address=" . $zip . "&sensor=true";

    $address_info = file_get_contents($url);
    $json = json_decode($address_info);
    $city = "";
    $state = "";
    $country = "";
    if (count($json->results) > 0) {
        //break up the components
        $arrComponents = $json->results[0]->address_components;

        foreach($arrComponents as $index=>$component) {
            $type = $component->types[0];

            if ($city == "" && ($type == "sublocality_level_1" || $type == "locality") ) {
                $city = trim($component->short_name);
            }
            if ($state == "" && $type=="administrative_area_level_1") {
                $state = trim($component->short_name);
            }
            if ($country == "" && $type=="country") {
                $country = trim($component->short_name);

                if ($blnUSA && $country!="US") {
                    $city = "";
                    $state = "";
                    break;
                }
            }
            if ($city != "" && $state != "" && $country != "") {
                //we're done
                break;
            }
        }
    }
    $arrReturn = array("city"=>$city, "state"=>$state, "country"=>$country);

    die(json_encode($arrReturn));
}

A: Use the GeoCoding API
For example, to lookup zip 77379 use a request like this:
https://maps.googleapis.com/maps/api/geocode/json?address=77379&sensor=true&key=YOUR_GOOGLE_PLATFORM_API_KEY

redpajama_set_name: RedPajamaStackExchange


text:
Former Viewpoint basketball player Miye Oni…
Former Viewpoint basketball player Miye Oni emerging as first-round NBA prospect
Oni and Yale were in town for a road game against CSUN
By Tarek Fattal | tfattal@scng.com | Daily News
PUBLISHED: January 5, 2019 at 11:18 pm | UPDATED: January 8, 2019 at 3:22 pm
NORTHRIDGE >> When it comes to evaluating basketball talent, nobody doubts the words of legendary Duke coach Mike Krzyzewski.
In fact, his words on Dec. 8 during a mid-game interview against Yale served as somewhat of a stamp of approval for junior guard Miye Oni.
"… he will be a first-round pick," Coach K said during Duke's 91-58 rout of Yale.
Oni had 12 points and nine rebounds against Duke that night.
Since then, the Bulldogs (9-3) have won five straight, including Saturday night's 94-90 overtime win over Cal State Northridge at the Matadome. Oni finished the game with 16 points and a game-high seven assists.
Yale Bulldogs guard Miye Oni #25 shoots the ball over Cal State Northridge Matadors forward Lamine Diane #35 in the first half. Yale played Cal State University Northridge on January 5, 2019. (Photo by John McCoy, Contributing Photographer)
Yale Bulldogs guard Miye Oni #25 takes the ball around Cal State Northridge Matadors forward Lamine Diane #35 in the second half. Yale played Cal State University Northridge on January 5, 2019. (Photo by John McCoy, Contributing Photographer)
Cal State Northridge Matadors forward Lamine Diane #35 rebouds the ball against Yale Bulldogs forward Austin Williams #22 ad Yale Bulldogs guard Miye Oni #25 in the first half. Yale played Cal State University Northridge on January 5, 2019. (Photo by John McCoy, Contributing Photographer)
Cal State Northridge Matadors guard Cameron Gottfried #15 guards Yale Bulldogs guard Miye Oni #25 in the second half. Yale played Cal State University Northridge on January 5, 2019. (Photo by John McCoy, Contributing Photographer)
Oni didn't have his best shooting night (5 of 19), but was pivotal in the final moments of regulation with a 3-pointer from the corner out of a timeout and a no-look pass for the go-ahead bucket in the final seconds. In overtime, he threw down a thunderous dunk that teammate Trey Phills served up off the backboard.
"As long as we get the win, that's all the matter," Oni said humbly.
A local product that played high school basketball at Viewpoint in Calabasas for coach J.J. Prince, Oni's all-around growth is what's been the most impressive part of his journey.
"He was a junior varsity player his freshman year and dealt with some injuries until his senior season, that's when he really blossomed," Prince said of Oni. "I've never seen a five-month progression like the one Miye made his senior season."
Prince recalls Oni being around 5-foot-9, 140 pounds his freshman year before growing to around 6-foot-4, 180 pounds his senior year (2014-15 season).
He's now 6-foot-6, 210 pounds, averaging a team-high 17 points per game and shooting a 40 percent clip from beyond the arc.
"I've really focused on my strength and ball handling since I've gotten to college," he said. "I work on my ball handling every morning at 6 a.m.. Hard work is how I've gotten here."
Miye Oni with a nice flush in Yale's 94-90 OT win over CSUNpic.twitter.com/FthWVd5aSI
— Tarek Fattal (@Tarek_Fattal) January 6, 2019
His production and size has drawn interest from NBA scouts, and some basketball pundits say Oni is a first-round draft pick prospect.
"The Nets and Pelicans called me to speak about Miye," said Prince.
There have been reports of NBA teams coming to watch Yale's practices. The Mavericks and Hornets had representatives watching him at the Matadome on Saturday night.
"There was a little pressure at first, but now I'm used to it," said Miye of the NBA attention.
After graduating high school in 2015, he originally looked to go to NCAA Division III Williams College in the Northeast, but received late big-time college offers, including South Carolina, Pittsburgh and St. Mary's, along with heavy interest from Kansas and Stanford.
Oni committed to Yale, but decided to go to prep school at Suffield Academy in Connecticut. Despite the offers coming in, Oni stayed true to his Yale commitment through his time at Suffield Academy.
"The coaches at Yale believed in me from the beginning, and I knew it was a great fit," Oni said.
The year at Suffield Academy made for a smoother transition to the college level, and Oni became a second-team All-Ivy League player his freshman season. He scored 24 points in Yale's season opener at Washington, which proved to be a stroke of irony as the Huskies' coach at the time, Lorenzo Romar, was on the cusp of offering Oni before he committed to Yale.
"He might have passed on prep school (if Washington had offered)," AAU coach Robert Icart said.
In the summer before his sophomore season at Yale, Oni was one of 21 college players invited to the Nike Skills Academy. High-profile collegiate players Grayson Allen, Trevon Duval and Marques Bolden, who all played at Duke, and Michigan State's Nick Ward and Jaren Jackson Jr. were among the other collegiate players in attendance.
Miye Oni Yale University shooting guard Scores it but also makes players better! pic.twitter.com/R3zul15JpA
— BTI Basketball Club (@BTIHoops) January 6, 2019
During the camp, ESPN college basketball reporter Jeff Goodman tweeted: "One college player who has stood out to NBA guys at the Nike Camp has been Yale sophomore Miye Oni. Guys love his ability to score."
In 2017-18, his sophomore year, Oni finished in the top 10 in the Ivy League in scoring (ninth), rebounding (fifth), assists (fifth), 3-pointers made (seventh, 2.0 per game), blocked shots (10th, 0.8 per game) and minutes played.
It seems as though Oni's commitment to Yale has served him right – of course, academically – but athletically, too. Popular belief is that a notable NCAA Division I men's basketball school is a prerequisite for NBA attention, but Oni is doing it from Yale.
"I love that (scouts) are looking at me even though I'm at Yale, they aren't discrediting the school," Oni said. "But I just really try and stay humble because four years ago I was headed to D-III school. Now that I'm here, I just have to keep working the same way I was before."
Yale will begin league play as one of three teams vying for a bid to the NCAA Tournament in March, along with Harvard and the University of Pennsylvania.
Travel: 4 things to know about Egypt before you go there – Daily News
Meteorologists: Ocean breeze will dampen Southern California heat wave beginning Tuesday – Daily News
Famous people buried at Forest Lawn Memorial-Park, Glendale – Daily News
ATF, Los Angeles police seize more than 1,000 guns in raid at home in upscale Holmby Hills area – Daily News
Things to do in the San Fernando Valley, LA area, July 12-19 – Daily News
Tarek Fattal
Tarek Fattal has been covering sports for the Southern California News Group since 2015, primarily focusing on high school sports coverage for the LA Daily News.
Follow Tarek Fattal	@Tarek_Fattal
More in High School Sports
All eyes on Calabasas wide receiver, 5-star recruit Johnny Wilson
Former Westlake High standout Matthew Wolff wins first PGA Tour event
High school coaches see parallels between NBA free agency, high school transfers
Calabasas boys basketball's top players expected to leave program


text:
//
// Copyright 2009-2011 Facebook
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

#import "TTTableViewDelegate.h"

#import "TTTableViewDataSource.h"
#import "TTTableViewController.h"
#import "TTTableItem.h"
// Core
#import "TTCorePreprocessorMacros.h"

static const CGFloat kEmptyHeaderHeight = 0.0f;
static const CGFloat kSectionHeaderHeight = 22.0f;
static const CGFloat kGroupedSectionHeaderHeight = 36.0f;
static const CGFloat kGroupedSectionFirstHeaderHeight = 36.0f + 10.0f;
static const NSUInteger kFirstTableSection = 0;

///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
@implementation TTTableViewDelegate

@synthesize controller = _controller;

///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
#pragma mark -
#pragma mark NSObject

///////////////////////////////////////////////////////////////////////////////////////////////////
- (id)initWithController:(TTTableViewController*)controller {

    self = [super init];
    if (self) {
        _controller = controller;
    }
    return self;
}

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)dealloc {
    TT_RELEASE_SAFELY(_headers);
    [super dealloc];
}

///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
#pragma mark -
#pragma mark UITableViewDelegate

///////////////////////////////////////////////////////////////////////////////////////////////////
- (CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section {
    if ([tableView.dataSource respondsToSelector:@selector(tableView:titleForHeaderInSection:)]) {
        NSString* title = [tableView.dataSource tableView:tableView titleForHeaderInSection:section];
        if (![title length]) {
            return kEmptyHeaderHeight;
        }

        if (tableView.style == UITableViewStylePlain) {
            return kSectionHeaderHeight;

        } else {
            if (section == kFirstTableSection) {
                return kGroupedSectionFirstHeaderHeight;
            }
            return kGroupedSectionHeaderHeight;
        }

    }
    return kEmptyHeaderHeight;
}

///////////////////////////////////////////////////////////////////////////////////////////////////
/**
 * When the user taps a cell item, we check whether the tapped item has an attached URL and, if
 * it has one, we navigate to it. This also handles the logic for "Load more" buttons.
 */
- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath {

    id<TTTableViewDataSource> dataSource = (id<TTTableViewDataSource>)tableView.dataSource;

    id object = [dataSource tableView:tableView objectForRowAtIndexPath:indexPath];

    [_controller didSelectObject:object atIndexPath:indexPath];
}

///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
#pragma mark -
#pragma mark UIScrollViewDelegate

///////////////////////////////////////////////////////////////////////////////////////////////////
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView {
    return YES;
}

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView {
    [_controller didScrollToTop];
}

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    [_controller tableViewDidScroll:scrollView];
}

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {

    [_controller didBeginDragging];

}

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
    [_controller didEndDragging:scrollView willDecelerate:decelerate];
}

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    [_controller didEndDecelerating];
}

///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
#pragma mark -
#pragma mark TTTableViewDelegate

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)tableView:(UITableView*)tableView touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {

}

@end

redpajama_set_name: RedPajamaGithub


Dream to test your 'photoshopping' skills? Or may be wondering how to get hold of Free CAD software legally, or may be burn discs without resorting to piracy? Some of the answers are here. I will list top 10 free or open source software that are good alternatives to paid software.
It has many capabilities. It can be used as a simple paint program, an expert quality photo retouching program, an online batch processing system, a mass production image renderer, an image format converter, etc. It is designed to be augmented with plug-ins and extensions to do just about anything.
Open source Windows utility for manipulating archives. Formats 7z, ZIP, GZIP, BZIP2 and TAR are supported fully, other formats can be unpacked.
I need not say anything about this.
OpenOffice.org 3 is the leading open-source office software suite for word processing, spreadsheets,presentations, graphics, databases and more. It is available inmany languages and works on all common computers. It stores all your data in an international open standard format and can also read and write files from other common office software packages. It can be downloaded and used completely free of charge for any purpose.
Create a PDF from any Windows program. Use it like a printer in Word, Excel or any other Windows application. Just print and voila! The file is saved as a PDF file.
"The Open CAD" - (aka Arquimedes) is a computer-aided design (CAD) program being developed with direct input from architects and architecture firms. With this design philosophy, the developers hope to create software better suited for architecture than the currently widely used AutoCAD, and other available CAD software. The program is free software released under the Eclipse Public License.


Markdale, ON, Canada - November 16, 2007 - Synectics Business Solutions, Inc., developer of the BackJack(TM) Online Backup Service, today announced its public beta of Continuum, the first of two exciting new offerings they plan to release. Today's announcement confirms their continued commitment to providing offsite backup solutions that cater to the needs of worldwide Mac users in production and business environments where the loss of data is simply unacceptable.
Apple's Mac OS X Leopard with Time Machine(R) has arrived, promising the ability to perform simple, onsite backups to local hard drives. "While Time Machine(R) offers a good local backup solution, the remaining risks of other catastrophes such as fire, theft and natural disasters still exist", states President Chris Brown. "Getting critical files offsite in an automated and secure manner decreases those risks so that our clients can remain focused on their core competencies".
BackJack Continuum eliminates the costs of hardware, human resources, and the need to physically rotate hard drives to an offsite location. Integrating tightly with Leopard's Time Machine(R), Continuum monitors the completion of Time Machine(R)'s daily backup and efficiently gets those same files automatically offsite. With Time Machine(R) and Continuum working together on your Mac, your valuable files are now fully protected from the most common risks all Mac users face today.
If you are interested in beta testing Continuum or being notified of its final release, you can register online via http://www.backjack.com/continuum.
Established in 1990, Synectics Business Solutions, Inc. is rooted in Macintosh, originally as a Mac consulting/software development company and, for the last 10 years, as the developer and provider of BackJack. Since its launch in 1998, BackJack has revolutionized the way Mac users back up and restore their critical files offering a business-class solution with the highest data recovery rate guaranteed, intuitive software and unparalleled client care and support. For more information, visit the BackJack website.


text:
Movie highlights reduced Juarez violence
KRWG | By Sloan Patton
Published October 1, 2012 at 10:21 PM MDT
EL PASO, Texas -- Filmmaker Charlie Minn is releasing his latest documentary-style movie. It looks at a recent and dramatic drop in murders in Juarez.
The murder rate is down ninety percent from two years ago, but it still hovers at around 40 murders a month...and all of it just a few hundred yards from the UTEP campus
Minn has some good news.
"I'm happy to report that more people are going back to Juarez as a result."
The murder rate is still very high, even for a city approaching two million people. Charlie calls it a war, and the images seem to confirm that.
"This is a very emotional war. It's depicted on film that way. I hope a peace movement can be started for Mexico. Just because in Juarez, the murder rate has gone down -- the rest of the country is suffering," said Minn.
I asked Minn if the violence could be reduced without corruption.
"Mexico has been known to be riddled with corruption, all forces of the police -- state federal, municipal politicians perhaps...your neighbor...we don't know who's who. Its one of the saddest stories in the world today."
One of the saddest stories -- and one of the reasons Charlie Minn traveled back to Mexico for a second film.
His first film set in Mexico, '8 Murders a Day' was released in 2011.
"I'm trying to give the victims a voice, I'm trying to give them help. They've been brutally cheated and they need a voice."
The movie premiers October 5 at the Mesilla Valley Mall in Las Cruces and in theaters across El Paso.
Minn will donate partial proceeds from the movie to victims of Juarez.
http://www.youtube.com/watch?v=-prFihodPF8
Sloan Patton
Sloan Patton joined KRWG in August 2012 as assistant news director.
See stories by Sloan Patton


Training and team-building sessions. Exhibitions and presentations. Board meetings and gala dinners. We've hosted them all and our dedicated events team is ready to help you with your next event. We will work closely with you to ensure an efficient, productive session that is be tailored to your specific needs.
We offer a choice of eight very different meeting spaces that provide the flexibility you will need for your business event in Bournemouth, with the capacity of hosting up to 200 people. Each one has natural daylight and different facilities such as air-conditioning, outdoor access or adjacent bar. Free WiFi is also available throughout the Hotel, meeting rooms and bedrooms, as well as plenty of car parking.
As well as our 76 bedrooms, we have 18 apartments of one or two bedrooms each. If you need more space we can also offer accommodation and meeting space at our sister hotel, the Hallmark Hotel Bournemouth East Cliff (which is located directly next door). Combined across both hotels, you have the choice of 140 bedrooms or apartments and 14 meeting rooms, not to mention ample grounds for team building between the two hotels.
Our stunning coastal location provides your delegates with stunning leisure facilities such as our indoor and outdoor swimming pools, gymnasium and sauna. Bournemouth itself has plenty of other interesting attractions and centres where you can organise team-building and corporate entertainment activities.
Whatever size meeting, large or small, the team is on hand to give a quick response to your enquiry, so contact us today.
Take a browse of our inclusive Hallmark standard day and 24 hour delegate packages. Of course, if you want to create a bespoke package then we're more than happy to help.
Our beautiful hotels in Bournemouth offer the perfect setting for meal breaks for groups and tours, with their stunning cliff top location and landscape gardens.


text:
W.D. & H.O. Wills war ein britischer Tabak-Importeur und Zigarettenhersteller in Bristol, England. Die Gesellschaft war Gründungsmitglied des Verbundes der Imperial Tobacco Group PLC.

Firmengeschichte
Gegründet wurde das Unternehmen 1786 von Henry Overton Wills I und seinem Partner Samuel Watkins als "Wills, Watkins & Co.". Die beiden eröffneten einen Laden in der Castle Street in Bristol. Nachdem Watkins 1789 ausgeschieden war, wurde die Firma in "Wills & Co." umbenannt. Von 1791 bis 1793 firmierte sie dann als "Lilly, Wills & Co.", nachdem die Gesellschaft mit der Firma von Peter Lilly verschmolzen worden war, welcher in "Land Yeo" bei Barrow Gurney (North Somerset) eine Schnupftabak-Fabrik aufgebaut hatte. Ab 1793 bis zu seiner Pension (Wills) im Jahr 1803, hieß die Firma "Lilly and Wills". 1826 übernahmen die Wills-Söhne William Day Wills und Henry Overton Wills das Unternehmen und gaben ihm den eingangs genannten Namen.

Das Unternehmen W.D. & H.O. Wills trat besonders im Bereich der Arbeitnehmerfürsorge in Erscheinung. So galt die Firma als einer der Pioniere des Kantinenwesens und der freien ärztlichen Versorgung. Sporteinrichtungen und bezahlter Urlaub für die Mitarbeiter gehörten zum Selbstverständnis der Firma. Der erste eingebrachte Markenartikel war "Bristol", zwischen 1871 und 1974, der am Londoner Standort hergestellt wurde. "Three Castles" and "Gold Flake" folgten 1878 sowie "Woodbine" zehn Jahre später. "Embassy" wurde 1914 eingeführt und reproduziert im Jahr 1962.

Neben Bristol wurden Standorte in Swindon, Dublin, Newcastle upon Tyne und Glasgow eingerichtet. Das Unternehmen wuchs und bald handelte es sich um eine der größten Zigarettenfabriken Europas. Skidmore, Owings and Merrill aus Chicago errichteten 1974 das Hartcliffe Bristol; 1990 wurde der Standort bereits wieder geschlossen. Die Fabrikationsanlagen und Lagerstätten blieben bestehen, viele Gebäude wurden umfunktioniert (Beispiel: Tobacco Factory Theatre).

1901 wurde "Imperial Tobacco" gegründet. Darin gingen neben W.D. & H.O. Wills sieben weitere Gesellschaften auf. Christopher Wills war das letzte Familienmitglied von W.D. & H.O. Wills; er trat als Manager der Firma 1969 zurück.

Bekannte Produkte
1959 lancierte das Unternehmen den kurzlebigen Markennamen Strand.

In Indien etablierte sich The Gold Flake (Classic), produziert unter dem Namen ITC Limited, vormals Imperial Tobacco Company.

Trivia
Am Firmensitz wurde die Episode 95, The Sun Makers (1977), der englischen Filmserie Doctor Who gedreht.

Weblinks
 Official site
 W.D. & H.O. Wills - "Pacemakers in Tobacco"

Einzelnachweise

Unternehmen (Bristol)
Ehemaliges Unternehmen (Vereinigtes Königreich)
Tabakwarenhersteller (Vereinigtes Königreich)
Lebensmittelhersteller (England)

redpajama_set_name: RedPajamaWikipedia


text:
Videos Chevron Right
Does Beyoncé Have a Secret Archive of Celebrity Throwback Photos?
The Beygency's power knows no bounds.
By Isabel Jones
Updated Feb 13, 2019 @ 5:00 pm
Beyoncé is a curated Queen, and as much is evident on her Instagram page.
It is, for the most part, a collection of highly professional photos of Bey and her every show-stopping outfit, often uploaded in sets of threes — like a good influencer does.
Visually, it reads as the work of an experienced social media manager (though it didn't always). The singer gets to jump aboard the celebrity IG craze without surrendering any of the mystery attached to her persona.
However, there is one notable exception to Yoncé's enigmatic social media veil: her birthday tributes.
Bey loves to celebrate her famous friends, but she's not one to post a selfie and call it a day. No, the living legend has a very precise method for her birthday tributes, and it certainly bucks tradition.
Taking the Bey out of B-day, the singer posts solo shots of her friends … as children. And it's really cute, don't get us wrong, but, like, where does she find all these photos? She's Beyoncé, so we don't doubt she has connections, but we prefer to believe that she is somehow, secretly, the owner of a celebrity throwback photo archive (and museum, maybe?) consisting of millions of never-before-seen retro shots.
Though she's experimented with this method in the past (see below for baby Oprah circa 2015, and lil' Solange in 2013 and 2015), she's really upped her game in the past few months, posting tributes for Michelle Obama, Oprah, Kelly Rowland, and a commemorative series for the late Kim Porter.
RELATED: We Need to Talk About Julia Roberts's Instagram
So, the question remains: Why does Beyoncé choose to celebrate the women in her life with childhood photos? I'm no psychology expert, but my theory is that it has something to do with being a child star herself. Since she rose to superstardom as a teen, maybe she idealizes her childhood as a time that she was able to be and feel her true self, away from the flashbulbs and materialism that naturally seep into celebrity life? ~Just a thought~.
Anyway, celebrity aside, childhood is thought of as the most innocent and therefore truest time in one's life, and perhaps Bey's just trying to showcase who her famous friends are at heart. See me after class for more theories.
Thank you for the tribute posts, Bey. We can't wait to see what adorable throwbacks you unearth next.


A naturally curved corkscrew and smooth spherical bottle stopper satisfy your core wine needs in this two-piece accessory gift set. Both bamboo-accented pieces match their box to make a unified wine accessory kit appropriate for any occasion. As with all of our bamboo offerings, this product is a renewable source certified by The Green Alternative. Engrave this wine accessory gift set to give to someone special today!
*Due to the natural variations in the consistency of wood used, engravings on the Bamboo Accessory Set will vary in color.


text:
Q: How to use R (RODBC) to extract data from MySQL on Mac OSX 10.11 El Capitan (Via SSH Tunnel) My working laptop is Mac OS X 10.11.3 El Capitan. I am currently working on a project in which I am developing a shiny app to visualize the data in our company's MySQL database. I set up the SSH Tunnel via 'SSH Tunnel Manager' and was able to connect MySQL data via SquelPro. However, I am constantly having problems when I am trying to connect MySQL data in R (R-version3.2.3 / Rstduio-version 0.99.491) using 'RODBC' package.
Initially, I am following this blog: http://blog.nguyenvq.com/blog/2013/04/06/guide-to-accessing-ms-sql-server-and-mysql-server-on-mac-os-x/ to downloaded and created the connector and 'odbc.ini' files. Then move them to the right locations.
Yet, when I try to install package 'RODBC' in R, the installation process fails and returns the following error message - "configure: error: "ODBC headers sql.h and sqlext.h not found". Then I follow the steps in this link to downloaded the iODBC zip files: Installation of RODBC/ROracle packages on OS X Mavericks Yet, I couldn't identify the file 'libiodbc.a' in the archball. So, just moving the sql.h and sqlext.h files are not helping. I still have that issue.
So, I found another link: Installation of RODBC on OS X Yosemite which says installing unixODBC will also solve this issue. So I copied the commands and successfully downloaded unixODBC. This time it works. I successfully called the library(RODBC) in R. However, when I run the following R commands in Rstudio:
connect1 <- odbcConnect(dsn="mysql01",
                uid="user_name",
                pwd="pass_words")

Then I got error message like:
    Warning messages:
1: In odbcDriverConnect("DSN=mysql01;UID=user_name;PWD=pass_words") :
  [RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data source name not found, and no default driver specified
2: In odbcDriverConnect("DSN=mysql01;UID=user_name;PWD=pass_words") :
  ODBC connection failed

It seems that I need to configure the driver manager for unixODBC on R. However, I am not sure what exactly gone wrong in the process above. What should I do next to get R connected to MySQL?


township cheats hack cash coins download – township hack mac; Published on applefest.us website after successful testing. This tool will work best on MAC OS and WINDOWS OS platforms.
township cheats hack cash coins download – township hack mac has based on open source technologies, our tool is secure and safe to use.
Enjoy township cheats hack cash coins download – township hack mac.
All files are uploaded by users like you, we can't guarantee that township cheats hack cash coins download – township hack mac are up to date.
We are not responsible for any illegal actions you do with theses files. Download and use township cheats hack cash coins download – township hack mac on your own responsibility.


These are the days. Some are harder than other.
For the last four days, my house has been a sick zone. Charlotte, Ruby, and Sterling have all lost their innards more times than I can count. Eden complained of a stomach ache but I have yet to see the same symptoms erupting from her. (Being sick might just be a good excuse to curl up with a good book, maybe?) I've done so much laundry that the house sounds eerily quiet when the machines stop whirling. It's been a sad state of affairs, and while they are starting to act like life isn't so bad anymore, we're not out of the woods yet.
Charlie, poor girl, makes a very funny sick child. Her amazement over what she never knew her body could do has been ridiculously funny. That banana she ate and lost mere seconds later? It was the banana's fault, and maybe she should try another one. She's gotten really good at making it to the toilet. Sad thing to be good at.
Ruby just lounges around whining every so often and Sterling is so sad that his body has betrayed him this way. He is usually the one to stay well, and when asked if he needed anything, replied, "I just want to be done being sick!". He's determined he will never ever eat again, fearful of it's repercussions.
Awww, poor kids. Today I have 5 out of 6 kids sick with fevers, currently ranging from 99.4 to 103. They are so pathetic, all lying all over the couches. Sarah and I are the only ones who didn't catch it, so chores are kind of crazy… especially with how affected I am by the lyme. I am not sure who is worse off, the kids who are sick, or the one healthy child. lol.


Deciding who to invite to your wedding is one of the hardest parts of planning, and it's definitely something that I hear my clients struggling with a lot. There are so many things to think about when writing your guest list, like your budget, venue capacity and often family politics (the trickiest one right?!).
Luckily I'm here to help you out. In this next part of the Wedding Planning 101 series, I'll be sharing my top tips for planning and managing your guest list so that you can keep everyone organised right up until the big day.
If you haven't read the post about setting your wedding priorities yet, I would definitely encourage you to do that first, because that will definitely help you with your guest list writing. Once you've done that, watch the video below or read the highlights to start your wedding guest list in the most organised way possible.
Being clear on your own personal wedding priorities will help you answer the question of who to invite to your wedding, but [SPOILER ALERT] I would say the short answer is: whoever you want.
What style of wedding are you hoping to have?
What's your budget? This post will help you get to that figure.
Where is your wedding? Is it somewhere that's easy to get to for most of your potential guests?
One of the most awkward things about planning a wedding is feeling obligated to invite certain people that you wouldn't necessarily choose to invite. This can be a really frustrating situation to be in, and the way that I always suggest dealing with it is to choose the path of least resistance.
Which scenario is going to cause you the least stress? Are you the type of person that will feel angry on your wedding day if you've felt forced to invite a certain person? Will the person in question cause you stress by being there on the day? In this case, don't invite them.
Or on the flip-side, will you feel guilty on the day if this person isn't there? Are they important to someone in your family - especially if that family member happens to be contributing to the wedding? Would it just be easier to invite them because it causes less family arguments and awkwardness? Sometimes it's worth stretching your guest list a little bit to avoid causing you unnecessary agro.
Whichever way you decide to go, remember that everything to do with your wedding is always your decision first and foremost, and you should do what's right for you.
Their addresses - important for sending out your save the dates and invitations, and will save you time hunting these down twice.
Gifts received - this is super helpful for when you open all of your wedding presents, you can note down what each person gifted you so you can personalise your thank you notes - GAME CHANGER.
Any other notes…. This can be where you note down any specific roles people are playing in the wedding, eg. bridal party, readings, musicians….
The final thing to say about your guest list, is just try not to feel too much pressure around the process. As long as you always communicate with people in the most honest and kind way possible, then you should get through it with minimal drama.
I hope this was helpful, and don't forget to download your free guest database below to help you with your people planning.


text:
The mind-boggling Ron Paul
By Les Kinsolving
"The possibility of a military attack against Iran is now closer to being applied than the application of a diplomatic option," warned Israeli President Shimon Peres.
National Review magazine noted this, as well as reporting the following:
"The International Atomic Energy Agency, the nuclear watchdog, also happens to be publishing an unprecedented warning that Iran has reached the final stages before fitting nuclear warheads onto missiles. Can it be coincidence that Israel has been practicing long-range air strikes and holding large-scale civil defense exercises simulating the response to all kinds of missile attacks?"
Who will neutralize the threat from Iran before the mullahs finish building nuclear warheads and the ballistic missile systems to deliver them?
"The international community must stop Iran before it's too late," Israeli Prime Minister Benjamin Netanyahu warned in his United Nations speech last month. "If Iran is not stopped, we will all face the specter of nuclear terrorism, and the Arab Spring could soon become an Iranian winter. The world around Israel is definitely becoming more dangerous."
"Iran has not abandoned its nuclear program. The opposite is true, it continues full steam ahead," warned Maj. Gen. Eyal Eisenberg, home-front command chief for the Israel Defense Forces, in a September speech. He warned that the Arab Spring could turn into a "radical Islamic winter" and "this raises the likelihood of an all-out total war, with the possibility of weapons of mass destruction being used."
The Obama administration is not taking decisive action to neutralize Iran. President Obama's policy of engagement with the mullahs has morphed into a policy of appeasement, and it has failed.
A bipartisan poll conducted in September by Democrat Pat Caddell and Republican John McLaughlin found that 77 percent of Americans think the Obama administration's current policy toward stopping Iran's nuclear program "will fail." About 63 percent of Americans think Iran is the nation posing the greatest threat to us, ahead of China and North Korea. Remarkably, 63 percent of Americans also approve of pre-emptive military action against Iran if economic sanctions do not stop its nuclear program.
Very fortunately for this nation's future, none of the GOP presidential candidates agree with President Obama on this issue. Nor do they agree with the absolutely mind-boggling position of their fellow Republican candidate, Ron Paul, who has written the following astounding statements:
"One can understand why (the mullahs) might want to become nuclear-capable, if only to defend themselves and be treated more respectfully," Paul has written. The congressman opposes economic sanctions on Iran. He opposes pre-emptive strikes on Iran. Indeed, Paul has indicated he does not have a problem with Iran acquiring nuclear weapons because he doesn't think mullahs in Iran would actually use such weapons against their enemies. What's more, he has stated that he would not come to Israel's defense if Iran fired nuclear weapons at the Jewish state.
Les Kinsolving
Les Kinsolving hosts a daily talk show for WCBM in Baltimore. His radio commentaries are syndicated nationally. His show can be heard on the Internet 9-11 p.m. Eastern each weekday. Before going into broadcasting, Kinsolving was a newspaper reporter and columnist – twice nominated for the Pulitzer Prize for his commentary. Kinsolving's maverick reporting style is chronicled in a book written by his daughter, Kathleen Kinsolving, titled, "Gadfly."
Churches should welcome heat-packing attendees
N.Y. Times' Christian-Muslim hypocrisy
WaPo's placement of gay rights, pedophilia
Obama and Cuba: All give and no take
The invisible black-on-black murders


With summer fast approaching, it's time to look ahead to the biggest food events around the world in June.
It's a packed schedule of eating and drinking for curious foodies, with plenty of opportunities to get out and about and watch some of the world's top chefs in action, and taste their food of course.
Here are our pick of the best food events this June.
Fine Dining Lovers by S.Pellegrino and Acqua Panna presents a six-hands collaboration between one Michelin star Beefbar (Hong Kong) and Ash & Elm (Singapore) for a two-night showcase that will feature three master chefs on 1 and 2 June 2018.
The five-course dinner menu will be available at Ash & Elm for two nights only and is taking bookings now: visit AshAndElm.sg, email sinhb.ashandelm@ihg.com, or call +65 6825 1008.
Now in its fourth year, the one-day Welcome Conference, hosted by Eleven Madison Park's Will Guidara, along with Anthony Rudolf and Brian Canlis, and supported by S.Pellegrino, aims to bring hospitality people together to discuss the biggest issues facing the industry – and to leave inspired. This year's line-up at New York's Lincoln Center includes Dan Barber and Lara Gilmore, as well as stars from the world of entertainment, who will be talking on the theme of 'Restoration.' Tickets are sold out but you can join the waiting list here.
Gourmet Days, sponsored by S.Pellegrino and Acqua Panna, returns to St Petersburg with a line-up of top chefs from all over the world, including Anthony Genovese, Will Horowitz and Garima Arora, who will be joined by the Russian city's top culinary ambassadors for a series of dinners and discussions designed to put St Petersburg on the culinary world map. Find out more.
Discover Tuscan flavours at two unique wine led dinners in a unique collaboration with Acqua Panna water and Benvenuto Brunello Bangkok- both dinners will take places simultaneously in two locations - one at Tables Grill in Grand Hyatt Erawan, and the other at Rossini's, in Sheraton Grande Sukhumvit. Expect fine cuisine paired with fine wines as four producers of Brunello di Montalcino present their wines.
Another spectacular dinner, as part of the Fine Lovers Guest Chef Series by S.Pellegrino and Acqua Panna, this time sees chef Taku Tabuchi of Tokyo's S'accapau take over the kitchen of Hong Kong's Whisk at The Mira hotel for two nights. Having trained in Europe, before heading back to his native Japan, Tabuchi will bring together the best Italian and Japanese ingredients for a six-course dinner, with fine wines chosen by sommelier Seju. Find out more.
Vero Beach Wine + Film Festival - 2018 from Vero Beach Wine Film Festival on Vimeo.
Wine, the beach, and films – sounds perfect doesn't it and visitors to this idyllic sounding four day event will have their pick of over 100 wines from around the world to taste and over 75 award-winning films, including several US premieres, as well as the chance to dine with directors and enjoy special dinners by the sea. Plenty of opportunity then, to pair the perfect wine and cinema experience. Find out more.
The next leg of the Bocuse d'Or regional finals sponsored by S.Pellegrino, focusing on Europe, will take place in Turin, with 20 countries competing for just 10 places at the Grand Final in Lyon in January 2018. Expect stunning creativity and a lively atmosphere as the teams look to book their place at the Olympics of Gastronomy. Find out more.
The annual food fest in the Colorado Rockies, sponsored by S.Pellegrino always attracts big name chefs and this year is no exception, with the likes of Jacques Pépin, Curtis Stone, Rick Bayless, Stephanie Izard, and Ludo Lefebvre in attendance. Foodies can enjoy a whole host of seminars, cooking demos, dinners and workshops, set against a stunning backdrop. Find out more.
The world's most talked about restaurants list, sponsored by S.Pellegrino and Acqua Panna, is heading to the Basque Country this year. Ahead of the awards ceremony itself on 19 June, a series of events will be taking place in the region, including a #50BestTalks event featuring seven of the world's best chefs, in San Sebastian, and a special Art and Food Conversation presented by S.Pellegrino at the Guggenheim Museum in Bilbao, along with a reveal of its new design project The Journey of Water. Find out more.
Seven of Italy's finest chefs will bring an unmissable taste of Italy to Selfridges' San Carlo rooftop restaurant this month with a five-course dinner showcasing the very best in contemporary Italian cooking on 27 June.
With seven Michelin stars between them Italian chefs Corrado Assenza, Alfonso Caputo, Cristina Bowerman, Alessandro Della Tommasina, Annie Feolde, Fabio Pisani and Alessandro Negrini will take diners on a voyage through Italy with an incredible menu that includes an antipasto of Apulian cicerchie legumes with Valsassina cheese, smoked herring & gif must followed by primi, risotto with mazzancolle prawns, veal nervetti & liquorice powder and rigatoni stuffed with artichokes alla romana, vignarola, bottarga and anchovy caviar; and secondo, snapper in lemon leaves & smoked provola with toasted raisins and double fiordilatte cream with Bronte pistachios, gin & wild thyme English custard cream to finish.
To take part in the unique tour of Italy, pick up a ticket online here.
Where: Selfridges, 400 Oxford Street, London.
Master pizzaioli will from Napoli, San Francisco and NYC will spend the day at Kestè Pizzeria –77 Fulton Street, New York, NY 10038 on 27 June giving guests a delicious day of tastings and lessons. An unmissable day to pick up some top tips from the world's finest pizza throwers! On day two attentions will turn to pizza ingredients where Mozzarella di Bufala Campana PDO will be the undisputed star of the show. It's free to join, simply email info@lsdm.it for an invite.
Early summer marks the end of S.Pellegrino's Sapori Ticino 2018 in Switzerland, a series of dinners bringing together chefs with a combined 210 Michelin stars between them. But don't worry; there are still a few delicious evenings to go, including dinners featuring the likes of chefs Norbert Niederkofler (Hotel Rosa Alpina) and Søren Selin (AOC, Copenhagen). But be quick , as they are selling out fast! Find out more.
Keep an eye out for Taste events in cities all around the world in early summer, including in London, Amsterdam, Dublin and Moscow. These huge gastronomical extravaganzas draw some of the world's best chefs and local talent, with similarly large crowds to match. Cooking demonstrations, workshops, markets and special events in restaurants around host cities mean these food festivals are not to be missed.


Albert Hecht is living in United Kingdom. Albert Hecht is part of our authors community since January 20, 2019 and has published 3 posts.
I have been active as a freelance writer and editor for the last twenty years, and have written thousands of articles on a huge variety of subjects. My specialist knowledge covers subjects ranging from classic cars to agriculture, online gaming to tourism, business travel to business and finance.
At the height of the digital age, there is no arguing that advances in lifestyle brought about by this incredible development are all around us. Although with these advances comes a long list of demands, with keeping our memories sharp and ready being close to the top.


Is This My Craziest Idea Yet?
The blog post I wrote last week entitled "5 Easy Steps for Creating a Raw Juice Retreat" was a popular one and it reminded me, "Hey, I need a retreat about now!" So I remembered a little place I found on a FB group, the Juicebox Camper. I called her up, and we had a nice chat. She's located in Virginia Beach. I had no doubt she could help me, it was just a matter of fitting it in my schedule.
That night, I tossed and turned in bed, which is usually a sign that an idea is bubbling up to the surface and needs to be birthed.
I want to create a three day journey that will teach all the principles of raw juicing, and introduce people to the wonderful alternative health practices that have enhanced my life. I have set up a yoga studio in my home that includes a whole body vibration machine, a bio-mat, and ionic detox foot bath. All of these treatments were featured in many of the raw food/juice retreats that I've attended, but there were all "extra" (they weren't included in the fee), which is a shame because they are so important to the over all program.
My library consists of over 100 books on holistic healing, and I have developed a network of healing super stars here in beautiful Raleigh, including a colon hydrotherapist, a naturopathic physician, a massage therapist (who makes house calls) and a shamanic healer. These are my go-to team for keeping me healthy (and they can be yours too while you are here).
You would stay in a luxurious private room in our home, and I would arm you with enough information to bring back to your home and continue your healthy journey. This would be a one-on-one experience, so as to give you all the attention you need to "get it". Three days because the first three days are the most challenging, and after three days, you don't feel hungry anymore so it will be easy to continue at home.
Submerging yourself in a healthy lifestyle without distractions, while being gently guided and nurtured by someone who has done it before makes it easier to reset your goals (and without any sales pressure to buy anything!).
While you're here, we'll watch a healthy movie marathon, including all of the movies I consider "must-watches" to teach you even more about taking control of your own health. Weather permitting, we can walk around the beautiful parks surrounding our city, or bike along historic paths. I'll even include a gift basket with a Celtic Complexion travel kit, so you can treat your skin to some love too.
Think of it as a girlfriend getaway, with me as your girlfriend!
If this is something that would interest you, please leave a comment or contact me directly (Jennifer@CelticComplexion.com) to be put on the wait list.
This entry was posted in Raw Food & Juicing on July 2, 2015 by Jennifer Devlin Waller.
If you've followed me for a while, you know how much I love raw juicing. That feeling of nirvana when you are only consuming optimal nutrition, the unbelievable energy of a teenager, and the mental clarity of a ninja warrior… But what happens when when you fall off the wagon?
You don't realize it, but food and drinking are a BIG part of your social life, and for many people, food is how you express love, so when suddenly you aren't eating like everybody else, things can become challenging. I don't know about you, but when my girlfriends get together, we want to drink wine and chat, not prepare juices!
1. Clear Your Schedule for Three Days: "Timing is everything" they say, and juice fasting is no different. The hardest part of the juice fast is a. starting and b. the first three days. You will experience all of the emotions as a bad breakup; excitement, regret, anger, elation.. well, you get the point. I've been through a half dozen juice fasts and day 4 is the MAGIC day, where you start to feel like superwoman. You just have to get through THE. FIRST. THREE. DAYS.
2. It Takes a Village: Most everything in life is easier with a friend by your side, and ESPECIALLY juicing, because if you are on the same page, you can keep each other motivated when one of you starts to doubt yourself (or complain, or cry, or try to rationalize having just one glass of wine is fine, because it's been like forever since you've seen each other!).
3. Rent Some Inspiring Movies: Have an arsenal of inspiring videos; Fat Sick and Nearly Dead (Part 1 and 2), Food Inc., Food Matters, Forks Over Knives. You can also watch a lot of inspiring videos on YouTube, just do a search for "raw food journey". These will reinforce why you are doing this in the first place.
4. Schedule Healthy Activities: You won't be getting a lot of calories, so steer clear of heavy activities. Yoga, meditating, walking are all great exercises. Book a massage or other body work. Also, try something unique like making a vision board (I Love this one!). The point is, fill your time with things to do so you won't be focusing on food. I always catch up on reading when I'm juicing.
5. Order In: Depending on your expertise level and finances, you can choose to make your own juice, which in all honesty is very labor intensive, or you can order fresh juices to be delivered to you (which gives you more time for activities). I love Raleigh Raw (In Raleigh, NC) and Squeeze Juice Works in St. Petersburg, FL. myself. So many places are popping up – just do a Google search for "raw juices (and your city)".
One more thing, if you *do* plan a DIY raw juice retreat, be sure to send me an invitation!
This entry was posted in Raw Food & Juicing and tagged juicing on June 28, 2015 by Jennifer Devlin Waller.


text:
Science agency never briefed Trump on climate
Scott Waldman, E&E News reporter
Tim Gallaudet, assistant secretary of commerce for oceans and atmosphere. Photo credit: Ron Sachs/SIPA/Newscom
Timothy Gallaudet, acting NOAA administrator, said President Trump has not asked NOAA for a climate briefing. Ron Sachs/SIPA/Newscom
President Trump has never had a briefing about climate change by the nation's leading science agency, the acting NOAA administrator said yesterday. Nor has the White House requested one.
Timothy Gallaudet, a retired Navy rear admiral and oceanographer who is leading NOAA, was asked at a major science conference whether he had spoken with Trump about the rising dangers of global warming or if he had ever been invited to.
"The simple answer is no," he said.
The revelation follows a series of recent comments by the president that contradict scientists' assertions that humans are raising temperatures on Earth by burning fossil fuels. It also comes as scientists express increasingly stark warnings about the effects of climate change. Gallaudet was attending the American Geophysical Union's annual conference yesterday to help unveil an Arctic report card that warns of accelerating transformations to the region and its species.
The administration, for its part, has ignored its own scientists. Trump has said he doesn't "believe" the latest version of the National Climate Assessment, released last month.
The annual meeting of the American Geophysical Union, one of the nation's largest science organizations, has brought more than 20,000 scientists to Washington. They will spend the week giving presentations on the latest research in their fields, including carbon cycles, geoengineering and rising sea levels.
Gallaudet's answers came during a session on the 13th annual Arctic report card. The report paints a severe portrait of a region transformed by climate change. Harmful algal blooms have migrated north and disrupted food supplies, the oldest Arctic sea ice has declined 95 percent, and the population of caribou and reindeer has been cut in half. The report shows that the Arctic has set all-time temperature records in each of the last five years. There's also increasing evidence that transformations happening in the Arctic could affect weather in the Lower 48 states.
Gallaudet said the region's changes "offer challenges and opportunities." He said understanding the Arctic and its ocean is "essential for national security." The United States needs to adapt to the changes that have been observed, he said.
"The data is the data, and changes are occuring, and what we need to do is adapt to those changes as a country effectively by better understanding and improving our understanding and our predictions," he said.
Gallaudet said the White House has not interfered with NOAA's climate work. Meanwhile, the administration has repeatedly proposed funding cuts for climate science at NOAA and other federal agencies, only to be rejected by Congress.
There are other signs that federal agencies continue to study climate change, even as the White House ignores their findings. NASA Administrator Jim Bridenstine, who once rejected climate science but has "evolved" since taking over the space agency, told a packed room at the science conference that NASA will continue its robust research on earth science. Bridenstine said the agency is moving forward with a decadal program that includes launching more spacecraft to study the planet.
There were also reminders that this is a tense time for climate scientists, particularly those who work in the federal government. At a booth in a quiet corner of the event, the Climate Science Legal Defense Fund offered its services to scientists who have faced harassment from the administration. The group is holding an open forum to meet with concerned researchers during every day of the weeklong event.
Regardless of the troubling Arctic findings by its own researchers, the White House has been unmoved by the overwhelming body of clear science that shows humans are warming the planet at an unprecedented pace. The Arctic report card comes weeks after the latest National Climate Assessment. It drew on the work of more than 300 scientists to show that climate change has already created climate refugees in the United States, and that it could create significant economic and security concerns for Americans in the near future.
Trump ignored that report, arguing that he has "very high levels of intelligence."
"As to whether or not it's man-made and whether or not the effects that you're talking about are there, I don't see it," Trump told The Washington Post after the climate assessment was released.
Trump aides have reached out to the Heartland Institute, which muddies climate science, for a briefing on climate science (Climatewire, Oct. 25). In EPA and the Interior Department, climate science has been wiped from some agency websites, and scientists have been reassigned to other departments.
Meanwhile, as federal scientists contribute to another report about the effects of climate change, Trump administration officials are in Katowice, Poland, to promote the use of coal while attending international climate talks.
The administration is also working with other oil-producing countries such as Saudi Arabia and Russia to weaken the agreement. In recent days, the Trump administration has joined those countries in refusing to acknowledge a major report that shows how climate change affects regions across the world (Climatewire, Dec. 10).
Twitter: @scottpwaldmanEmail: swaldman@eenews.net


text:
import OrchestraView    from 'OpenOrchestra/Application/View/OrchestraView'
import Application      from 'OpenOrchestra/Application/Application'

/**
 * @class NewNodeTreeView
 */
class NewNodeTreeView extends OrchestraView
{
    /**
     * @inheritdoc
     */
    preinitialize() {
        this.tagName = 'div';
    }

    /**
     * Initialize
     * @param {NodeTree} nodesTree
     * @param {string}   language
     * @param {string}   parentId
     */
    initialize({nodesTree, language, parentId}) {
        this._nodesTree = nodesTree;
        this._parentId = parentId;
        this._language = language;
    }

    /**
     * Render node tree
     */
    render() {
        let template = this._renderTemplate('Node/newNodeTreeView',
            {
                nodesTree : this._nodesTree.models,
                language: this._language,
                parentId: this._parentId,
                siteLanguages: Application.getContext().get('siteLanguages')
            }
        );

        this.$el.html(template);

        return this;
    }
}

export default NewNodeTreeView;


The ASD Winter Jamboree, supported by the Anchorage Skate Club and many other partners, went off without a hitch on Friday afternoon! Kids from ASD got to try speedskating and a whole host of other activities in the largest park in midtown. Pictures are online with the Alaska Dispatch! Slideshow from the Winter Jamboree.


He may have top notch security as Frank Underwood in Netflix's 'House of Cards', but now Kevin Spacey can finally retire his own personal security detail after the stalker who terrorized him for two years was sentenced to four years in federal prison.
55-year-old Linda Louise Culkin was sentenced yesterday and ordered to pay Spacey $124,000 in restitution for the bodyguards he was forced to hire after he received multiple threats from Culkin.
Spacey described the threats, which came in mail, bomb threat and social media form, as a 'relentless pursuit' and that it was 'difficult to measure the degree of terror' it caused.
Culkin's threats included torture, castration and disembowelment and she said she would blow him to smithereens. In her defense, she blamed the outbursts on 'mental-health issues' and 'didn't mean it to be as vindictive as it came out' before apologizing to the actor.
Culkin pleaded guilty in November last to charges including mailing threatening communications, and sending false information regarding explosives, and is currently 2 years into her sentence after her arrest in January 2012.


text:
Q: How to turn of SSL/TLS validation with property or VM option with java? I am trying to connect to a local cosmosdb runing the cosmosdb emulator in a windows VM. I have successfully created the port forwarding and can call it from my nodejs script. However I need to get this working with java and there are no docs on this website for this local cosmos instructions. I have seen java examples that show how to programatically ignore TLS/SSL validation however I would prefer JVM or property file option. The reason for this is that I only want this to occur locally for developers and not at all be in dev or prod. This is the error that I am getting:

javax.net.ssl.SSLHandshakeException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target

Is there a way to add a property to property file or JVM option to turn off SSL/TLS validation?
If so what is it? Other options aside from programmatic would be appreciated. Thanks.

A: I'm afraid isn't possible by adding some JVM property. If you don't want to configure it programmatically you need to add the root CosmosDB certificate to your JVM truststore on your dev server.


The Chicago Blackhawks and New Jersey Devils meet Monday in NHL action at the Prudential Center.
The Chicago Blackhawks could use a feel good victory after losing five of their last six games. The Chicago Blackhawks are averaging 2.9 goals per game and are scoring on 17.7 percent of their power play opportunities. Patrick Kane leads Chicago with 25 goals, Jonathan Toews has 23 assists and Alex DeBrincat has 134 shots on goal. Defensively, the Chicago Blackhawks are allowing 3.6 goals per game and are killing 74.3 percent of their opponents power plays. Corey Crawford has given up 71 goals on 722 shots faced and Cam Ward has allowed 69 goals on 624 shots. The Chicago Blackhawks have allowed three or more goals in each of their last six games.
The New Jersey Devils look for a spark of consistency after splitting their last eight games. The New Jersey Devils are averaging 2.9 goals per game and are scoring on 17.5 percent of their power play opportunities. Kyle Palmieri leads New Jersey with 20 goals, Taylor Hall has 26 assists and Nico Hischier has 91 shots on goal. Defensively, the New Jersey Devils are allowing 3.3 goals per game and are killing 85.7 percent of their opponents power plays. Cory Schneider has given up 29 goals on 196 shots faced and Keith Kinkaid has allowed 95 goals on 945 shots. The New Jersey Devils have allowed three or less goals in 10 of their last 14 games.
The Blackhawks are 17-35 in their last 52 road games, 5-16 in their last 21 Monday games and 25-54 in their last 79 overall. The Devils are 2-7 in their last 9 games following a win, 18-38 in their last 56 Monday games and 13-27 in their last 40 overall. The Blackhawks are 4-10 in the last 14 meetings in New Jersey. The under is 4-1 in Devils last 5 overall. The over is 17-6-3 in Blackhawks last 26 overall.
Both of these teams have been burning money all season long, so I'm not going to make a habit of backing either of these sides. As for this game, I'm going to lean in the direction of the New Jersey Devils because of home ice advantage. The Chicago Blackhawks have not only been horrible over the course of the season, but they've played some of their worst hockey on the road where they've won just four times since the end of November. The New Jersey Devils have won three of their last four at home where they've outscored teams by 13-6 in those games. I'll take the Devils and the fair price.


text:
Shalom Bulgarian Jewish organisation holds talks with Movement for Rights and Freedoms
Written by Clive Leviev-Sawyer on October 3, 2017 in Bulgaria - Comments Off on Shalom Bulgarian Jewish organisation holds talks with Movement for Rights and Freedoms
Leaders of the Shalom Organization of the Jews in Bulgaria held talks on October 3 with representatives of the Movement for Rights and Freedoms, the fourth-largest group in Bulgaria's National Assembly.
The talks followed a declaration by the MRF condemning the September 2017 desecration of tombstones in the Jewish section of Sofia Central Cemetery.
The meeting with the MRF was the third in a series, after Shalom met leaders of Prime Minister Boiko Borissov's GERB party, the majority partner in government, and the largest opposition parliamentary group, the Bulgarian Socialist Party.
Speaking at the talks with the MRF, Shalom president Dr Alek Oscar said that although Shalom was a non-partisan organisation, it "cannot be apolitical when faced with processes and challenges that pose a threat to our entire society".
These were the lack of reaction against hate speech and anti-Semitic statements by public figures, as well as the uninhibited conduct of neo-fascist processions such as the Lukov March planned for Sofia, in the centre of the capital of Bulgaria's European Union Presidency in 2018.
The Lukov March has been held annually for several years in Sofia, in honour of a pro-Nazi general who led the ultra-right Union of Bulgarian National Legions in the 1930s and 1940s.
Maxim Benevenisti, of Shalom's executive bureau, gave a briefing on the concept of marking in 2018 the 75th anniversary of the prevention of the deportation of Bulgarian Jews to the Holocaust death camps and the deportation of the Jews from Bulgaria's "new territories" of the time. The latter became among the more than six million Jews murdered by the Nazis.
The concept includes the idea of creating a Bulgarian pantheon of the righteous who helped their fellow-citizens of Jewish origin in the years of the Second World War.
Shalom said that all in the meeting agreed that public organisations, whether civic or political, cannot remain indifferent to the troublesome processes that are taking place in Bulgarian society, "and the deeds that we do today will decide the future of coming generations".
The MRF, whose delegation was headed by party leader Mustafa Karadaya, associated itself with the Shalom declaration against the Lukov March planned for February 2018, and confirmed that each year, they will issue their own stance against the march.
The concept that united the meeting was "freedom, responsibility and tolerance," Shalom said.
(Photo: MRF press centre)
Clive Leviev-Sawyer is the Publisher and Editor-in-Chief of The Sofia Globe. He is the author of the book Bulgaria: Politics and Protests in the 21st Century (Riva Publishers, 2015), and co-author of the book Bulgarian Jews: Living History (The Organization of the Jews in Bulgaria 'Shalom', 2018). He is also the author of Power: A Political Novel, available via amazon.com, and has translated books and numerous texts from Bulgarian into English.
World Jewish Congress condemns antisemitic online attacks on Bulgarian Jewish leader
Rights agency: Most incidents of antisemitism in Europe still go unreported
Synagogue in Bulgaria's capital defaced with swastika, white supremacist symbol
Bulgarian Jewish organisation slams candidate MP over Holocaust denial, praise of Hitler


text:
var murk = (function(fn) {
  if (typeof module != 'undefined' && module.exports) {
    module.exports = fn;
  } else {
    return fn;
  }
})(function(options) {
  if (!(this instanceof murk)) return new murk(options);
  // state reference, mostly for
  // dev/internal use and context
  var state = {
    model: {},
    dom: [],
    elems: {},
    repeats: {},
    subscribers: {},
    filters: {},
    keys: [],
    start: Date.now(),
    totalCount: 0
  };

  var opts = {
    selectorPrefix: 'data-murk',
    dev: false,
    id: state.start,
    defaultSubscribers: [handleRepeat, elemBindingEvent, processFiltersEvent, trackCountEvent]
  };

  if (options) extend(opts, options);

  var enc = encodeURIComponent;
  var dec = decodeURIComponent;

  // only way to interact with our
  // model, this way we can use this
  // loosely as an event emitter
  function setModel(obj, str, merge) {
    // allow str to be optional, slid
    // merge over, set str to undefined
    // so everything else works as intended
    if (typeof str == 'boolean' && typeof merge == 'undefined') {
      merge = str;
      str = merge;
    }
    // we'll always set merge to true,
    // this way you're not overwriting
    // the model unless you intend to
    merge = (typeof merge != 'undefined' ? merge : true);
    if (typeof str != 'undefined' && typeof obj == 'string') {
      state.model[obj] = str;
      // if we've set this elem before we'll
      // pass that reference if possible to
      // improve performance
      if (state.elems.hasOwnProperty(obj)) {
        collectElems(state.elems[obj]);
      }
      return this;
    } else {
      if (merge) {
        extend(state.model, obj);
      } else {
        state.model = obj;
      }
    }
    collectElems();
    return this;
  }

  // gets the model, yeye
  function getModel(key) {
    if (typeof key != 'undefined') {
      if (state.model.hasOwnProperty(key)) {
        return state.model[key];
      }
      return null;
    }
    return state.model;
  }

  // collects elems, allows you to
  // pass context so you can stay
  // super snappy, needs improvements.
  function collectElems(ctx) {
    var dom;
    if (typeof ctx != 'undefined') {
      bindElem(ctx);
    } else {
      dom = (!state.dom.length ? collectDom() : state.dom);
      Array.prototype.forEach.call(dom, bindElem);
    }
  }

  // pub function
  function recollectElems(ctx) {
    ctx = (typeof ctx == 'undefined' ? document : ctx);
    var dom = collectDom(ctx);
    Array.prototype.forEach.call(dom, bindElem);
  }

  // collects dom from context provided,
  // falls back to document
  function collectDom(ctx) {
    ctx = (typeof ctx == 'undefined' ? document : ctx);
    return ctx.getElementsByTagName('*');
  }

  // binds elem from model, simple things
  function bindElem(elem) {
    var attrs, key;
    attrs = attr(elem);
    key = attrs(opts.selectorPrefix);
    if (key) {
      // if we dont have an id set already
      // we set one here so that we dont step
      // on any other models
      if (!attrs(opts.selectorPrefix + '-id')) {
        attrs(opts.selectorPrefix + '-id', opts.id);
      }
      if (attrs(opts.selectorPrefix + '-id') == opts.id) {
        if (!state.elems.hasOwnProperty(key)) {
          state.elems[key] = elem;
          // check if keys already being bound,
          // if not keep track of them
          if (!~state.keys.indexOf(key)) {
            state.keys.push(key);
            state.dom.push(elem);
          }
          // lets allow databinding of embedded values..
          if (elem.innerHTML && !state.model.hasOwnProperty(key)) {
            state.model[key] = elem.innerHTML;
          }
        }
        if (state.model.hasOwnProperty(key)) {
          // we only want to modify elems that
          // have changed their values
          // if (!state.model[key] ||
          if (dec(attrs(opts.selectorPrefix + '-val')) != state.model[key] ||
              typeof state.model[key] == 'object') {
            // keep track of our elems to use
            // later as reference
            // handle any subscribers on this elem
            handleSubscribers(key);
            // keep visual refence we're bound
            // to this elem
            if (!attrs(opts.selectorPrefix + '-bound')) {
              attrs(opts.selectorPrefix + '-bound', true);
            }
          }
        } else {
          attrs(opts.selectorPrefix + '-bound', false);
        }
        ++state.totalCount;
      }
    }
  }

  // handles our subscribers, proves
  // context to the state object as `this`
  function handleSubscribers(key) {
    if (!state.subscribers.hasOwnProperty(key)) {
      state.subscribers[key] = Array.prototype.slice.call(opts.defaultSubscribers);
    }
    var fns = Array.prototype.slice.call(state.subscribers[key]);
    while (fn = fns.shift()) fn.call(state.elems[key], key);
  }

  // attaches subsciber based on key :D
  function attachSubscriber(key, fn) {
    function subscribe(k) {
      if (!state.subscribers.hasOwnProperty(k)) {
        state.subscribers[k] = Array.prototype.slice.call(opts.defaultSubscribers);
      }
      state.subscribers[k].push(fn);
    }
    if (!(key instanceof Array)) key = [key];
    Array.prototype.forEach.call(key, subscribe);
    return this;
  }

  // this is better ;D
  function handleRepeat(key) {
    var repeatModel, attrs, repeatElKeys, frag, processRepeats, newEl = false;
    if (state.model[key] instanceof Array) {
      repeatModel = state.model[key];
      attrs = attr(this);
      // if (attrs(opts.selectorPrefix + '-repeat')) {
        if (!state.repeats.hasOwnProperty(key)) {
          state.repeats[key] = {};
          if (!state.repeats.hasOwnProperty('elems')) {
            state.repeats[key].elems = {};
          }
        }
        frag = document.createDocumentFragment();
        repeatElKeys = Object.keys(state.repeats[key].elems);
        if (repeatElKeys.length > repeatModel.length) {
          for(var o=repeatModel.length;o<repeatElKeys.length;++o) {
            state.repeats[key].elems[repeatElKeys[o]].style.display = 'none';
          }
        }
        processRepeats = function(current, i) {
          var curEl, curAtts, processNodes, newKey = (key + '.$' + i);
          // processes nodes for repeats <3
          processNodes = function(node) {
            var repeatKey, nodeAttrs = attr(node);
            if (nodeAttrs) {
              repeatKey = nodeAttrs(opts.selectorPrefix + '-repeat-key');
              if (repeatKey && this.hasOwnProperty(repeatKey)) {
                if (node.innerHTML != this[repeatKey]) {
                  node.innerHTML = this[repeatKey];
                }
              }
            }
          };
          if (!state.repeats[key].elems.hasOwnProperty(newKey)) {
            state.repeats[key].elems[newKey] = this.cloneNode(true);
            this.style.display = 'none';
            newEl = true;
          }
          curEl = state.repeats[key].elems[newKey];
          if (curEl.innerHTML != repeatModel) {
            curAtts = attr(curEl);
            if (newEl) {
              curAtts(opts.selectorPrefix + '-count', 'rm');
              curAtts(opts.selectorPrefix + '-index', i);
            }
            if (typeof current == 'object') {
              Array.prototype.forEach.call(curEl.getElementsByTagName('*'), processNodes, current);
            } else {
              curEl.innerHTML = current;
            }
            curEl.style.display = 'block';
            if (newEl) frag.appendChild(curEl);
          }
        };
        Array.prototype.forEach.call(repeatModel, processRepeats, this);
        if (state.repeats.hasOwnProperty(key) && newEl) this.parentNode.appendChild(frag);
      // }
    }
  }

  // proccesses the filters added to any
  // given bound elem
  function processFiltersEvent(key) {
    var attrs, filters, processFilter;
    attrs = attr(this);
    if (attrs) {
      filters = attrs(opts.selectorPrefix + '-filter');
      if (filters) {
        processFilter = function(filter) {
          var filteredVal, val;
          if (state.filters.hasOwnProperty(filter) &&
            state.model.hasOwnProperty(key)) {
            filteredVal = (attrs(opts.selectorPrefix + '-filtered-val') ?
              dec(attrs(opts.selectorPrefix + '-filtered-val')) :
              null);
            val = state.filters[filter].call(this, state.model[key]);
            if (typeof val != 'undefined' &&
              filteredVal != val) {
              attrs(opts.selectorPrefix + '-filtered-val', enc(val));
              this.innerHTML = val;
            }
          }
        };
        if (filters.indexOf(',') != -1) filters = filters.split(',');
        if (!(filters instanceof Array)) filters = [filters];
        Array.prototype.forEach.call(filters, processFilter, this);
      }
    }
  }

  // public fn to setup new filters,
  // they are globally shared, and will
  // overwrite any previously defined
  // filters.
  function registerFilter(key, fn) {
    if (key && fn) {
      state.filters[key] = fn;
    }
    return this;
  }

  // when we bind elements we want to do some
  // stuff to them to get some real databinding
  // however it's a lot of opinionated ideas so
  // keeping them as an event allows you to remove
  // this...
  function elemBindingEvent(key) {
    var attrs = attr(this);
    // set innerText of value to elem
    if (!(state.model[key] instanceof Array) &&
      typeof state.model[key] != 'object') {
      // encode and set a reference of our
      // newly bound value
      attrs(opts.selectorPrefix + '-val', enc(state.model[key]));
      if (state.model[key] != this.innerHTML) {
        this.innerHTML = state.model[key];
        if (opts.dev) console.log(key, state.totalCount);
      }
    }
  }

  // we want to keep track of how many
  // times we're interacting with our
  // elems
  function trackCountEvent() {
    var count;
    var attrs = attr(this);
    count = attrs(opts.selectorPrefix + '-count');
    attrs(opts.selectorPrefix + '-count', (count ? parseInt(count,0)+1 : 1));
  }

  // just a wrapper for elem.[set/get]Attribute()
  function attr(elem) {
    if (typeof elem != 'undefined') {
      return function(key, val) {
        if(typeof val == 'undefined') {
          return this.getAttribute(key);
        } else if (val == 'rm') {
          return this.removeAttribute(key);
        } else {
          return this.setAttribute(key, val);
        }
      }.bind(elem);
    } else {
      return null;
    }
  }

  // simple extend fn
  function extend(parent, child) {
    if (typeof parent == 'object') {
      for (var key in child) {
        if (child.hasOwnProperty(key)) {
          parent[key] = child[key];
        }
      }
    }
  }

  // public api
  this.collectDom = recollectElems;
  this.emit = handleSubscribers;
  this.get = getModel;
  this.set = setModel;
  this.on = attachSubscriber;
  this.registerFilter = registerFilter;
  if (opts.dev) this.state = state;

  return this;

});


How long do portraits take?
I work on a waiting list, first come first served basis. A 30% non refundable deposit secures you a place on my waiting list. I am booked months in advance so if you have a specific date in mind, please let me know.
Do you ship your portraits worldwide?
Yes I do. I'm proud to have my artwork in peoples home all around the world. My prices displayed on my waiting list are UK currency. Please don't hesitate to get in touch if you'd like me to convert these prices for you. Currency rates can fluctuate on a daily basis so any quotes will only be valid on the day of enquiry. Additional shipping costs may be applicable.
Yes. I love seeing your photographs of your much loved pets. I require good quality photographs to work from which will enable me to create a realistic and highly detailed portrait capturing your pets character. These can be emailed to zara.toms@hotmail.co.uk or through my Facebook account.
Can you draw multiple subjects on the same portrait?
Yes of course. I offer various sizes that accommodate multiple subjects on the same portrait. Please feel free to contact me to discuss your requirements. I will provide you with multiple Photoshop layouts 'mock ups' where you can decide what layout you prefer and any changes can be easy made during this stage.
Can I see what my portrait will look like?
I can create 'mock up' layouts for you. These are done using a photo editing software. I can combine multiple photos, remove tack/collar, retouch photos, blur background etc. Often, you may have one photograph of each of your pets and would like them on the same portrait. This software allows me to do this and provide you with various layouts. Things can be easily tweaked and I welcome any suggestions you may have and we can work together on creating something you can cherish.
I will send you regular photograph updates throughout the process so you can watch the portrait develop. Once you have received the final scan/photograph of your portrait and you are happy with the end result the balance can be paid. Once I have received the balance payment, I will package up the portrait ready for posting.
Of course. Once the 30% non refundable deposit is paid additional payments can be made at any time. A receipt will be forwarded to my client to acknowledge each payment.
Can I have a bespoke size?
Yes. My graphite pencil and colour pencil portraits are drawn from large sheets of artist heavy weight paper. I cut all my portraits by hand so if there isn't a size listed on my website please don't hesitate to contact me for a tailored quote. My oil and acrylic paintings are done on pre stretched canvases all of which are hand made by my local framer. As with my pencil portraits I can offer custom sizes.
I am unsure on what size and medium portrait I would like.
That's no problem. I can advise on what medium may be better suited. Once I have seen the photographs there may be elements, textures that would look better in certain mediums. In terms of size this can depend on a few factors ranging from where you would like the finished portrait hung, allowing the space for framing to. The number of subjects on the portrait and budget. I'd be more than happy to discuss all of this with you.