text:
How To: Play "Why" by Secondhand Serenade on guitar
Learn how to play "Why" by Secondhand Serenade, an acoustic guitar tutorial. Follow along with this demonstration, tabs and lyrics here:
Standard Tuning:
The buttons on my phone are worn thin
I don't think that I knew the chaos I was getting in.
Em D G C
But I've broken all my promises to you
E D C D
I've broken all my promises to you.
G C Em D
Why do you do this to me?
Why do you do this so easily?
You make it hard to smile because
Em D
You make it hard to breathe
To me..
A phrasing that's a single tear,
Iis harder than I ever feared
And you were left feeling so alone.
Because these days aren't easy
Like they have been once before
These days aren't easy anymore.
Em D Em D Em D
To me, to me, to me..
I should've known this wasn't real
And fought it off and fought to feel
What matters most? Everything
That you feel while listening to every word that I sing.
I promise you I will bring you home
How To: Play "It's Not Over" by Secondhand Serenade on guitar
How To: Play "Fall for You" by Secondhand Serenade on guitar
How To: Play "Your Call" by Secondhand Serenade on guitar
How To: Play "Goodbye" by Secondhand Serenade on guitar
How To: Play "Awake" by Secondhand Serenade on guitar
How To: Play Queen's "Love of My Life" on piano
How To: Play "Real Love" by John Lennon
How To: Avoid secondhand sound with a monitor when DJing
How To: Play "Drown In My Own Tears" by Ray Charles on piano
How To: Play "Harvest Moon" by Neil Young on acoustic guitar
How To: Get started playing Brazilian-style guitar
How To: Play "Paint It Black" by Rolling Stones on guitar
How To: Play Eric Clapton's "Malted Milk" on guitar
How To: Play "It's So Easy" by Buddy Holly on the guitar
How To: Play different rhythms on the acoustic guitar
How To: Play "Blister in the Sun" by Violent Femmes on guitar
How To: Play "Why Don't You Get a Job" by Offspring on guitar
How To: Play "Lola" by The Kinks on acoustic guitar
How To: Play "Sunday Bloody Sunday" by U2 on acoustic guitar
How To: Play "Open Your Eyes" by Snow Patrol on guitar
How To: Play an acoustic fingerstyle guitar
How To: Play a rock solo on the electric guitar
How To: Play Ludovico Einaudi's "I Giorni" on acoustic guitar
How To: Play percussive guitar
How To: Play "Key to the Highway" on guitar
How To: Play "Broken" by Seether on acoustic guitar properly
How To: Play "Both Sides Now" by Joni Mitchell on the guitar
How To: Play a finger picking pattern on the acoustic guitar
How To: Play G tags with open strings on acoustic guitar
How To: Play "Fix You" by Coldplay on acoustic guitar
How To: Play "The Passenger" by Iggy Pop on an acoustic guitar
How To: Play "Throw Your Arms Around Me" by Seymour on guitar
How To: Play "Knockin' on Heaven's Door" by Dylan on guitar
How To: Play "Save Tonight" by Eagle Eye Cherry on guitar
How To: Arrange chords on an acoustic solo fingerstyle guitar
How To: Play Davy Graham's "Angi" on guitar


text:
Tag Archives: singapore tech startups
OrSiSo launches new functionality enhancements GTalk Bebo and Facebook
OrSiSo launches new functionality & enhancements including GTalk, Bebo and Facebook
OrSiSo adds GTalk and Bebo to their latest release and enhanced Facebook functionality to allow people to access their published links from their Facebook stream
July 29 2009 – Global Release – OrSiSo (www.orsiso.com) announced today the release of an updated version of the social networking aggregator which includes additional features to complement a steadily growing array of tools for people trying to manage their social networks from one place.
"We are excited to announce the addition of GTalk and Bebo to our latest releases, as well as enhanced Facebook functionality to allow people to access their published links from their Facebook stream. These new features will definitely add even more value for our users who want to simplify and organize their online social networks", founder and CEO Thorben Linneberg said.
"We have been listening closely to our user feedback and have been focusing on improving both the performance of the platform as well as taking the opportunity where possible to expand the opportunities available for social networks and services that we include in OrSiSo" he added.
The latest release of OrSiSo includes greater chat integration on top of the popular social networks such as Facebook, Twitter, LinkedIn, Bebo, Friendster and Flickr. "The enhanced chat functionality now lets you update your chat status across multiple IM platforms, and we have now added GTalk to our existing services of Facebook Chat, MSN, Yahoo! and AOL after requests from our users" added Linneberg.
OrSiSo stands for Organize, Simplify, Socialize; and is an Adobe AIR platform that runs on PC, Mac and Linux. By connecting to multiple social networks from one place, and allowing you to merge multiple identities into unique contacts, OrSiSo helps you to simplify and filter the information and updates you receive every day. At its core lies SocialCraft(tm), an adaptive algorithm that prioritizes information based on relevance and closeness to you in real time; helping you keep up to date with your most relevant friends and contacts across all your social networks to give you more time to socialize both online …. and offline!
PR Contact: Andrew Peters – The Pacific West Communications
To find out more about OrSiSo, check out www.orsiso.com. You can download the application and be connected to all your social networks in a matter of minutes, it runs on PC, Mac and Linux.
Filed under aplink
Tagged as andrew peters, aplink, bebo, facebook, Facebook stream, gtalk, marketing, orsiso, PR, Public Relations, singapore, singapore events, singapore tech startups, social media, social networking, social networking aggregator, social networks, startup, tech pr, tech startups, Thorben Linneberg, twitter, web 2.0
A night for tech start-ups in Singapore | Techgoondu
Techgoondu at Geek Terminal Singapore
Start-ups who presented include: (see original post for links)
* Twinity (Jeremy Snyder): a 3D online-world that replicates real world cities in a virtual environment. The city of Berlin has already been launched, and both London and Singapore will be up later this year. According to Jeremy, they have about a 100,000 sign-ups since the launch of Twinity in September last year in 2008.
* Brandtology (Aaron Koh): a social media monitoring start-up that help companies makes sense of the big bad web by mining sentiments from it. Brandtology is founded by CEO Eddie Chao, who previously incubated managed security services player e-Cop that was acquired by Temasek in 2007.
* Makeaffinity (Thomas Tan): ever wanted to control robots over the internet to slug it out in a death match? Now you can with Makeaffinity's robot sharing platform, which allows folks to play with and make web robots without much programming whatsoever.
* 2359 Media (Hong Ting and Wenhan): founded by a trio of passionate entrepreneurs who just finished their NUS studies and a stint in Silicon Valley. 2359 Media is an advertising platform for mobile phones utilizing location based services.
* Jorbb (Shen Heng): Most job advertising portals cater to the white-collar worker. Shen wanted to create a portal specifically for blue-collar workers — part-timers, trade promoters, temp staff — and Jorbb is the result.
* Neat Co (Sarabjit Singh): Neat co, a small US company with a second office in Singapore, was the only physical tech appliance company amongst the presenters. Showcased was their contextually aware OCR reader, a smart scanning solution for receipts and the like.
* Phokki (Sean Seah): And lastly, Phokki, a start-up which turns your photos into works of art via a platform that links artists to end users directly. I've written a post on Phokki before.
We had a couple of other start-ups who didn't present like seemeCV and Airvert. Not to worry. Due to good interest in this first event from anecdotal feedback (thanks to those who gave theirs!), the Techgoondus will think about running this on a semi-regular basis once in a few months. Will keep you readers posted if we do run this again. Meanwhile, if you're interested in ideas on this front, feel free to drop me an email.
via A night for tech start-ups in Singapore | Techgoondu.
Filed under advertising, aplink, marketing, metaversum, PR, Public Relations, singapore, social networking, twinity, virtual worlds
Tagged as 2359 media, airvert, brandtology, geek terminal, geek terminal events, jorbb, makeaffinity, metaversum, neat co, phokki, seemecv, singapore startups, singapore tech startups, techgoondu, twinity, twinity singapore
new startup: virtual social networking – itsReal
What is MyWobile?
MyWobile is a unique social networking tool that literally brings the virtual world closer to reality. In Traditional Social Networking Websites, users do not interact on a personal level because contact is strictly limited to just plain text and a few uploaded pictures. Additionally, your friends may not always be online and waiting for your messages whenever you logon to your favorite social networking sites.
more: http://www.mywobile.com/
Filed under advertising, aplink, marketing, PR, Public Relations, singapore, social networking
Tagged as mywobile, singapore, singapore tech startups, social marketing, social media, social networking, startup, startups, virtual social networking
SPRING Singapore – offers $50 million to Tech Startups – itsReal
SPRING launches $50m programme to turn R&D concepts into businesses
1. Technology-savvy entrepreneurs and small and medium enterprises (SMEs) keen to commercialise their R&D ideas can now tap on SPRING Singapore's new Technology Enterprise Commercialisation Scheme (TECS).
2. The $50 million programme is an extension of SPRING's Technology Innovation Programme (TIP), which was launched in August 2006. Developed with the support of Agency for Science, Techology and Research (A*STAR), National University of Singapore (NUS), Nanyang Technological University (NTU) and National Research Foundation (NRF), TECS aims to support more than 100 ideas over the next five years.
3. Speaking at the SPRING Enterprise Conference 2008 at Matrix @ Biopolis today, SPRING's Chairman, Mr Philip Yeo said, "New product development is highly risky – especially so for those based on new technologies and aimed at creating a new market. When successful, such innovations can enable our companies to leapfrog their competitors. We need more of such breakthrough innovations."
4. The TECS will provide the support to enterprises and entrepreneurs to bring their ideas to the market. The funding will be given in two phases.
5. The first critical phase is for Proof-of-Concept. Proposals will be assessed based on their commercial potential and technical feasibility. Successful applicants can receive 100% grant support of up to $250,000. The second phase is for Proof-of- Value. This is open to applicants who wish to carry out further R&D on the project, including the development of a working prototype. Successful applicants can receive grant support of 85% of up to $500,000 to fund the development from proof-of-concept to productisation and commercialisation.
6. "Technology projects, especially the development of in-house proprietary technology, have very high inherent risks. The support from the Technology Enterprise Commercialisation Scheme will help SMEs like Cal-Comp to mitigate some of these risks. This will encourage SMEs and entrepreneurs to embark on R&D activities, thereby contributing to the national efforts in promoting R&D activities and developing research talents," said Mr Jeff Chan, Managing Director of Cal-Comp Technology Pte Ltd, a local company specialising in hard disk drive development, as well as design and engineering services for hard disk drive products, communication technologies and printers.
7. Mr Mike Holt, CEO of Singapore-based technology start-up, XID Technologies agrees. "XID is changing how people secure data and locations with the world's only face recognition software that functions reliably in varying lighting conditions, like with laptops, phones and outdoor physical access systems. Proving this technology onto mass market image sensors takes this to the next level. SPRING's Technology Enterprise Commercialisation Scheme will enable us to make this real," said Mr Holt.
8. Following the success of the inaugural event last year, SPRING further expanded this year's SPRING Enterprise Conference from a half-day event into a full-day Conference, focusing on the theme: "Growing Innovative Enterprises". Some 450 participants from leading SMEs, Chambers of Commerce and Industry Associations attended the Conference.
9. As the Platinum Sponsor, HSBC believes the SPRING Enterprise Conference is an important platform for communicating with SMEs. And according to Ms Serene Soh, HSBC's Senior Vice-President and Head of SME, Singapore SMEs have what it takes to succeed, not just at home but internationally. "SMEs are the key to our business at HSBC. That's why we use our extensive international network and global experience to help SMEs establish themselves abroad," Ms Soh said.
10. Highlights of the event included a keynote speech by Mr Paul Peeters, Chairman and Chief Executive Officer of Philips Electronics Singapore Pte Ltd, on how Philips has leveraged on innovation to grow. Parallel workshops on four key capability areas – Money, Markets, Management and Know-how were also held to provide participants with a deeper understanding of each area.
11. The SPRING Enterprise Conference 2008 was sponsored by Hongkong and Shanghai Banking Corporation Limited (HSBC) and co-sponsored by SAP and Coface. The official media partner was The Straits Times.
Fact Sheet on Technology Enterprise Commercialisation Scheme (TECS)
What is TECS?
SPRING Singapore's Technology Enterprise Commercialisation Scheme (TECS) can provide the vital resources to help convert breakthrough R&D concepts and proprietary IP into promising businesses.
By addressing early-stage funding gaps, TECS aims to help technology enterprises and entrepreneurs in Singapore to grow past their embryonic phase, secure third party funding and achieve growing revenues.
Technology-savvy entrepreneurs and small and medium enterprises (SMEs) can all apply. They can tap on TECS if their company meets the following criteria :
at least 30% of the shareholding is local
the company's group fixed assets are below $15 million
the company has no more than 200 employees (for companies in the services sector)
physically present in Singapore
registered/incorporated for less than 5 years at the time of the award
has at least one in-house technology engineer or scientist
Individual Principal Investigators, as well as research scientists and engineers from public sector research organisations are also considered for funding under the Proof-of-Concept (POC) phase
How does TECS work?
TECS is a competitive grant in which proposals are ranked based on the evaluation of a team of reviewers, and the best proposals are funded. We will invite submissions twice a year for Proof-of-Concept (POC) and Proof-of-Value (POV) proposals through the TECS website http://www.spring.gov.sg/tecs.
Proof-of-Concept (POC)
POC is for applicants who wish to develop ideas at the conceptualization stage.
Applicants are invited to submit proposals for proof-of-concept of their proprietary technology ideas. All proposals will first be assessed on their technically feasibility and commercial potential. Individual applicants will be required to demonstrate commitment to continue their technology commercialisation work in the event they are awarded a grant and successfully complete the project.
Up to 100% of qualifying costs for each project will be supported, up to maximum of S$250,000.
Proof-of-Value (POV)
POV is for applicants who are keen to carry out further R&D on a technology project, including the development of a working prototype. This project must be based on a proprietary technology IP which has successfully demonstrated proof-of-concept.
Applicants are required to demonstrate proof-of-interest from a potential customer or 3rd party investor. You will also have to demonstrate the necessary business competencies to execute the project.
Up to 85% of qualifying costs for each project will be supported, up to maximum of S$500,000.
Qualifying costs include :
Manpower-related costs
Equipment/ Software
Materials & Consumables
Other Operating Expenditure
What are the areas of focus?
We welcome proposals in the areas of :
Electronics, Photonics & Device Technologies
Chemicals, Materials Science, Nano Technology
Optical, Wireless and Hybrid Communications Systems
Biomedical Sciences (excluding Biotechnology)
What is deadline for submission of proposals?
There will be a Call for Proposals once every 6 months. The first Call for Proposals will begin 17 Apr 08. The deadline for submission is 30 Jun 08. Applicants are welcome to submit proposals for both Proof-of-Concept and Proof-of-Value phases. Shortlisted applicants will be informed within 6 – 8 weeks after the closing date for submission.
For more information on TECS, please visit http://www.spring.gov.sg/tecs or contact the EnterpriseOne hotline at Tel: (65) 6898 1800 or email enterpriseone@spring.gov.sg.
Filed under advertising, aplink, marketing, PR, Public Relations, singapore, social networking, virtual worlds
Tagged as aplink, funding, government funding, singapore, singapore events, singapore tech startups, Spring Singapore, tech startups, virtual commerce, virtual worlds

redpajama_set_name: RedPajamaCommonCrawl


A Map of Potters Bar is a self-initiated research project exploring maps, local history and the way memories are associated to places. It is an investigation into the history that surrounds us all the time, as well as the histories that we each create.
The map contains local public history and information, alongside my own personal memories and observations of the town.


Burke County, North Carolina Land Records, 1779-1790, Vol. #2, and Important Miscellaneous records, 1777-1800. | Southern Historical Press, Inc.
By: Edith Warren Huggins, Pub. 1981, reprinted 2011, 212 pages, soft cover, Index, ISBN #0-89308-560-X.


Freeride Mountain Bike Association (FMBA) e.V.
For uniform representation of fonts, this page uses web fonts provided by Google. When you open a page, your browser loads the required web fonts into your browser cache to display texts and fonts correctly. We also use the service of Google Forms for our event applications.
For these purposes your browser has to establish a direct connection to Google servers. Google thus becomes aware that our web page was accessed via your IP address. The use of Google Web fonts is done in the interest of a uniform and attractive presentation of our website. This constitutes a justified interest pursuant to Art. 6 (1) (f) DSGVO.


text:
A new way to health care is here.
A New Way to Healthcare is Here.
Heartland, ManorCare and Arden Courts are now part of the ProMedica family of services. The skilled nursing & rehabilitation, memory care, home health and hospice services you know us for are now part of an integrated health and well-being organization that includes hospitals, doctors and health insurance plans as well.
Statement regarding COVID-19
Please click here for COVID-19 updates and visitation information.
Filter Content By:
Loneliness and Social Isolation's Impact on Aging – Dr. Karra Harrington Webinar
Karra Harrington, Ph.D.
Postdoctoral Scholar, Center for Healthy Aging, The Pennsylvania State University, Clinical Psychologist
Learn how loneliness and social isolation affects older adults, consequences of loneliness and social isolation (particularly for brain health) and how to recognize loneliness and what can be done to help someone who is lonely.
Healthcare Resources (Blog)
Notice of Information Practices and State Addendum
Special Needs Communications and Accessibility
Our Family of Care Services
Skilled Nursing and Rehabilitation
ProMedica Senior Care
ProMedica Hospitals & Providers
ProMedica Senior Care complies with applicable Federal civil rights laws and does not discriminate on the basis of race, color, national origin, age, disability, sex, and protected veteran status.
© 2023 ProMedica Health System, Inc., or its affiliates
Some images on our site may not reflect the current precautions we are taking to reduce the spread of COVID-19. Learn more about how we are keeping you safe.
Affordable Care Act Non-Discrimination Notice for Employees
By submitting this form, you agree to HCR ManorCare's Privacy Policy.


text:
#include <glib.h>
#include <gst/gst.h>
#include <gst/gstregistry.h>

// from libgstreamer-plugins-base1.0-dev
#include <gst/video/videooverlay.h>

#include <QApplication>
#include <QTimer>
#include <QWidget>

#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>

#include <unistd.h>
#include <inttypes.h>

#include <mutex>
#include <thread>

const char* DEFAULT_ADDR = "127.0.0.1";
const uint16_t DEFAULT_PORT = 9999;
const char* VAAPI_ENV = "GST_VAAPI_ALL_DRIVERS=1";

// If the difference is above the hard threshold, seek.
const gint64 HARD_SYNC_THRESHOLD = GST_SECOND / 1.0;
// If the difference is above the soft threshold, step.
const gint64 SOFT_SYNC_THRESHOLD = GST_SECOND / 60.0;
// If we haven't heard from the master in this time, don't sync.
const gint64 SYNC_TIMEOUT = HARD_SYNC_THRESHOLD / 2.0;

/* Copied from gst-plugins-base/gst/playback/gstplay-enum.h */
typedef enum
{
  GST_PLAY_FLAG_VIDEO = (1 << 0),
  GST_PLAY_FLAG_AUDIO = (1 << 1),
  GST_PLAY_FLAG_TEXT = (1 << 2),
  GST_PLAY_FLAG_VIS = (1 << 3),
  GST_PLAY_FLAG_SOFT_VOLUME = (1 << 4),
  GST_PLAY_FLAG_NATIVE_AUDIO = (1 << 5),
  GST_PLAY_FLAG_NATIVE_VIDEO = (1 << 6),
  GST_PLAY_FLAG_DOWNLOAD = (1 << 7),
  GST_PLAY_FLAG_BUFFERING = (1 << 8),
  GST_PLAY_FLAG_DEINTERLACE = (1 << 9),
  GST_PLAY_FLAG_SOFT_COLORBALANCE = (1 << 10),
  GST_PLAY_FLAG_NATIVE_TEXT = (1 << 11)
} GstPlayFlags;

class WindowData {
  public:
    WindowData();
    const char* name;
    int16_t width;
    int16_t height;
    int16_t x;
    int16_t y;
};

WindowData::WindowData() : name(NULL), width(0), height(0), x(0), y(0) {}

class SyncVideoApp {
  public:
    SyncVideoApp(char* uri, WindowData* wdata, bool master, bool slave, struct sockaddr_in addr);
    int init();
    void quit(int code);
    void play();
    gboolean bus_callback(GstBus *bus, GstMessage *msg);
    gboolean query_duration();
    void video_changed(GstElement *element);
    GstPadProbeReturn buffer_callback(GstPad *pad, GstPadProbeInfo *info);

  private:
    void pause_for_sync_();
    void resume_();
    void run_udp_thread_();
    bool seek_(gdouble rate, GstFormat format, GstSeekFlags flags, GstSeekType type, guint64 pos);
    bool step(GstFormat format, guint64 amount);
    bool send_pos_(guint64 pos);

    char* uri;
    WindowData* wdata;
    bool master;
    bool slave;
    struct sockaddr_in sockaddr;

    std::mutex lock;
    gint64 duration;
    guint query_duration_callback_id;
    GMainLoop *loop;
    GstElement *player;
    guint64 mypos;
    guint64 remotepos;
    gint64 remotestamp;
    bool holding;
    int sockfd;
    QWidget *window;
    std::thread udp_thread;
};

SyncVideoApp::SyncVideoApp
(char* uri, WindowData* wdata, bool master, bool slave, struct sockaddr_in addr)
  : uri(uri), wdata(wdata), master(master), slave(slave), sockaddr(addr)
{
  this->duration = G_MAXINT64;

  this->loop = NULL;
  this->player = NULL;

  this->mypos = 0;
  this->remotepos = GST_CLOCK_TIME_NONE;
  this->remotestamp = 0;

  this->holding = false;
  this->sockfd = -1;
  this->window = NULL;
  this->query_duration_callback_id = 0;
}

static gboolean bus_callback_(GstBus *bus, GstMessage *msg, gpointer data) {
  SyncVideoApp *app = static_cast<SyncVideoApp*>(data);
  return app->bus_callback(bus, msg);
}

static gboolean query_duration_(gpointer data) {
  SyncVideoApp *app = static_cast<SyncVideoApp*>(data);
  g_debug("querying media duration...\n");
  return app->query_duration();
}

static void video_changed_(GstElement *element, gpointer data) {
  SyncVideoApp *app = static_cast<SyncVideoApp*>(data);
  app->video_changed(element);
}

static GstPadProbeReturn buffer_callback_(GstPad *pad, GstPadProbeInfo *info, gpointer data) {
  SyncVideoApp *app = static_cast<SyncVideoApp*>(data);
  return app->buffer_callback(pad, info);
}

int SyncVideoApp::init() {
  GstState state = GST_STATE_NULL;
  GstBus *bus = NULL;
  GstElement *sink = NULL;
  GstStateChangeReturn sret;

  this->window = new QWidget();

  this->loop = g_main_loop_new(NULL, false);
  this->player = gst_element_factory_make("playbin", "sync_player");
  if (!this->player) {
    g_printerr("Failed to create playbin!\n");
    return -1;
  }

  gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(this->player), this->window->winId());

  sink = gst_element_factory_make("autovideosink", "sync_sink");
  g_object_set(this->player, "video-sink", sink, NULL);

  GstPlayFlags playbin_flags = (GstPlayFlags)(
    GST_PLAY_FLAG_VIDEO |
    GST_PLAY_FLAG_VIS |
    GST_PLAY_FLAG_BUFFERING |
    GST_PLAY_FLAG_DEINTERLACE |
    GST_PLAY_FLAG_SOFT_VOLUME |
    GST_PLAY_FLAG_SOFT_COLORBALANCE
  );
  if (!this->slave) {
    playbin_flags = (GstPlayFlags)(playbin_flags | GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_TEXT);
  }
  g_object_set(this->player, "flags", playbin_flags, NULL);

  g_object_set(this->player, "uri", this->uri, NULL);

  sret = gst_element_set_state(this->player, GST_STATE_PAUSED);
  if (sret == GST_STATE_CHANGE_FAILURE) {
    g_printerr("failed to set state to paused\n");
  }
  sret = gst_element_get_state(this->player, &state, NULL, GST_SECOND * 3);  // Wait for state change.
  if (sret == GST_STATE_CHANGE_FAILURE) {
    g_printerr("failed to get state\n");
  }

  if (query_duration_(this)) {
    g_warning("Could not initially query media duration!\n");
    this->query_duration_callback_id = g_timeout_add(200, query_duration_, this);
  }

  sret = gst_element_set_state(this->player, GST_STATE_NULL);
  if (sret == GST_STATE_CHANGE_FAILURE) {
    g_printerr("failed to set state to null)\n");
  }

  bus = gst_pipeline_get_bus(GST_PIPELINE(this->player));
  gst_bus_add_watch(bus, bus_callback_, this);
  gst_object_unref(bus);

  g_signal_connect(this->player, "video-changed", (GCallback)video_changed_, this);

  if (this->master || this->slave) {
    if ((this->sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
      g_printerr("Failed to create socket, errno %d\n", errno);
      return -1;
    }

    int one = 1;
    if (setsockopt(this->sockfd, SOL_SOCKET, SO_BROADCAST, &one, sizeof(one)) < 0) {
      g_warning("Failed to set socket broadcast flag, errno %d\n", errno);
    }
    if (setsockopt(this->sockfd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)) < 0) {
      g_warning("Failed to set socket reuseaddr flag, errno %d\n", errno);
    }
  }

  if (this->slave) {
    this->udp_thread = std::thread(&SyncVideoApp::run_udp_thread_, this);
    this->udp_thread.detach();
  }
  this->play();

  return 0;
}

gboolean SyncVideoApp::bus_callback(GstBus *bus, GstMessage *msg) {
  switch (GST_MESSAGE_TYPE (msg)) {
    case GST_MESSAGE_ERROR: {
      gchar *debug;
      GError *error;

      gst_message_parse_error(msg, &error, &debug);
      g_free(debug);

      g_printerr("Error: %s\n", error->message);
      g_error_free(error);

      this->quit(-1);
      break;
    }
    case GST_MESSAGE_EOS:
      if (!this->seek_(
        1.0,
        GST_FORMAT_TIME,
        GST_SEEK_FLAG_FLUSH,
        GST_SEEK_TYPE_SET,
        0
      )) {
        g_printerr("Loop failed!\n");
        this->quit(-1);
      }

      break;
    case GST_MESSAGE_BUFFERING: {
      gint percent = 0;
      gst_message_parse_buffering(msg, &percent);
      g_debug("buffering at %u percent\n", percent);
      /*
      if (percent < 100) {
        gst_element_set_state(this->player, GST_STATE_PAUSED);
      } else {
        gst_element_set_state(this->player, GST_STATE_PLAYING);
      }
      */
      break;
    }
    default:
      break;
  }

  return true;
}

gboolean SyncVideoApp::query_duration() {
  return !gst_element_query_duration(this->player, GST_FORMAT_TIME, &this->duration);
}

void SyncVideoApp::video_changed(GstElement *element) {
  GstPad *pad = NULL;
  gint current_stream;

  g_object_get(element, "current-video", &current_stream, NULL);
  g_signal_emit_by_name(element, "get-video-pad", current_stream, &pad, NULL);
  if (!GST_IS_PAD(pad)) {
    g_debug("Could not get pad in video_changed()\n");
    return;
  }

  gst_pad_add_probe(
    pad,
    (GstPadProbeType)(GST_PAD_PROBE_TYPE_BUFFER | GST_PAD_PROBE_TYPE_BLOCK),
    (GstPadProbeCallback)buffer_callback_,
    this,
    NULL
  );
  g_object_unref(pad);
}

GstPadProbeReturn SyncVideoApp::buffer_callback(GstPad *pad, GstPadProbeInfo *info) {
  std::lock_guard<std::mutex> lock(this->lock);
  GstState state = GST_STATE_NULL;
  gint64 mypos = 0;

  gst_element_query_position(this->player, GST_FORMAT_TIME, &mypos);

  this->mypos = mypos;

  if (this->window->isHidden()) {
    // Setting the background color here may result in either
    // the set color or black.  Fortunately we want it black anyway.
    this->window->setStyleSheet("background-color: black");
    // It is important to set the window name before configuring or
    // mapping the window so that window placement rules can be matched instantly.
    if (this->wdata->name != NULL) {
      this->window->setWindowTitle(this->wdata->name);
    }
    this->window->move(this->wdata->x, this->wdata->y);
    if (this->wdata->width > 0 && this->wdata->height > 0) {
      this->window->resize(this->wdata->width, this->wdata->height);
    }
    this->window->show();
  }

  if (this->master) {
    this->send_pos_(mypos);
    return GST_PAD_PROBE_PASS;
  }

  if (this->slave && this->remotepos != GST_CLOCK_TIME_NONE) {
    // Slaves sync to the master clock.
    GstStateChangeReturn sret = gst_element_get_state(this->player, &state, NULL, 0);
    if (sret != GST_STATE_CHANGE_SUCCESS || state != GST_STATE_PLAYING) {
      g_debug("player is not playing, pass\n");
      return GST_PAD_PROBE_PASS;
    }

    gint64 remote_age;
    gint64 master_offset;
    gint64 now = g_get_monotonic_time();

    remote_age = (now - this->remotestamp) * 1000;
    master_offset = this->remotepos + remote_age - mypos;

    if (remote_age > SYNC_TIMEOUT) {
      // We haven't heard from the master for a while, don't sync.
      this->remotepos = GST_CLOCK_TIME_NONE;
      return GST_PAD_PROBE_PASS;
    }

    if (master_offset > this->duration - HARD_SYNC_THRESHOLD) {
      g_debug("we looped first, hold on\n");
      this->pause_for_sync_();
    } else if (abs(master_offset) > HARD_SYNC_THRESHOLD) {
      // Hard sync is seeking to the position.
      g_debug("seeking to %ld\n", remotepos);

      if (!this->seek_(
        1.0,
        GST_FORMAT_TIME,
        (GstSeekFlags)(GST_SEEK_FLAG_FLUSH),
        GST_SEEK_TYPE_SET,
        this->remotepos + remote_age
      )) {
        g_printerr("Seek failed!\n");
      }

      return GST_PAD_PROBE_DROP;

    } else if(master_offset > SOFT_SYNC_THRESHOLD) {
      // Soft sync is stepping forwards to the position.
      g_debug("stepping forward by %ld\n", master_offset);

      if (!this->step(GST_FORMAT_TIME, master_offset)) {
        g_printerr("step failed!\n");
      }

      return GST_PAD_PROBE_DROP;

    } else if(master_offset < -SOFT_SYNC_THRESHOLD && mypos < this->duration - HARD_SYNC_THRESHOLD) {
      // Slave is ahead, pause until master catches up.
      // If we are near the end, do not hold.
      g_debug("holding pattern\n");
      this->pause_for_sync_();
    }
  }

  return GST_PAD_PROBE_PASS;
}

void SyncVideoApp::pause_for_sync_() {
  this->holding = true;
  GstStateChangeReturn sret = gst_element_set_state(this->player, GST_STATE_PAUSED);
  if (sret == GST_STATE_CHANGE_FAILURE) {
    g_printerr("failed to pause for sync\n");
  }
}

void SyncVideoApp::resume_() {
  this->holding = false;
  GstStateChangeReturn sret = gst_element_set_state(this->player, GST_STATE_PLAYING);
  if (sret == GST_STATE_CHANGE_FAILURE) {
    g_printerr("failed to resume sync\n");
  }
}

void SyncVideoApp::play() {
  GstStateChangeReturn sret = gst_element_set_state(this->player, GST_STATE_PLAYING);
  if (sret == GST_STATE_CHANGE_FAILURE) {
    g_printerr("failed to start playing in play()\n");
    this->quit(-1);
  }
}

void SyncVideoApp::quit(int code) {
  g_debug("quitting application\n");
  this->window->hide();

  if (this->query_duration_callback_id != 0) {
    g_source_remove(this->query_duration_callback_id);
  }

  gst_element_set_state(this->player, GST_STATE_NULL);
  g_main_loop_quit(this->loop);

  gst_object_unref(this->player);
  g_main_loop_unref(this->loop);

  exit(code);
}

bool SyncVideoApp::seek_(gdouble rate, GstFormat format, GstSeekFlags flags, GstSeekType type, guint64 pos) {
  gboolean ret = gst_element_seek(
    this->player,
    rate,
    format,
    flags,
    type,
    pos,
    GST_SEEK_TYPE_NONE,
    GST_CLOCK_TIME_NONE
  );
  if (!ret) {
    g_printerr("Seek failed\n");
    return false;
  }

  return true;
}

bool SyncVideoApp::step(GstFormat format, guint64 amount) {
  return gst_element_send_event(
    this->player,
    gst_event_new_step(format, amount, 1.0, true, false)
  );
}

bool SyncVideoApp::send_pos_(guint64 pos) {
  unsigned char buffer[sizeof(pos)];
  buffer[0] = (pos >> 56) & 0xff;
  buffer[1] = (pos >> 48) & 0xff;
  buffer[2] = (pos >> 40) & 0xff;
  buffer[3] = (pos >> 32) & 0xff;
  buffer[4] = (pos >> 24) & 0xff;
  buffer[5] = (pos >> 16) & 0xff;
  buffer[6] = (pos >> 8) & 0xff;
  buffer[7] = pos & 0xff;
  ssize_t nsent = 0;
  nsent = sendto(this->sockfd, buffer, sizeof(pos), 0, (struct sockaddr*)&this->sockaddr, sizeof(this->sockaddr));
  return nsent == sizeof(pos);
}

void SyncVideoApp::run_udp_thread_() {
  bind(this->sockfd, (struct sockaddr*)&this->sockaddr, sizeof(this->sockaddr));

  guint64 pos;
  gint64 stamp;
  unsigned char buffer[8];
  while (true) {
    memset(buffer, 0, sizeof(buffer));
    ssize_t bytes = recv(this->sockfd, buffer, sizeof(buffer), 0);
    if (bytes != sizeof(buffer)) {
      g_printerr("Got %lu bytes, expected %lu\n", bytes, sizeof(buffer));
      continue;
    }
    stamp = g_get_monotonic_time();
    pos = guint64(
      (guint64)(buffer[0]) << 56 |
      (guint64)(buffer[1]) << 48 |
      (guint64)(buffer[2]) << 40 |
      (guint64)(buffer[3]) << 32 |
      (guint64)(buffer[4]) << 24 |
      (guint64)(buffer[5]) << 16 |
      (guint64)(buffer[6]) << 8 |
      (guint64)(buffer[7])
    );

    {
      std::lock_guard<std::mutex> lock(this->lock);

      this->remotepos = pos;
      this->remotestamp = stamp;

      if (this->holding && pos >= this->mypos) {
        g_debug("done holding\n");
        this->resume_();
      }
    }
  }
}

static void set_factory(const gchar *name, gboolean enable) {
  GstRegistry *registry = gst_registry_get();
  GstElementFactory *factory = gst_element_factory_find(name);

  if (!registry) {
    g_printerr("Could not get the registry in enable_factory()\n");
    return;
  }

  if (!factory) {
    g_printerr("Could not get factory for %s in enable_factory()\n", name);
    return;
  }

  GstRank rank = GST_RANK_NONE;
  if (enable) {
    rank = (GstRank)(GST_RANK_PRIMARY + 1);
  }
  gst_plugin_feature_set_rank(GST_PLUGIN_FEATURE(factory), rank);

  gst_registry_add_feature(registry, GST_PLUGIN_FEATURE(factory));
  g_object_unref(factory);
}

static bool str_to_uint16(const char *str, uint16_t *res) {
  char *end;
  errno = 0;
  intmax_t val = strtoimax(str, &end, 10);
  if (errno == ERANGE || val < 0 || val > UINT16_MAX || end == str || *end != '\0')
    return false;
  *res = (uint16_t) val;
  return true;
}

static bool str_to_int16(const char *str, int16_t *res) {
  char *end;
  errno = 0;
  intmax_t val = strtoimax(str, &end, 10);
  if (errno == ERANGE || val < INT16_MIN || val > INT16_MAX || end == str || *end != '\0')
    return false;
  *res = (int16_t) val;
  return true;
}

int main (int argc, char **argv) {
  int ret = -1;
  WindowData *wdata = new WindowData();
  struct sockaddr_in sockaddr;
  bool argmaster = false;
  bool argslave = false;
  char *argaddr = NULL;
  char *arguri = NULL;
  uint16_t argport = DEFAULT_PORT;
  bool argsoftware = false;

  // vdpau+vaapi is not officially supported, but we want to use it.
  putenv((char*)VAAPI_ENV);
  gst_init (&argc, &argv);

  opterr = 0;
  int c = 0;
  while ((c = getopt (argc, argv, "msda:p:u:n:w:h:x:y:")) != -1) {
    switch (c)
      {
      case 'm':
        g_debug("I am the master\n");
        argmaster = true;
        break;
      case 's':
        g_debug("I am a slave\n");
        argslave = true;
        break;
      case 'd':
        g_debug("I will disable hardware decoding\n");
        argsoftware = true;
        break;
      case 'a':
        g_debug("Using addr %s\n", optarg);
        argaddr = optarg;
        break;
      case 'p':
        g_debug("Using port %s\n", optarg);
        if (!str_to_uint16(optarg, &argport)) {
          g_printerr("Could not parse port number\n");
          return -1;
        }
        break;
      case 'u':
        g_debug("Using url %s\n", optarg);
        arguri = optarg;
        break;
      case 'n':
        g_debug("Setting window name to %s\n", optarg);
        wdata->name = optarg;
        break;
      case 'w':
        g_debug("Setting window width to %s\n", optarg);
        if (!str_to_int16(optarg, &wdata->width)) {
          g_printerr("Could not parse window width\n");
          return -1;
        }
        break;
      case 'h':
        g_debug("Setting window height to %s\n", optarg);
        if (!str_to_int16(optarg, &wdata->height)) {
          g_printerr("Could not parse window height\n");
          return -1;
        }
        break;
      case 'x':
        g_debug("Setting window x to %s\n", optarg);
        if (!str_to_int16(optarg, &wdata->x)) {
          g_printerr("Could not parse window x\n");
          return -1;
        }
        break;
      case 'y':
        g_debug("Setting window y to %s\n", optarg);
        if (!str_to_int16(optarg, &wdata->y)) {
          g_printerr("Could not parse window y\n");
          return -1;
        }
        break;
      case '?':
        if (optopt == 'a' || optopt == 'p' || optopt == 'u')
          g_printerr("Option -%c requires an argument.\n", optopt);
        else if (isprint (optopt))
          g_printerr("Unknown option `-%c'.\n", optopt);
        else
          g_printerr("Unknown option character `\\x%x'.\n", optopt);
        return -1;
      default:
        abort();
      }
  }

  if (arguri == NULL) {
    g_printerr("Setting content uri with -u is required!\n");
    return -1;
  }

  if (argmaster && argslave) {
    g_printerr("Can't be both master and slave!\n");
    return -1;
  }

  if (argsoftware) {
    set_factory("vaapidecodebin", false);
    set_factory("vaapipostproc", false);
    set_factory("vaapisink", false);
  } else {
    set_factory("vaapidecodebin", true);
    set_factory("vaapipostproc", true);
    set_factory("vaapisink", true);
  }

  memset(&sockaddr, 0, sizeof(sockaddr));
  sockaddr.sin_family = AF_INET;
  sockaddr.sin_port = htons(argport);
  if (argaddr != NULL) {
    sockaddr.sin_addr.s_addr = inet_addr(argaddr);
  } else {
    sockaddr.sin_addr.s_addr = inet_addr(DEFAULT_ADDR);
  }

  QApplication app(argc, argv);
  app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));

  SyncVideoApp sync(
    arguri,
    wdata,
    argmaster,
    argslave,
    sockaddr
  );
  ret = sync.init();
  if (ret != 0) {
    g_printerr("Failed to initialize the player\n");
    return ret;
  }

  ret = app.exec();

  sync.quit(0);

  return ret;
}

redpajama_set_name: RedPajamaGithub


October has arrived and it is Breast Cancer Awareness Month. This is a cause near and dear to my heart….
Since the age of 18, my aunt Elsie dealt with little lumps on her breasts. They were always removed and thankfully they were benign. In 1989, she was diagnosed with breast cancer. She had a mastectomy and an implant. Life was good and she was placed on tamoxifen for five years. When she stopped taking it and it worked its way out of her system, they discovered a problem with the implant. PLUS her cancer test came back positive. Studies now show how tamoxifen can give false positives. Another surgery including reconstructing her breast from a tummy tuck. Those days, there weren't many options. Life was good for a little while after the surgery, she fulfilled her dream to have her own business and was doing treatments. Then things started to change – her eyesight got worse (glasses weren't even helping), and the pain throughout her body was taking its toll. After a trip to Maine with some friends, she lost the battle and ultimately the will to live in May, 1999. She was my buddy, my friend and one of my biggest cheerleaders. Maybe my favorite color is pink for this reason – she is always close to my heart.
Thirty One is donating all Round Ups this month in support of Breast Cancer Awareness. So be sure to round up when you place an order.
Fundraising for local organizations. This helps to not only get your name out to the community but also helps the organization raise much needed funds. It is a win-win situation.
Be a sponsor. It may be a table at an event or advertising when they hold an awareness program – whatever it is be a part of it. I have taken ads in program journals, donated gift baskets for auctions, sponsored "water" for a run – think outside the box. Get creative.
Promote Local Causes. I need to do this more. Tag a cause on my Facebook Page to help publicize their work or mention their cause when talking to customers. Distribute flyers when your favorite cause is hosting an event. It will help to build good-will and ultimately, your business.
Volunteer. I know, no time, right? Make a Difference Day is in October with MANY ways to get involved. It may be making bags at a local food pantry, pulling weeds, building a home – whatever time you can spare is appreciated by the organizations. While you are volunteering, wear your company tee shirt.
How are YOU going to MAKE a DIFFERENCE this month? Stay tuned for more details on this month's Chemo Comfort Bags for Southern Ocean Medical Center.
I love being part of company whose focus is on giving back every day. From Girls on the Run and Girl Talk to World Vision. Thirty-One Gives supports organizations who share our mission to empower girls, women and families. Gives has been honored to donate $100 million in products and cash to nonprofit organizations like these since 2012.
Since our Consultants, Customers and Home Office staff are so generous through their work with Thirty-One Gives, it's no surprise many have made giving back a family value.
Here are some tips for getting your own family into the giving spirit.
If you have very young children, it can be a challenge to find ways for them to become involved with community service. Give your littlest ones a chance to give back by letting them choose a few dog and cat toys to donate to your local animal shelter. Bring your children along to shop, then drop off the donation – they might even get to see the animals enjoy their new toys!
Picking up trash at a park, beach or trail is an easy way to give kids something active and concrete to accomplish. When they've finished, they'll be able to actually see the difference they've made! This can be especially motivating for older children who might need a little encouragement to put down the tech and perform some service – plus, it's a great way to enjoy nature and get some fresh air together!
Kids can get creative and brighten someone's day by making handmade cards to deliver to a nursing home or hospital. Deliver them together and, maybe even stay and visit with the patients or residents. Doing this can show your child the power of small gestures, and how easy it can be to make someone's day a little better.
If you're on a decluttering kick, involve your children, too! Have them comb through their toys and books to find ones they'd like pass on to other kids who need them. To make the process easier, give them a container they can easily fill, like a Mini Storage Bin or Deluxe Utility Tote. That way, they won't stop at just one or two items!
Get a group of families together to pack care baskets for patients at a hospital or people staying at a homeless or women's shelter. Make sure you coordinate with the organization you're donating to first – you want to be sure to fill your baskets with things the recipients really need.
Thirty-One Gives sponsors the making of Hope Kits for women fleeing violence, abuse, poverty or disaster around the world. So far, our Consultants have assembled 32,000 Hope Kits containing toiletries and other essentials which are distributed through the World Vision charity.
Leave pennies head face up: Most people feel lucky finding a penny with the head face up. For one dollar you can make 100 people feel awesome.
Compliment someone: It seems so basic yet for some reason we seldom do it. Make someone's day by giving them a compliment.
Give up a preferred seat to someone in need: Whether it is on a bus, or just waiting for your take out food, this simple gesture could make their day.
Write a positive review for a restaurant you like: Share with the world your favorite places instead of complaining about the ones you hate.
Leave someone a huge tip: Give a tip to the guy who pumps your gas when you pay cash or leave a 31% tip for meal instead of the standard 15 – 20%.
Offer to take a photo for tourists: Tourist season is ramping up at the Jersey Shore, why not offer to take a picture for a group of tourists so everyone can be in the picture.
What random acts of kindness will you do this month to "pay it forward"? Share it with us so you can be part of the Give on social media, and be sure to us #givebackwithme!


Mr. Speaker, I rise today with the heaviest of hearts.
Mr. Speaker, I want to be crystal clear — there is not any room in our society for hate. There is not room for violence.
Whatever we do and wherever we may stand, we must act in a peaceful, orderly, nonviolent fashion.
We must understand that we are one people — the American people. We are one family — the American family. We live in the same house – the American house.
Mr. Speaker, we must teach all of our people to respect the dignity and the worth of every human being. We must be headlights and not taillights in loving and cherishing our brothers and sisters. We are brothers and sisters.
Yesterday, was a difficult and dark day. There was so much pain, so much suffering for so many people, for our fellow Members, our families, and our staff. It shook the Congress and our nation to its core.
I too was in shock. My heart and my soul ached for those who were attacked and for those who witnessed the violence.
Again, Mr. Speaker, I would like to express my love, my feelings for all of our colleagues, our friends, our staff, to the officers, and their families. And each and every moment, my thoughts and prayers have been with all of the victims and their families as they begin the long road to healing and recovery.
They must understand that we are with them. We are with you. You are not alone. We love you and we are praying for your safety and recovery. Thank you, Mr. Speaker.
And from the other side of the aisle: "I do want to put some of this at the feet of Barack Obama." Iowa GOP Congressman Steve King in an interview on WHO Iowa radio.


text:
Riojasaurus
Riojasaurus was a herbivorous sauropodomorph dinosaur named after La Rioja Province in Argentina where it was found by José Bonaparte.
Qantassaurus
Qantassaurus is a genus of two-legged, plant-eating ornithischian dinosaur that lived in Australia about 115 million years ago, when the continent was still partly south of the Antarctic Circle.
Psittacosaurus
Psittacosaurus was discovered in Outer Mongolia in 1922, in the early stages of the famous expeditions undertaken by the American...
Plateosaurus is a genus of plateosaurid dinosaur that lived during the Late Triassic period, around 214 to 204 million years ago, in...
Protoceratops
Protoceratops is a genus of sheep-sized (1.8 m long) herbivorous ceratopsian dinosaur, from the Upper ...
Why Were Dinosaurs so Big?
One of the things that makes dinosaurs so appealing is their sheer size: plant eaters like Diplodocus and...
Tue, 2016-12-06
As a hadrosaurid, Parasaurolophus was a large bipedal/quadrupedal herbivore, eating plants with a sophisticated skull that permitted a grinding motion analogous to chewing.
Pachycephalosaurus is a genus of pachycephalosaurid dinosaurs. The type species, P. wyomingensis, is the only known species.
Mon, 2016-12-05
10 Interesting Facts About Styracosaurus
Also known as "parietal horns," the relative size of these pointy structures varied noticeably between Styracosaurus specimens....
10 Cool Facts About Giganotosaurus
An up-and-comer in the elite club of huge, terrifying, meat-eating dinosaurs, Giganotosaurus has lately been attracting almost as much press as...
Jurassic World: Fallen Kingdom Cast, Plot And Latest Spoilers
The raptors will return! All the details on...
These Dinosaurs Tooted Their Own Horns
The sounds made by...
'Jurassic World 2' Clip Features Trex vs. Carnotaurus Fight Scene
Devonian Fish of the Eescuminac Formation
An exquisite fossil specimen of an ...
Primoptynx poliotauros: 55-Million-Year-Old Fossil of Large-Sized Owl Found in Wyoming
A new genus and species of owl that lived 55...
Colin Trevorrow has a Name in Mind for Jurassic World 3, but it isn't Extinction
Colin Trevorrow might be getting a lot of...
Ceratosuchops inferodios and Riparovenator milnerae: Paleontologists Discover Two New Species of Spinosaurid Dinosaurs
Two new Early...
Spielberg's Original Jurassic Park 2 Story Plans (& Why They Changed)
As the follow-up to the critically and...
10 Awesome Dinosaur Names
The roots come from other languages like...
Mass Extinction Event Triggered Dinosaur Expansion 232 Million Years Ago
Paleontologists believe that all non-avian...


text:
Coal tit (Periparus ater)
The tiniest of tits with dull grey feathers to match its name. The coal tit is a frequent visitor to bird feeders across the UK.
Leave some food out for birds for a chance to spot the coal tit in your garden.
Credit: Tony Cox/ WTML
Its main predators are foxes and domestic cats.
Credit: John Bridges / WTML
Otherwise, coal tits are common, widespread and not considered to be under threat.
Credit: Mark Hamblin / naturepl.com
Coal tits are a bit smaller than blue tits and predominantly grey.
Credit: Tony Cox / WTML
Juveniles fledge just two weeks after hatching.
Credit: Phillip Jones / Alamy Stock Photo
Appearance and behaviour
Where to find them
How to spot them
Common names: coal tit
Scientific name: Periparus ater
Family: Paridae (tits)
Habitat: conifer or mixed woods, towns and gardens
Diet: insects, spiders, nuts, seeds
Predators: foxes, domestic cats
Origin: native
What do coal tits look like?
Coal tits are predominantly grey in colour, with white cheeks and a white patch at the back of their head, buff underparts and a black cap. They are small in size, measuring around 12cm in length and weighing in at 9-10g, just slightly smaller than the blue tit.
They have a slimmer bill than some of the other tits, perfectly suited to feeding in conifer trees.
Not to be confused with: other tit species, particularly the willow tit and marsh tit. They are similar at first glance however the coal tit has a white patch at the back of its head while willow tits and marsh tits have a fully black cap.
The coal tit is the only member of the tit family that stores food to eat later.
What do coal tits eat?
The coal tit's diet is made up of insects and spiders, which they actively hunt from the conifer trees they frequent, as well as seeds and nuts. They are also regular visitors to gardens and can be seen taking food from bird feeders, often carrying it away to store for later.
How do coal tits breed?
The breeding season for coal tits usually begins in April. Nests are built in the hollows of trees and are made out of moss, spiders' webs and wool, and lined with hair and feathers. Around 7-12 small eggs are laid, which hatch after just over two weeks. Juveniles are ready to fledge after just over another two weeks.
Where do coal tits live?
Coal tits spend most of their time in coniferous woodland, although they can also be seen in parks and gardens. They are widespread across the UK.
Signs and spotting tips
Having a bird feeder in your garden is a great way of attracting species like the coal tit. They favour sunflower seeds and sunflower hearts. During the winter months you might even see flocks of both coal tits and other tits forming to search for food.
Threats and conservation
The coal tit is widespread and common throughout the UK, and therefore is not believed to be threatened.


I spent this weekend running around like a crazed man, but in my chaotic world, I managed to complete two murals in one day. These murals are at the same house, so that made things quite a bit easier to finish.
I started my Saturday with a quick hour session at the house to wrap up the dirt bike helmet. It didn't need much work, only a few details so I was able to finish it up quickly. I then headed out to watch my son's first ever kid pitch little league game. I loved playing little league so much, it is great to see him enjoy it as well.
After the little league game it was back to the house to work on the deer mural. This one required more work - I needed to tone the deer to it's final color, add in the hills and finally some trees. I was efficient with my time and finished up the mural with time in my day to spare. I am quite pleased with the end result.
Finally, after the mural work was completed, it was time to race home so I could go out on a date with my beautiful wife. We chose to head down to Clayton, NC to eat at the restaurant that is currently showing 10 pieces of my artwork. It was fun to sit in the room and listen for people commenting on my art (luckily, everything we heard was positive!).
After dinner, it was back to 'life'. Sunday was a lot of fun, I got to spend the day with my two youngest on my own while my wife took care of some things on her to-do list. I enjoy every minute I have with my kids - all five of them!


The creations of Chiara De Filippis, hailing from Rome and living in Florence, have essential, simple and refined forms. You can only be pleasantly surprised by the necklaces, rings and bracelets, mostly in gold and silver, made by this artist. When we interviewed her, we found out that an important inspiration for her work has been a trip to Mexico, through which she discovered the value of manual skills; a love for classical culture and the constant experimentation did the rest.
After years of training, research and study the jewels of Chiara De Filippis can be defined "swaying between classic and contemporary", able to skillfully combine the artisan knowledge with a minimal and modern design.
Discover here her work and her collections.
In our guides Love me in Italy you can find many other innovations in terms of handicraft, creativity and romantic tourism.


text:
Politics, porn and toxic world of deepfake | The Listening Post (Feature)
Deepfakes are videos produced through the use of artificial intelligence. Melding images and sound, using things like face grafts, body transfers or voice imitations, they make people appear to say things they never said and do things they never did. They appear so real it is often difficult to tell if they are fake.
For now, the vast majority of deepfakes, 96 percent to be more precise, target women, mostly celebrities, where one woman's face is placed to appear on another's body, many times in the making of fake pornographic videos.
Bill Posters, digital artist and researcher, explained to The Listening Post's Tariq Nafi that: "It's women's bodies, identities and rights that are being transgressed and oppressed basically by quite a small but quite a prolific body of actors that are taking famous celebrity female actor's faces and transplanting those into pornography scenes, and there are huge websites that profit millions of dollars from displaying and sharing and streaming these kinds of deep fake pieces of pornography."
The bigger concern is this: Deepfakes could be used to spread misinformation, mess with politics, and manipulate electorates by fooling journalists and voters. And there are real-life examples already playing out across the world.
Take Gabon, where there were suspicions that all was not OK with President Ali Bongo. Having been abroad for medical treatment he had not been seen in public for months. Reports of his good health did nothing to convince the public so the government released a video.
But something about the video did not add up. Bongo's eyes barely moved or blinked. He stared off camera, his body and hands seemed rigid and unnatural. The video looked fake, fake enough for Gabon's military to attempt a coup – that is how easily a deepfake can be used to destabilise an entire nation.
In this new era of democratised access to video synthesis, deepfakes are not all that hard to produce. So what happens when those with serious technical know-how get in on the act?
Posters has done exactly that, harvesting the biometric data of British Prime Minister Boris Johnson, and leader of the opposition, Jeremy Corbyn. Creating a synthesised video of both men endorsing each other for prime minister.
The frighteningly real results are a statement on some of the most pressing issues of our time: Data, our right to privacy, and, as British voters went to the polls, the integrity of the democratic process.
Henry Ajder, head of Communications and Research Analysis at Deeptrace explained that: "The mere idea of deepfakes alone is enough to, kind of destabilise political processes and poison the collective water that is media. We rely on audio visual media every day to inform us about what's going on in the world. If deepfakes become commonplace, as we anticipate they will, you know, that will lead to, I believe, quite a significant level of disruption'"
Feature contributors:
Henry Ajder – head of Communications and Research Analysis, Deeptrace
Britt Paris – assistant professor of Library and Information Science, Rutgers University
Bill Posters – digital artist and Researcher
– Subscribe to our channel: http://aje.io/AJSubscribe
– Follow us on Twitter: https://twitter.com/AJEnglish
– Find us on Facebook: https://www.facebook.com/aljazeera
– Check our website: https://www.aljazeera.com/
In January 2019, Juan Guaido, the almost unknown president of VenezuelaR
After a season of devastating bushfires, severe flooding is now sweeping th
Germany is set to host a meeting to try and persuade a promise from foreign
Lebanon: Anti-government protesters try to storm Parliament SquareID
Protesters calling for changes to Lebanon's political and financial s
Syria's Idlib protesters: 'Talks of ceasefires turn out to be lies'
Frustration is growing in Syria after a ceasefire agreement was violated, k
Malaysia's Mahathir on trade wars and his promise to step down | Talk to Al Jazeera
LIVE: COP25 draws to a close with final plenary session


Nicholas Parsons is currently a Research Assistant of the Asian Law Centre, University of Melbourne.
Marcus Mietzner is a Lecturer at the School of Culture, History and Language, College of Asia and the Pacific, The Australian National University.
In recent scholarly debates on sharia by-laws in Indonesia, many observers have claimed that such local regulations are unconstitutional and/or unlawful, and have criticised the central government for not overturning them. According to these scholars and activists, the Indonesian government is aware of the legal problems surrounding sharia by-laws (or perda syari'ah), but does not want to take action due to political concerns. Despite the controversial nature of such claims, there have so far been surprisingly few in-depth scholarly discussions of the legal status of sharia by-laws. This article seeks to fill this gap in the academic literature by analysing the position of perda syari'ah in Indonesia's constitutional and legal framework. Our examination takes two main steps: first, we examine the mechanisms through which regional regulations may be challenged and ultimately invalidated; and, second, we apply these criteria for potential annulment to a selected number of perda syari'ah. Based on this analysis, we conclude that perda syari'ah are in a much stronger legal position than their opponents believe. Consequently, we suggest that legal obstacles are as relevant as political dynamics in explaining the remarkable resilience of sharia by-laws in contemporary Indonesia.


text:
Justia Dockets & Filings Seventh Circuit Indiana Southern District SHEETS v. OKOSUN et al Filing 9
SHEETS v. OKOSUN et al
Filing 9
ORDER SCREENING COMPLAINT AND DIRECTING FURTHER PROCEEDINGS - Plaintiff Robert D. Sheets filed this civil action alleging that the defendants failed to protect him from a serious physical assault at Pendleton Correctional Facility. Because the pl aintiff is a "prisoner", this Court has an obligation to screen his complaint before service on the defendants. The Eighth Amendment failure to protect claim against Officer Okosun shall proceed. All other claims have been dismissed. If the plaintiff believes that additional claims were alleged in the complaint, but not identified by the Court, he shall have through February 7, 2022, in which to identify those claims. The clerk is directed to terminate M. Deme, F. Ominiyi, McNall, Vogl eman, Reagle, ISR and Staff as defendants on the docket. The clerk is directed to issue process to defendant Officer A. Okosun. Process shall consist of the complaint filed on December 16, 2021, dkt 2 , applicable forms (Notice of Lawsuit and Request for Waiver of Service of Summons and Waiver of Service of Summons), and this Entry. The clerk is directed to serve the Indiana Department of Correction employee electronically. (See Order). Signed by Judge Tanya Walton Pratt on 1/10/2022.(AKH)
Case 1:21-cv-03050-TWP-MPB Document 9 Filed 01/10/22 Page 1 of 5 PageID #: 33 UNITED STATES DISTRICT COURT SOUTHERN DISTRICT OF INDIANA INDIANAPOLIS DIVISION ROBERT D. SHEETS, Plaintiff, v. A. OKOSUN, M. DEME, F. OMINIYI, MCNALL, VOGLEMAN, REAGLE, ISR, STAFF, Defendants. ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) No. 1:21-cv-03050-TWP-MPB Order Screening Complaint and Directing Further Proceedings Plaintiff Robert D. Sheets filed this civil action alleging that the defendants failed to protect him from a serious physical assault at Pendleton Correctional Facility ("Pendleton"). Because the plaintiff is a "prisoner" as defined by 28 U.S.C. § 1915A(c), this Court has an obligation under 28 U.S.C. § 1915A(a) to screen his complaint before service on the defendants. For the reasons explained below, the only claim that survives screening is the Eighth Amendment failure to protect claim against Officer A. Okosun. I. Screening Standard Pursuant to 28 U.S.C. § 1915A(b), the Court must dismiss the complaint, or any portion of the complaint, if it is frivolous or malicious, fails to state a claim for relief, or seeks monetary relief against a defendant who is immune from such relief. In determining whether the complaint states a claim, the Court applies the same standard as when addressing a motion to dismiss under Federal Case 1:21-cv-03050-TWP-MPB Document 9 Filed 01/10/22 Page 2 of 5 PageID #: 34 Rule of Civil Procedure 12(b)(6). See Cesal v. Moats, 851 F.3d 714, 720 (7th Cir. 2017). To survive dismissal, [the] complaint must contain sufficient factual matter, accepted as true, to state a claim for relief that is plausible on its face. A claim has facial plausibility when the plaintiff pleads factual content that allows the court to draw the reasonable inference that the defendant is liable for the misconduct alleged. Ashcroft v. Iqbal, 556 U.S. 662, 678 (2009). Pro se complaints such as that filed by the plaintiff are construed liberally and held to a less stringent standard than formal pleadings drafted by lawyers. Cesal, 851 F.3d at 720 (citing Perez v. Fenoglio, 792 F.3d 768, 776 (7th Cir. 2015)). II. The Complaint The complaint alleges that defendant Officer A. Okosun opened all the cell doors in a lock down unit at the same time. This allowed several inmates to enter Mr. Sheet's cell and physically attack him. Mr. Sheets suffered broken ribs, a fractured jaw, head trauma, and bruising. He continues to have flashbacks and nightmares about the incident. Following the attack, Mr. Sheet was taken to the medical unit. There, Nurse Murphy gave him a cursory evaluation and denied Mr. Sheets' assertion that his ribs felt like they were broken and that he was struggling to breath. She issued him a conduct report and sent him back to his cell. It was more than a week before Mr. Sheets was given an x-ray confirming his broken ribs. Mr. Sheets seeks 10 million dollars in damages. III. Discussion of Claims This action is brought pursuant to 42 U.S.C. § 1983. Section 1983 "provides a cause of action for the deprivation of constitutional rights by persons acting under color of state law." Torres v. Madrid, 141 S. Ct. 989, 994 (2020). "[T]he first step in any [§ 1983] claim is to identify the specific constitutional right infringed." Albright v. Oliver, 510 U.S. 266, 271 (1994). Mr. Sheets has stated a claim for relief under the Eighth Amendment. Construed broadly he alleged that Case 1:21-cv-03050-TWP-MPB Document 9 Filed 01/10/22 Page 3 of 5 PageID #: 35 Officer Okosun was deliberately indifferent to the substantial risk of serious harm Mr. Sheet's faced when the officer opened the doors to every cell in a lock down unit at the same time and as a result, Mr. Sheets was seriously injured. Farmer v. Brennan, 511 U.S. 825, 834 (1994); Helling v. McKinney, 509 U.S. 25, 34 (1993). All other claims, however, must be dismissed for the following reasons. First, the complaint references the Fourteenth Amendment's Due Process Clause, but there are no allegations to support such a claim under this constitutional provision. The "civil rights claims of pretrial detainees arise under the Fourteenth Amendment," while Eighth Amendment standards apply to convicted prisoners. See Courtney v. Devore, 595 F. App'x 618, 619 (7th Cir. 2014). As the complaint acknowledges, Mr. Sheets was a convicted prisoner at the time of the attack such that his claims shall proceed under the Eighth and not the Fourteenth Amendment. The Fourteenth Amendment claim is dismissed for failure to state a claim upon which relief may be granted. Second, the complaint includes the following defendants in the caption of the complaint: ISR, Staff and Warden, Officers – A. Okosun, M. Deme, F. Ominiyi, National Guard Specialist McNall, Sgt. Vogleman, and Warden Reagle. However, there are no factual allegations made against any of these defendants in the complaint. "[I]ndividual liability under § 1983 . . . requires personal involvement in the alleged constitutional deprivation." Colbert v. City of Chicago, 851 F.3d 649, 657 (7th Cir. 2017) (internal quotation omitted) (citing Wolf-Lillie v. Sonquist, 699 F.2d 864, 869 (7th Cir. 1983) ("Section 1983 creates a cause of action based on personal liability and predicated upon fault. An individual cannot be held liable in a § 1983 action unless he caused or participated in an alleged constitutional deprivation.... A causal connection, or an affirmative link, between the misconduct complained of and the official sued is necessary.")). In addition, "ISR" Case 1:21-cv-03050-TWP-MPB Document 9 Filed 01/10/22 Page 4 of 5 PageID #: 36 and "Staff" is not a "person" subject to liability pursuant to 42 U.S.C. § 1983. Accordingly, these defendants are dismissed for failure to state a claim upon which relief may be granted. Finally, any claim against Nurse Murphy is dismissed because she is not listed as a defendant in the caption of the complaint, nor is she listed as a defendant in the body of the complaint. In any event, a deliberate indifference to medical care against Nurse Murphy is separate and distinct from the failure to protect claim against Officer Okosun and such a claim should be brought in a separate lawsuit. In summary, the Eighth Amendment failure to protect claim against Officer Okosun shall proceed. All other claims have been dismissed. If the plaintiff believes that additional claims were alleged in the complaint, but not identified by the Court, he shall have through February 7, 2022, in which to identify those claims. The clerk is directed to terminate M. Deme, F. Ominiyi, McNall, Vogleman, Reagle, ISR and Staff as defendants on the docket. IV. Service of Process The clerk is directed pursuant to Fed. R. Civ. P. 4(c)(3) to issue process to defendant Officer A. Okosun in the manner specified by Rule 4(d). Process shall consist of the complaint filed on December 16, 2021, dkt [2], applicable forms (Notice of Lawsuit and Request for Waiver of Service of Summons and Waiver of Service of Summons), and this Entry. The clerk is directed to serve the Indiana Department of Correction employee electronically. IT IS SO ORDERED. Date: 1/10/2022 Case 1:21-cv-03050-TWP-MPB Document 9 Filed 01/10/22 Page 5 of 5 PageID #: 37 Distribution: ROBERT D. SHEETS 193793 PENDLETON - CF PENDLETON CORRECTIONAL FACILITY Electronic Service Participant – Court Only Electronic service to Indiana Department of Correction: Officer A. Okosun (At Pendleton Correctional Facility)


Picus canus Gmelin, 1788. Hybridization with Eurasian green woodpecker known. Eleven subspecies recognized.
English: Gray-headed woodpecker, gray-headed green woodpecker, ashy woodpecker, black-naped woodpecker; French: Pic cendré; German: Grauspecht; Spanish: Pito Cano.
10.2-13.0 in (26-33 cm), 3.9-7.3 oz (110-206 g); back olive green, yellow-green rump, gray head, narrow black "moustache," breast light gray-green; male with small red patch on lower forehead; female without red.
Central and eastern Europe through central Asia to Himalayas; Southeast Asia through China, Manchuria, Korea, Hokkaido, Hainan, Taiwan, Sumatra. Subspecies can be divided into two major groups: 2 subspecies found in northern Eurasia; 9 found in southeast and east Asia.
Found in a great diversity of forest habitats: moist bottomland forest to open park-like, to uplands with many conifers.
Monogamous, normally solitary; territorial during breeding. Often winters in riparian areas and closer to humans; some nomadic winter movements.
Diet is mostly ants and termites and their brood, but also includes other arthropods, fruit, nuts, nectar, and eggs of other birds; in many areas it especially frequents old aspen trees.
Nest cavity in decayed wood excavated by both sexes; clutch of 4-9 white eggs incubated by both parents for 14-17 days; young cared for by both parents (rarely by a helper); fledge at 23-27 days.


text:
Kgomotso Balotthanyi is a Botswanan Olympic middle-distance runner. He represented his country in the men's 1500 meters at the 1984 Summer Olympics. His time was a 3:58.69 in the first heat.

References

1956 births
Living people
Botswana male middle-distance runners
Olympic athletes of Botswana
Athletes (track and field) at the 1984 Summer Olympics

redpajama_set_name: RedPajamaWikipedia


text:
Lack of Longhorn news
• • September 11, 2009
OK, I have heard enough of Florida and Tim Tebow, have heard plenty on Sam Bradford and the U of O. But where is the write-up on the University of Texas Longhorns?
In my Sept. 7 paper, Page 24, the headline read "Alabama wears down Va. Tech in fourth," then proceeds to talk about the No. 1 Florida Gators, the No. 4 USC Trojans, and skips right over the No. 2 Longhorns. Why?
A whole quarter-page was devoted to Bradford and the Oklahoma Sooners. Sure, Bradford got hurt and there goes his opportunity for the Heisman. That's a big story, agreed.
But what I saw of the game, it wasn't a sure thing they would have won even if he didn't get hurt and was able to play the whole game. The BYU defense was all over OU. But Texas quarterback Colt McCoy was the runner-up in the Heisman Trophy selection last year and is a likely candidate for the Heisman this year.
The Longhorns didn't get national TV coverage of their game against the University of Louisiana-Monroe, and AFN didn't air it either; understandable, because it was on pay-per-view.
But Texas is No. 2 in the nation and should have gotten at least a "College Football Roundup" highlight, just as Florida got coverage for beating Charleston Southern. Is The Associated Press slighting UT and Colt again?
Stars and Stripes needs to keep us informed of at least the top 10 teams — all of them — and should have stories on all of the top 25 teams, not just the scoreboard.
Col. Joe LeBlancVictory Base Camp, Iraq


text:
It's Our World: Farnley Estates restore eco balance by planting 4,500 trees
So far 2,000 trees, including oak, birch, cherry and chestnut, have been planted on the 2,000-acre estate in Farnley Tyas
Dave Himelfield
Tree planting on the Farnley Estate, Farnley Tyas.
Sign up to FREE daily email alerts from ExaminerLive - daily
Farnley Estates is planting 4,500 indigenous trees in an attempt to protect wildlife in its woodlands.
So far 2,000 trees, including oak, birch, cherry and chestnut, have been planted on the 2,000-acre estate in Farnley Tyas.
It is hoped the native trees will help restore the ecological balance of the estate's existing woodlands.
A further 2,500 trees will be planted before Easter in what Farnley Estates says is part of the estate's "commitment to conservation" which "will help to make sure that the ancient woodlands will be around for future generations to enjoy".
Left to nature, woods develop a thick canopy of mature trees, which cuts out sunlight to the woodland floor and prevents the growth of brambles, bushes and young trees where ground-dwelling birds and animals live.
As well as planting new trees, selective felling of mature trees, opens up the canopy allowing the undergrowth and associated wildlife to flourish.
Paul Elgar, Farnley Estates manager, said: "By continually planting new trees, we make sure we have a mix of trees of different species and different ages.
"It also helps to conserve the biodiversity of our wildlife by providing a range of habitats.
"The variation in ground cover is vital for our wildlife. Brambles protect ground-nesting birds, while holly, which keeps its leaves in the winter, breaks up the deep snow allowing foraging animals to find food whatever the weather."
As well as maintaining existing woodland, the estate's tree planting programme will increase the overall area of the woodland in certain areas, and provide avenues of trees along some existing tracks and roads.
CleckheatonPolice investigate death of man found unconscious in Cleckheaton roadThe man, who is believed to be in his 40s, was found unconscious in the early hours of this morning
Gallagher Retail ParkParking firm shamed for unfair overnight fines on motoristsThe firm is under fire for string of 'double dip' penalty charges at Huddersfield shopping centre
Kirklees CouncilThis plot of land could be Huddersfield's next warehouseIndustrial development proposed close to busy commuter route
West Yorkshire NewsPhotos from scene of armed robbery in County Arcade
Christopher SchindlerKamil Grabara set for extra night observation in hospital after Hull City clash of headsThe Huddersfield Town goalkeeper was taken off on a stretcher during in Tuesday evening's game against Hull City after colliding with a teammate


I sometimes joke with friends that Pinterest pays my paycheck. Last month, for example, Pinterest brought in over 1 million pageviews for my site. That…is crazy.
Granted, Pinterest is not the only way my site gets traffic. But as far as social referring sites go, it is definitely at the top of my analytics charts by a landslide. So I have found that it is well worth my time — and worth any blogger's time who posts images to their site — to learn a few of the simple steps which will optimize your images and make them more "pin-able".
To be sure, everyone has their own opinions about what makes a good image on Pinterest. And you must follow your instincts with what feels good to you, and not just follow every trend that comes up on Pinterest. (For example, thus far I have resisted doing the mile-long Pinterest collages, even though I know they are effective numbers-wise, just because I don't personally love them.) But if you are looking to increase your Pinterest traffic, there are definitely a few important things you can do.
It probably goes without saying, but vertical images perform much better on Pinterest than horizontal or square images. In fact, statistically, the taller the image, the more it will (usually) be re-pinned. This is simply because all images are formatted to have the exact same width on Pinterest. So taller images will have the advantage of taking up more "real estate" on Pinterest — basically, more total space.
Some bloggers like to just pin traditional vertical images like the one above. Some like to create small or long collages. Some like to pin long infographics. The options are basically limitless.
But if you are looking for more Pinterest traffic, think vertical.
I happen to love macro photography, which happens to bode especially well for my blog on Pinterest because close-up images often do much better than pulled-back images. My hunch has always been that this is directly related to the size of the thumbnails on Pinterest. When you are scrolling through your Pinterest feed on your computer, those little thumbnails are usually only an inch or two tall. So if you shot the photo at a distance and your subject is tiny, it may only be a centimeter or so tall and hard to see.
Now granted, I love those pulled-back, artistically-styled, beautiful images that so many bloggers post. They are quite honestly the images I pin for inspiration, and just generally the images that I am more impressed with. And I'm sure that many of them also perform impressively well on Pinterest.
But in general, macro photography — or at least, getting in at least somewhat close to your subject — definitely has helped me.
It seems as though the verdict is still out on whether adding actual title text within your image actually works. Some will say unequivocally "yes". Others argue "no". When I look at my Pinterest source page, there seems to be a healthy mix of titled and untitled images being pinned, but most days there are definitely more titled than untitled images present.
Personally, I'm not a fan of having title text on photos. So I usually just include 1 or 2 photos in each post that have the title text on them, so that readers have the option if that's what they like. Sometimes I will use Photoshop to just type the title of the recipe in above or below the subject, like this. Or sometimes I will try and weave it into the photo in a more creative way, like in the little chalkboard sign in this candied pecans photo above (which was very successful on Pinterest).
I will say, though, that I think the key to having text on your photos is having good-looking text on your photos. This is, of course, 100% subjective to what people think looks good. But if you title your photos, I would highly recommend taking some time to look around on Pinterest and see what kind of text is working for other bloggers and merge that with what you think looks good to you. I have experimented with all kinds of text over the years, for better and worse, and see to find lately that bolder text works better than more subtle. But who knows, in a few months I will probably change my mind and try something else. ;) Ideally, though, it would be awesome to choose a font and text layout that you like, and stick with it to be consistent.
Even more important than titling your photos is watermarking them. In my first few years of blogging before Pinterest, no one did this. But now, I'm pretty sure everyone does this, mostly because there are photo stealers out there who will grab your photo and illegally use it in a heartbeat without you knowing. Watermarking (and adding title text!) is the best way I know to prevent photo theft.
You can read all about my thoughts on this step here in this post about The One Thing You Must Do To Every Image Uploaded To Your Blog.
When you title your image, that text will default as the description text for your image on Pinterest. And it's worth taking the time to be sure that description is a good one. I have read that 200 characters is the ideal length of a description in Pinterest, and include a few more tips for choosing a good description here. But at minimum, be sure that the description includes the title of your post, and not just the file name (i.e. IMG_2094) that your camera gave the image.
I would say that rich pins were the best thing to hit Pinterest in this last year. And if you post about recipes, movies, articles, products, or places, they are well-worth your time to figure out.
As Pinterest says, "to get started, you will need to prep your website with meta tags, test out your Rich Pins and apply to get them on Pinterest. If you're not technical, you might want to ask your developer or site owner to help get you going." Here is the Rich Pins Instructions link to do so.
As a food blogger, I believe that rich pins have been a huge help in encouraging people to actually click through the pins to my site. First off, having rich pins gives you the bonus of having a very bold title given to each pin (by Pinterest) that sits above the description on your homepage feed. (I find that visually, these help draw a lot of extra attention!) But then when pinners click on the pin, they get a preview of the ingredients needed to make the recipe, how much it will yield, whether or not it fits into special diets (i.e. gluten-free, vegetarian, etc.), and the URL where the pin will lead. I love them.
So if you don't have rich pins installed yet, hop on it. It may take a little work, but it is well worth it.
I just launched my blog yesterday and I can't even begin to tell how helpful this resources section has helped me! I'm now applying all your tips and techniques on everything. I can't wait for your blogging section! I have a question about photo collaging on pic monkey. You recommended it for photo collages that go pinterest, but do you think I could use it for pictures that go on the blog too? I made several collages on my first post but using on photoshop and they took too long to make. Picmonkey is just easier since everything is already preset. If so, then how do I save the collage so it measures 600 pixels wide, which is how I save all my photos to go on the web. I'd love it if you could check out my post to see what I mean.
Hey Tasbih! Congratulations on your new blog — that's so exciting! And sure, once you're on the screen where you're creating the collage on Picmonkey, just look to the bottom of the page and there is an option to set the dimensions of the collage. Or if not there, you can also change the file size while you're uploading the photo to your blog in WordPress. Best wishes!
I love the name of your blog. Very clever. Is there a story behind it?
I love your many recipes. They are not only so tasty and healthy, but beautiful as well. Thanks!
I recently started a blog as well and have been trying to figure out which format I should keep my images. This really helped, thanks!
Thank you so much for this! I am just starting out and I asked myself this question the other night…. "Wonder if it matters how you position the pictures when you post to Pinterest VS other sources." I am learning so much. Thank you for sharing!!
Pinterest seems to feel like a minefield to a lot of people of hit or miss and sometimes feeling like it's wasted time when they don't get much, until that one image goes viral, but consistency and great imagery can add so much long-term traffic to evergreen content!
Thank you so much for this! I have been blogging for a while but have always neglected pinterest a little. I have had a post go pinterest viral and really see what a difference in traffic a pin can make. This post really helps!
I am grateful for every bit of help and this article was just what I needed right now. The learning curve is so steep when starting a blog that I have done more wrong than right, I am sure. Today I have been freaking out about my abysmal use of Pinterest so I waded into the ocean of Google and felt I was sinking under the waves of information. Anyway it was a relief to read you clear, concise post and I will bite off a bit at a time and not beat myself up as I learn slowly learn the basics. You have to know that an article like this can be a virtual lifesaver to a newbie blogger.
This is a great post!! Thank you for sharing such a valuable information. As a new food blogger this really helps.


MEXICO CITY (Reuters) - Wal-Mart de Mexico said on Thursday Costa Rica's competition regulator had notified the company that it opposes its plan to buy 52 local supermarkets, which would grow its store tally in the Central American nation to more than 300.
The retailer known as Walmex (WALMEX.MX), a unit of U.S.-based Walmart (WMT.N), already has 252 stores in Costa Rica, which is one of its worst-performing Central American markets.
The company said in July that it had agreed to buy Grupo Empresarial de Supermercados' stores in Costa Rica as part of a growth plan for the region. It did not disclose the price.
Walmex said in a statement on Thursday that the acquisition would be positive for competition and for consumers. It was considering how to respond to the regulator, the Commission for the Promotion of Competition (COPROCOM), the company added.
Walmex and Grupo Empresarial de Supermercados have three days to appeal, said the head of the regulator, Rodolfo Chevez, in a phone interview. It will then issue a final decision in mid-January.
The regulator fears the deal would give Walmex enough market power to be able to alter prices, exclude competitors or affect suppliers, Chevez said.
Walmex also operates in Guatemala, El Salvador, Honduras, Nicaragua and Mexico, its largest market by far with 2,400 stores. Costa Rica was the second-worst performer in the third quarter this year by same-store sales. Its weakest market was Nicaragua, where political turmoil caused sales to drop.


text:
Turkish Competition Authority
Our Mission - Vision
Competition Board
Selection and Appointment of Board Members
Duties and Powers of the Competition Board
Competition Board Members
Our Members Who Served Previously
Duties and Powers of the Presidency
Vice-Presidencies
Work Principles
Personnel Statistics
General Framework
Relations with EU
Co-operation Agreements with Other Competition Authorities
Organization of Islamic Cooperation
General Preamble of the Act
Grounds for the Articles
Annual Reports (OECD)
Thesis of Competition Experts
Competition Journal
The Handbook of Economic Analyses Used in Turkish Competition Board Decisions
Competition Bulletin
Decision Statistics
The basic principle of market economy, which prescribes an environment where actions performed by individuals to gain benefits and by undertakings to maximize profits are converted into social welfare, is the assumption that economic relationships are focused on free competition. In the economic sense, competition may be defined as the race sellers in a market enter in order to acquire more customers, thereby increasing their sales of goods and services, and consequently, their profits. The concept of competition forms the basis of an efficiently operating market system; it protects the independence of the decisions of market actors as well as their actions in the pursuit of their own interests, while also ensuring social justice and economic efficiency.
In addition, competitive market structure also serves dynamic functions. Competition encourages technological development. This is because technological development plays a key role in achieving the status desired by undertakings. As well, a competitive market structure encourages firms to continually adapt their competitive power in line with the prevailing market conditions.
On the other hand, if markets are left to their own devices, there is a risk that undertakings within those markets may start a predatory race in which, instead of competing, they may choose to enter into collaborations with negative effects on social welfare and economic development, or to utilize their economic power through abusive or exclusionary practices. These would make state intervention unavoidable. Such actions would also restrict the freedom of enterprise, causing harm to fundamental democratic rights and freedoms. Eliminating the aforementioned problems would only be possible by upholding the economic system with a competition act and by establishing an efficient competition authority to enforce that act.
The first legal arrangement in the area of competition law was made in the United States of America. Sherman Act, adopted in 1890, includes regulations on the restriction of competition through horizontal or vertical agreements as well as on prohibiting monopolies. The first legal arrangement on competition law in Europe was made through the Treaty of Rome, which was put into effect in 1958.
In Turkey, the Act no 4054 on the Protection of Competition was adopted and put into effect in 1994. The purpose of the Act no 4054 on the Protection of Competition is to prevent agreements, decisions and practices preventing, distorting or restricting competition in markets for goods and services, and the abuse of dominance by the undertakings dominant in the market, and to ensure the protection of competition by performing the necessary regulations and supervisions to this end.
History of the Act no 4054
Article 167 of the Turkish Constitution places a duty and responsibility on the state to take "measures to ensure and promote the sound, orderly functioning of the money, credit, capital, goods and services markets" and to prevent "the formation, in practice or by agreement, of monopolies and cartels in the markets". The principle factor in drafting the Act no 4054 on the Protection of Competition was the need to fulfill this obligation in the provision.
Another factor affected the drafting of the law are the obligations placed on Turkey by international agreements. At this point, particular note must be made of the obligations within the framework of the Association Agreement (Ankara Agreement) signed between Turkey and EEC on October 12, 1963. Article 16 of the Association Agreement specifies that principles mentioned in the provisions of the Treaty of Rome concerning competition, taxation and the approximation of laws must be made applicable in the association relationship. As a matter of fact, Turkish Competition Act is based mostly on articles 81 and 82 of the Treaty of Rome. It must also be noted that the positive atmosphere created by the Customs Union between the European Union and Turkey, which was put into effect on January 1, 1996 based on the Association Council Decision of March 6, 1995, played a decidedly important role in the adoption process of the Act no 4054 on the Protection of Competition.
Even though the Act was adopted and put into force at the end of 1994, the studies for the introduction of a legal regulation on the subject may be said to have a long history.
The first act aimed at protecting competition in Turkey was a symposium in 1971, spearheaded by the Ministry of Commerce, which mainly addressed consumer protection. Following this symposium, a study by the aforementioned Ministry resulted in the "Draft Law on the Regulation of Activities Related to Commercial Goods and Services for the protection of Consumers." This draft law mainly included provisions on consumer protection and regulation of the internal market.
The second draft prepared by the Ministry of Commerce on the subject was the "Draft Law on the Regulation of Trade and Protection of Consumers," dated 1975. This draft law included the first provisions introducing regulation on competition law in Turkey.
Another draft law prepared by the Ministry in 1980 was titled "Draft Law on the Protection of Honesty in Commerce." The draft cited the purpose of the act as "protecting the free market regime, eliminating any elements distorting competition…"
"Draft Law on the Regulation of Commercial Activities and Protection of Consumers," which was prepared in 1981 by the Ministry of Commerce, essentially includes provisions in parallel to those in the previous draft, despite the different title.
To versions of the "Draft Law on Consumer Protection," dated October 1983 and March 1984 addresses regulations related to cartels and monopolies in separate sections for the first time.
The environment created by the new economic model adopted in Turkey in the 1980s in addition to the explicit duty placed on the State by article 167 of the 1982 Constitution to prevent monopolization and cartel formation in the markets, the Ministry of Industry and Commerce separated problems related to the restriction of competition from provisions concerning the protection of the consumers and regulation of trade, and prepared the "Draft Law on Agreements and Practices Restricting Competition" in November 1984.
In addition to being the first independent text on competition, unlike the previous ones, this draft is also the first text to be submitted to the Turkish Grand National Assembly (TGNA) for adoption. The draft law was submitted to the TGNA in December 1985, but could not be discussed in within the 17th Legislative Year and lapsed after the 1987 elections.
Following the 1991 general elections, a commission created under the Ministry of Industry and Commerce worked in two sub-committees to prepare the "Draft Law on Consumer Protection" and the "Draft Law on the Protection of Competition". In the preparation of the Draft Law on the Protection of Competition, US, British and EU competition rules were taken into consideration to arrive at a text that was very different from the previous drafts. This draft, which was completed in 1992, was forwarded to all relevant institutions for their opinions, and was later submitted to the TGNA after it was given its final form in light of the opinions and criticisms received. As mentioned in the introduction, the draft law was discussed in the General Assembly and adopted on December 7, 1994. It was put into force with its publication in the Official Gazette dated 13.12.1994 and numbered 22140.


In addition to leading our own studies, the Centre's other primary function is to support clinical investigators and researchers in conducting high-quality health research. From design to execution, CHÉOS provides a broad range of support services. CHÉOS staff actively manage projects that ultimately contribute to the betterment of health systems at the local, national, and international levels.
Please scroll down for more details and to select your service from the options below.
When embarking on a clinical research endeavour, it is imperative that you have current training to support your work. Here you will find links to pertinent modules and resources that are useful when conducting clinical research projects.
Our seasoned research coordinators and project managers can provide study management, monitoring, and recruitment services to ensure the seamless operation of your clinical trial.
We offer a number of services in this area, including budget and methodological consults to help you with preparing your grant submissions.
Our dedicated team of data management experts provide a diverse range of data services, including case report form generation, database management, randomization and drug management systems creation, and data entry.
CHÉOS methodologists and statisticians can work with you to support study design and methodological planning, randomization schemes, and data analysis (including developing and carrying out a statistical analysis plan).
Our team of economists bring a broad range of expertise to support health research including work in the areas of personalized medicine, health technology assessment, pharmacoeconomics, cost-effectiveness analyses, decision analysis, patient preferences, and determining the impact of lost productivity.
CHÉOS houses regulatory and QA/QC specialists that can assist with your research start-up and application process. Our experts can deliver guidance on your ethics application, support you with understanding and applying the various regulations from governing authorities, and work to ensure that your research process meets industry standards.
We understand the importance of engaging with stakeholders at all levels to enable, promote, and disseminate evidence-based treatment, practice, and policy. Our knowledge translation and program evaluation experts will facilitate the uptake of new knowledge and help to ensure the most efficient pathways to your goals and outcomes.
We have certified monitoring personnel on staff who can provide monitoring and auditing services, including development of monitoring plans, monitoring sites for data quality, and GCP and protocol compliance. We can provide support in the event of a regulatory or sponsor inspection of your clinical trial.