text:
A Paleogeografia é o estudo e descrição da Geografia Física do passado. Realiza atividades como a reconstrução da superfície terrestre numa dada área num determinado tempo do passado geológico, ou o estudo de sucessivas mudanças da superfície terrestre durante o tempo geológico.

Ver também
 Tectônica das placas: comportamento das placas que cobrem a superfície da Terra.
 Paleontologia: estudo da vida no passado, que lida muitas vezes com fósseis e pólens (palinologia).
 Paleoclimatologia: estudo do clima no passado.

Ramos da geografia
Geologia

redpajama_set_name: RedPajamaWikipedia


text:
Beijing's air quality improvements are a model for other cities - BreatheLife2030
Beijing's air quality improvements are a model for other cities:
Decades of hard work and trial and error have seen significant improvements in the city's air quality. A new report outlines these efforts and the ambitious steps Beijing is taking to continue to reduce air pollution.
This article originally appeared on the Climate and Clean Air Coalition website.
In 1998 Beijing declared war on air pollution. The challenge was to find ways to improve air quality in one of the largest and fastest growing cities in the developing world. 20 years on and it appears that Beijing is winning the battle. Air quality has improved substantially, and the lessons learned provide a roadmap for other cities tackling air pollution.
A new report by the United Nations Environment Programme (UN Environment) and the Beijing Municipal Ecology and Environment Bureau (BEE) outlines how Beijing's air quality management programme has evolved over the past quarter century and makes recommendations for near, medium, and long-term steps that Beijing can take to maintain its momentum toward clean air.
The report, A Review of 20 years' Air Pollution Control in Beijing, was compiled by a UN Environment-led team of international and Chinese experts over two years. It covers 1998 to the end of 2017.
"This improvement in air quality didn't happen by accident. It was the result of an enormous investment of time, resources and political will," said Joyce Msuya, Acting Executive Director of UN Environment. "Understanding Beijing's air pollution story is crucial for any nation, district or municipality that wishes to follow a similar path."
He Kebin, the principal author of the report and Dean of Tsinghua University's School of Environment, said Beijing progressed between 1998 to 2013, but that there were even more significant improvements under Beijing's Clean Air Action Plan 2013–2017.
In 1998, air pollution in Beijing was dominated by coal-combustion and motor vehicles. Major pollutants exceeded national limits. Over the next 15 years Beijing implemented a series of measures focused on energy infrastructure optimization, coal-fired pollution control, and vehicle emission controls. By 2013 levels of air pollutants had fallen (see graph below) and some pollutants, like carbon monoxide and sulfur dioxides, met national standards.
In 2013 Beijing adopted more systematic and intensive measures for air pollution control. By the end of 2017 fine particulate pollution (PM2.5) fell by 35% and by 25% in the surrounding Beijing-Tianjin-Hebei region. Much of this reduction came from measures to control coal-fired boilers, provide cleaner domestic fuels, and industrial restructuring. Over this period annual emissions of sulfur dioxide (SO2), nitrogen oxides (NOx), particulate matter (PM10) and volatile organic compounds in Beijing decreased by 83%, 43%, 55% and 42% respectively.
Beijing's air quality management system is supported by monitoring and evaluation, pollution source apportionment and emission inventories. It also contains comprehensive legal standards and strict environmental law enforcement. Air quality work is supported by economic policies, public participation, and coordination on air pollution prevention and control in the Beijing-Tianjin-Hebei region.
Mr. Yu Jianhua, Deputy Head of the Beijing Municipal Bureau of Ecology and Environment, said that while much has been achieved, more can be done.
"At present, the PM2.5 concentration in Beijing still fails to meet national ambient air quality standards and far exceeds the levels recommended by the World Health Organization (WHO), and heavy pollution episodes still occur during autumn and winter," he said. "Solving all these air quality issues will be a long-term process. We are willing to share our long-accumulated knowledge and wealth of experience on air pollution with other cities in developing countries."
Mr. Liu Jian, UN Environment's Chief Scientist, said the results reflected the Chinese Government's emphasis on environmental protection and the input and intensity of pollution control in recent years
"Beijing's efforts, achievements, experiences and lessons in air pollution control over the last twenty years are worth analyzing and sharing in order to progress global environmental governance," he said.
This is UN Environment's third independent assessment of Beijing's air quality, following the Independent Environmental Assessment: Beijing 2008 Olympic Games and A Review of Air Pollution Control in Beijing: 1998–2013, which were published in 2009 and 2016 respectively.
Dechen Tsering, Director of UN Environment's Asia Pacific Regional Office, said UN Environment was committed to promoting sustainable development and best practices in countries and cities around the world.
"Beijing has achieved impressive air quality improvements in a short amount of time." Ms. Tsering said. "It is a good example of how a large city in a developing country can balance environmental protection and economic growth."
The publication of the report was supported by the UN Environment hosted Climate and Clean Air Coalition.
Helena Molin Valdés, Head of the Climate and Clean Air Coalition, said: "Air pollution is one of the greatest environmental challenges facing the world today. Beijing has shown what is possible and are increasing their actions and ambition for the next 20 years. Their efforts benefit health, sustainable development and our shared climate and far outweigh the cost of doing nothing."
A video highlighting Beijing's high density grid air quality monitoring was played at the launch of the report.
Download the report in English or Chinese
Download the press release here.
Read the original article here.
Banner photo by the Climate and Clean Air Coalition.

redpajama_set_name: RedPajamaCommonCrawl


text:
Investors Holding Contest For Best Augmented Reality Pitch
By Nikholai Koolonavich	 Last updated Apr 22, 2018
Twenty-seven venture capital funds and investors have come together to hold a contest to find the best augmented reality (AR) pitch from impressive startups. The content is dubbed as the Global AR Online Pitch Event and the winning contestant can be sure to gain investment from one or more of the partaking groups.
Global AR Online Pitch Event is made up of The GFR Fund, Super Ventures and The Venture Reality Fund (The VR Fund) who are all come together to put on the Global AR Online Pitch Event. Though the deadline for submissions is April 23rd, the contest is still to run until late May as a number of different stages of review must be carried out until the winner is announced live on stage at the Augmented World Expo (AWE) USA 2018 in Silicon Valley on May 31st, 2018.
After submission period ends and the applications have been reviewed, eight startups will be selected as finalists to present at the online pitch event, which will take place live before investors. Each finalist will be giving five minutes to pitched, followed by two minutes of questions and answers from the selected panel of investors. The finalists will also deliver live pitches at AWE USA 2018 as well, in what can only be guessed to be in front of a live audiences as well.
The finalists will be given some support though, as once selected each finalist will work closely with a mentor to solidify their final presentation prior to the online event. There will also be constructive feedback from key investors and venture capital funds delivered to each finalists.
In order to participate in the Global AR Online Pitch Event, startups must meet the following criteria:
Pre-seed, seed or Series A investment
Working on a product(s) in AR space
Has at least an MVP (Minimum Viable Product)
The amount of investment that is up for grabs for the winner is not known yet, but given that each of the investors will contribute towards the amount it is expected to be a large amount. With the recently launch of ARKit and ARCore making it more accessible then ever before to build and deploy AR experiences to the mobile market, it will be interesting to see what pitches come from the Global AR Online Pitch Event. Those looking for more details or to get a last minute submission in can do so at the events website.
VRFocus will be sure to bring you all the latest from the Global AR Online Pitch in the future so stay tuned for more.
Augmented RealityAugmented World ExpoGFR FundGlobal AR Online PitchSuper VenturesThe VR Fund
Nikholai Koolonavich 881 posts 0 comments
News Writer for all things and someone who drinks way to much tea.


text:
use strict;
use File::Slurp;
use DateTime;
use Getopt::Long;

my $year;
my $month;
my $verbose;

my $result = GetOptions ("month=i" => \$month, # numeric
					  	 "year=i" => \$year, # numeric
					  	 "verbose" => \$verbose); # flag
$verbose=0 if($verbose eq "");

# validate date
die "INPUT ERROR: Values of month and year should all be numerical\n" if($result!=1);
die "INPUT ERROR: Month should be between 1 and 12\n" if ($month<1 || $month >12);

# the month in the log filenames have 2 digits so if it's less or equal to 9 add a zero infront
if($month < 10){
	$month = "0".$month;
}else{
	$month = $month;
}

my $level2Path = "../data/";
my $line;
my $trash;
my $ipSection;
my $ipAddress;
my @logFileLines;
my $sessionNoOfReq=0;

@logFileLines = read_file($level2Path."L2_$year-$month"."_sessions.csv");
my $filelines = @logFileLines;

my $progressCnt=0;
my $progress=0;
my $progressMod = int($filelines/100);

my $sessionNoOfReq=0;

# the time limit (in seconds) that will decide whether two requests of the same IP address should
# be part of the same session or not.
my $timeLapse = 9498;

my $lastReqOfPreviousSession;
my $singleReqLine;
my $firstReqOfNextSession;

my $sessionNoOfReq=0;

print STDERR "Grouping single request sessions:\n" if($verbose);

for (my $i=0; $i<$filelines; $i++){

	if($verbose){
		$progressCnt++;
		if($progressCnt%$progressMod==0){
			print STDERR "\r",$progress++,"% completed";
		}
	}

	my $currentLine = @logFileLines[$i];

	if($currentLine eq "\n"){
		if($sessionNoOfReq==1){

			$lastReqOfPreviousSession = @logFileLines[$i-3];
			$singleReqLine = @logFileLines[$i-1];
			$firstReqOfNextSession = @logFileLines[$i+1];

			# if the last request in the file is a single request session then proceeding will throw
			# an error as there is no request after it in the array to retrieve so exit loop.
			next if($firstReqOfNextSession eq "");

			(my $date1, my $time1, my $ip1) = split(/\t/, $lastReqOfPreviousSession);
			(my $date2, my $time2, my $ip2) = split(/\t/, $singleReqLine);
			(my $date3, my $time3, my $ip3) = split(/\t/, $firstReqOfNextSession);

			(my $year1, my $month1, my $day1) = split(/-/, $date1);
			(my $year2, my $month2, my $day2) = split(/-/, $date2);
			(my $year3, my $month3, my $day3) = split(/-/, $date3);

			(my $hour1, my $min1, my $sec1) = split(/:/, $time1);
			(my $hour2, my $min2, my $sec2) = split(/:/, $time2);
			(my $hour3, my $min3, my $sec3) = split(/:/, $time3);

			my $dt1 = DateTime->new(year => $year1, month => $month1, day => $day1, hour => $hour1, minute => $min1, second => $sec1, nanosecond => 000000000, time_zone  => 'GMT',);
			my $dt2 = DateTime->new(year => $year2, month => $month2, day => $day2, hour => $hour2, minute => $min2, second => $sec2, nanosecond => 000000000, time_zone  => 'GMT',);
			my $dt3 = DateTime->new(year => $year3, month => $month3, day => $day3, hour => $hour3, minute => $min3, second => $sec3, nanosecond => 000000000, time_zone  => 'GMT',);

			my $dateDiff_2_1 = $dt2->subtract_datetime_absolute($dt1);
			my $dateDiff_2_3 = $dt2->subtract_datetime_absolute($dt3);

			my $dateDiff_2_1Sec = $dateDiff_2_1->seconds;
			my $dateDiff_2_3Sec = $dateDiff_2_3->seconds;

			if($ip2 eq $ip1 && $ip2 eq $ip3){
				if($dateDiff_2_1Sec<$timeLapse && $dateDiff_2_3Sec<$timeLapse){

					if($dateDiff_2_1Sec < $dateDiff_2_3Sec){
						delete @logFileLines[$i-2];
					}else{
						delete @logFileLines[$i];
					}
				}elsif($dateDiff_2_1Sec<$timeLapse){
					delete @logFileLines[$i-2];
				}elsif($dateDiff_2_3Sec<$timeLapse){
					delete @logFileLines[$i];
				}

			}elsif($ip1 eq $ip2){
				if($dateDiff_2_1Sec < $timeLapse){
					# print to file without new line in between
					delete @logFileLines[$i-2];
				}

			}elsif($ip2 eq $ip3){
				if($dateDiff_2_3Sec < $timeLapse){
					delete @logFileLines[$i];
				}

			}
		}
		$sessionNoOfReq=0;
	}else{
		$sessionNoOfReq++;
	}
}
print STDERR "\r100","% completed\n" if($verbose);
print STDERR "Printing grouped sessions into file 'L2_$year-$month"."_grouped-sessions.csv'\n" if($verbose);

my $out_doc = $level2Path."L2_$year-$month"."_grouped-sessions.csv";
open(OUT_DOC, '>:utf8', $out_doc ) or die "Can't open out file: $out_doc\n";

foreach my $elmnt (@logFileLines){
	if(defined($elmnt)){
		print OUT_DOC $elmnt;
	}
}

__END__

=pod

=head1 NAME

group_single_request_sessions.pl

=head1 SYNOPSIS

This script will parse a file 'L2_year-month_sessions.csv' and produce a file
'L2_year-month_grouped-sessions.csv'. This file is essentially the same as the
'L2_year-month_sessions.csv' with the only difference that some of the
single request sessions are grouped to neighbour sessions. This is to soften
the brutal separation into sessions due to the 15min cut-off point.

=head1 DEPENDENCIES

This script depends totally on the the get_proxy_free_data.pl script which has to
be run first as well as to the get_sessions.pl script before that. This is because it is
necessary to have a parsed file where requests are sorted by IP address and divided
into sessions.

=head1 USE

perl group_single_request_sessions.pl -m 4 -y 2011 -verbose

The above example will parse file L2_2011-04_sessions.csv and produce
L2_2011-04_grouped-sessions.csv

=cut

redpajama_set_name: RedPajamaGithub


text:
RMessage
==========

[![Twitter: @donileo](https://img.shields.io/badge/contact-@donileo-blue.svg?style=flat)](https://twitter.com/donileo)
[![Version](https://img.shields.io/cocoapods/v/RMessage.svg?style=flat)](http://cocoadocs.org/docsets/RMessage)
[![License](https://img.shields.io/cocoapods/l/RMessage.svg?style=flat)](http://cocoadocs.org/docsets/RMessage)
[![Platform](https://img.shields.io/cocoapods/p/RMessage.svg?style=flat)](http://cocoadocs.org/docsets/RMessage)

# Intro

Welcome to RMessage! RMessage is a reworking of the original [TSMessages](https://github.com/KrauseFx/TSMessages) library  developed by Felix Krause (@KrauseFx). It modernizes/refactors a lot of the old code to be a lot cleaner, simpler to understand and more Objective-C idiomatic. Here are some of the changes:

* Uses Autolayout instead of error prone spring/struts frame setting :).
* Various bugs have been fixed with regards to positioning of the notification view - For example: The view sizes itself properly under the status bar now allowing the status bar to show.
* Lots of Code Cleanup:
  * Code base much cleaner and easier to understand by removing confusing patterns and duplication.
  * Methods have been kept down to small LOC though with room for improvement.
* Allows the adding of custom designs without having to subclass the class by just adding new json "theme's" inside a custom design file of your choosing - Custom designs are additive so you still have access to the default designs as well.
* Various new customization options have also been added such as the ability to change:
  * The opacity of individual notification messages via the "alpha" key in your custom Designs.
  * Title and Subtitle labels no longer need to have the same shadows applied.
* Custom Design icon image no longer needs to be a fixed size. Notification sizes itself accordingly.
* No need to worry about missing a key in your design file. If not specified the default design takes over.
* Replaced old blur code which was broken when iOS7 was introduced.
* Better default view controller detection with use of PPTopMostController. TSMessages would assume the window root view controller would be the default view controller. This could cause issues with showing in modals for example.
* Removed the forcing of a specific design - TSMessages forced an iOS7 design or iOS6. Here there is no distinction - though the library is styled for iOS7 by default.
* Much more im sure :).

Note: Buttons within RMessage are not currently fully supported as in TSMessages but will be soon.

# Description
The notification moves from the top of the screen underneath the navigation bar and stays there for a few seconds, depending on the length of the displayed text. To dismiss a notification before the time runs out, the user can swipe it to the top or just tap it.

There are 4 different types already set up for you: Success, Error, Warning, Normal (take a look at the screenshots)

It is very easy to add new notification types with a different design.

1. Add the new type to the messageType enum.
2. Create a new configuration file and add it to RMessage by calling [RMessage addDesignsFromFileWithName:inBundle:]
3. Present the notification with your custom design by calling any of the class methods on RMessageView with the type as RMessageTypeCustom and the CustomTypeString equal to the key corresponding to your theme in the configuration file.

**Take a look at the Example project to see how to use this library.** Make sure to open the workspace, not the project file, since the Example project uses cocoapods.

Get in contact with the developer on Twitter: [donileo](https://twitter.com/donileo) (Adonis Peralta)

# Installation

## From CocoaPods
RMessage is available through [CocoaPods](https://cocoapods.org/). To install
it, simply add the following line to your Podfile:

    pod "RMessage"

## Manually
Copy the source files RMessageView and RMessage into your project. Also copy the RMessageDefaultDesign.json.

# Usage

To show notifications use the following code:

```objective-c
    [RMessage showNotificationWithTitle:@"Your Title"
                                subtitle:@"A description"
                                    type:RMessageTypeError
                                    customTypeName:nil
                                    callback:nil];

    // Add an icon image inside the message, appears on the left
    [RMessage showNotificationInViewController:self
                                          title:@"Update available"
                                       subtitle:@"Please update the app"
                                          iconImage:iconUIImageHere
                                           type:RMessageTypeNormal
                               customTypeName:nil
                                       duration:RMessageDurationAutomatic
                                       callback:nil
                                    buttonTitle:@"Update"
                                 buttonCallback:^{
                                     NSLog(@"User tapped the button");
                                 }
                                     atPosition:RMessagePositionTop
                           canBeDismissedByUser:YES];

    // Use a custom design file must be a json file though no need to include the json extension in the argument
    [RMessage addDesignsFromFileWithName:@"AlternativeDesigns" inBundle:[NSBundle mainBundle]]; // has an @"alternate-error" key specified with custom design properties
    [RMessage showNotificationWithTitle:@"Your Title"
                                subtitle:@"A description"
                                    type:RMessageTypeCustom
                                    customTypeName:@"alternate-error"
                                    callback:nil];
```

You can define a default view controller in which the notifications should be displayed:
```objective-c
   [RMessage setDefaultViewController:myNavController];
```

You can customize a message view, right before it's displayed, like setting an alpha value, or adding a custom subview
```objective-c
   [RMessage setDelegate:self];

   ...

   - (void)customizeMessageView:(RMessageView *)messageView
   {
      messageView.alpha = 0.4;
      [messageView addSubview:...];
   }
```

You can customize message view elements using UIAppearance
```objective-c
#import "RMessageView.h"
@implementation AppDelegate
....

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//If you want you can override some properties using UIAppearance
[[RMessageView appearance] setTitleFont:[UIFont boldSystemFontOfSize:6]];
[[RMessageView appearance] setTitleTextColor:[UIColor redColor]];
[[RMessageView appearance] setSubtitleFont:[UIFont boldSystemFontOfSize:10]];
[[RMessageView appearance] setSubtitleTextColor:[UIColor greenColor]];
[[RMessageView appearance] setErrorIcon:[UIImage imageNamed:@"NotificationButtonBackground"]];
[[RMessageView appearance] setSuccessIcon:[UIImage imageNamed:@"NotificationButtonBackground"]];
[[RMessageView appearance] setMessageIcon:[UIImage imageNamed:@"NotificationButtonBackground"]];
[[RMessageView appearance] setWarningIcon:[UIImage imageNamed:@"NotificationButtonBackground"]];
//End of override

return YES;
}
```

The following arguments can be passed in programmatically when creating a new notification:

* **viewController**: The view controller to show the notification in. This might be the navigation controller.
* **title**: The title of the notification view
* **subtitle**: The text that is displayed underneath the title (optional)
* **iconImage**: A custom icon image that is used instead of the default one (optional)
* **type**: The notification type (Message, Warning, Error, Success, Custom)
* **duration**: The duration the notification should be displayed
* **callback**: The block that should be executed, when the user dismissed the message by tapping on it or swiping it to the top.
* **customTypeName**: When using a custom design that you have added specify the key to use from your design, otherwise set to nil if not using a custom design.

Except the title and the notification type, all of the listed values are optional

If you don't want a detailed description (the text underneath the title) you don't need to set one. The notification will automatically resize itself properly.

## Custom Design File Properties

* **backgroundColor**: Background color for the RMessage. String: [#000000, #FFFFFF].
* **backgroundColorAlpha**: Apply a transparency to the background color. Must be less than 1.0 but not 0 for blurring to work
  when blurBackground key is set to enabled. Numeric: [0, 1.0].
* **opacity**: Opacity of the RMessage. Numeric: [0, 1.0].
* **iconImage**: Filename of image (in app bundle) to use as an icon on the left side of the RMessage. String.
* **iconImageRelativeCornerRadius**: Corner radius percentage relative to icon image to apply to icon image. For example 0.5 (use 50% of icon image width as corner radius) would mask the icon image to always be a circle. Numeric: [0, 1.0].
* **backgroundImage**: Filename of image (in app bundle) to use as a background image for the RMessage. String.
* **titleFontName**: Name of font to use for title text. String.
* **titleFontSize**: Size of the title font. Numeric: [0, Max depending on font used]
* **titleTextAlignment**: Alignment to apply to title label. String: {"left", "right", "center", "justified", "normal"}.
* **titleTextColor**: Color of the title text. String: [#000000, #FFFFFF].
* **titleShadowColor**: Color of the title shadow. String: [#000000, #FFFFFF].
* **titleShadowOffsetX**: Amount of pt to offset in x direction title shadow from title text. Numeric.
* **titleShadowOffsetY**: Amount of pt to offset in y direction title shadow from title text. Numeric.
* **subTitleFontName**: Name of font to use for subtitle text. String.
* **subTitleFontSize**: Size of the subtitle font. Numeric: [0, Max depending on font used].
* **subtitleTextAlignment**: Alignment to apply to subtitle label. String: {"left", "right", "center", "justified", "normal"}.
* **subTitleTextColor**: Color of the subtitle shadow. String: [#000000, #FFFFFF].
* **subTitleShadowColor**: Color of the subtitle shadow. String: [#000000, #FFFFFF].
* **subTitleShadowOffsetX**: Amount of pt to offset in x direction subtitle shadow from subtitle text. Numeric.
* **subTitleShadowOffsetY**: Amount of pt to offset in y direction subtitle shadow from subtitle text. Numeric.
* **blurBackground**: Enable/disable blurring of the background behind the RMessage. Use in conjunction with
  backgroundColorAlpha. Numeric boolean [0, 1].

Property keys are always strings, values can be string or numeric. If specifying a numeric value don't encapsulate the numeric value in a string.
[x,y] Signifies the range of values x to y that are allowed for the field.

For example:

```
"backgroundColor": "#FFFFFF",
"opacity": 1.0
```

## Screenshots

**Design Examples**

![ErrorUnder](Screenshots/ErrorUnder.png)

![SuccessUnder](Screenshots/SuccessUnder.png)

![ErrorOver](Screenshots/ErrorOver.png)

![WarningOver](Screenshots/WarningOver.png)

# License
RMessage is available under the MIT license. See the LICENSE file for more information.

# Recent Changes
Can be found in the [releases section](https://github.com/donileo/RMessage/releases) of this repo.


After a week off, Sprint Cup is back along with the Truck Series on the short track at Martinsville Speedway. We'll get to see how much tempers have cooled down after a number of incidents involving Joey Logano.
Most eyes will be on Logano and Tony Stewart after their shoving match along pit road at the end of the race in California. It was after Logano blocked Stewart during a late restart.
Just the week before, Logano and Denny Hamlin had words after the race at Bristol, then their pit crews started pushing each other around.
Hamlin will be missing from the lineup for the next several weeks with a compression fracture in his spine, the result of a crash with Logano on the final lap at California.
Mark Martin will take over for Hamlin in the Number 11 Toyota.
Dale Earnhardt, Junior is the points leader heading to Martinsville. He has top-10 finishes in each of the first five races this season and has a 12-point lead over defending series champion Brad Keselowski. Jimmie Johnson is 16 points back.
Martinsville has been a good track for Earnhardt. He's finished either second or third in the last two spring races there, but has yet to win in 26 starts.
He came close two years ago when he took the lead 21 laps from the end, but Kevin Harvick passed him with only four laps left.
Ryan Newman was the winner last year.
Jeff Gordon leads all active drivers with seven wins at Martinsville.
Danica Patrick will become the first woman to start a race at Martinsville this weekend.


text:
Q: gradle not working well I want to add a library to my gradle but this library should be like this
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.0'
    compile 'com.github.clans:fab:1.6.2'
}

but when I copy this code my whole program will changes like this
errors comes I really don't know why.

A: You need to use same version of support library
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'

Then
Clean-Rebuild-Run your project

A: Use this
dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   compile 'com.android.support:appcompat-v7:23.1.1'
   compile 'com.android.support:design:23.1.1'
   compile 'com.github.clans:fab:1.6.2'
}

redpajama_set_name: RedPajamaStackExchange


text:
A large section of The Prodigy related reviews.
Screen Weekly
From bad boys to goodfellas (AONO review)
How was The Prodigy reclaimed from the MTV masses, media misconceptions style wars, star systems, haircut hullabaloo, celebrity trivia, global success, International pressure, forced expectations, erupting egos, punk rock formula, claustrophobic studios and the watchful guidance of 'those in the know'.
The Prodigy is about the beats. From the day that Liam Howlett had put together his first demo with the subsequent What Evil Lurks EP, it had been about the beats. His debut album Experience was driven by beats, as was the follow up Music for the Jilted Generation.
The Prodigy is also about punk. Electronic punk that is. A sound that The Prodigy defined with Poison in 1995, refined with Firestarter a year later and conquered the planet with their record breaking The Fat of the Land album.
By the time The Prodigy released the Baby's Got A Temper single in July 2002 however, the electronic punk genre that they had invented looked set to turn them into a parody of themselves. Electronic punk had become a creative straightjacket intent on stifling all forms of progression. Clearly something had to give.
Baby Got A Temper may yet come to be regarded as the most important single of The Prodigy's career though. It was a wake up call for Liam to rediscover the heartbeat that had always pulsed at the core of The Prodigy, the lifeblood that was always far more important than the rest of the bullshit; those beats.
If Poison delivered the electronic punk genre and Firestarter defined it as a global presence, then Baby's Got A Temper killed it once and for all. And with what had become The Prodigy formula destroyed, Liam was once again able to explore.
I wanted to make the most honest of an album that totally represented what I was about. He says, I'm still drawing on the same inspirations as when I was a kid, Public Enemy and The Sex Pistols. It had to be about the music. And I knew I had to get back to doing stuff for myself.
So Liam scrapped a year's worth of new tracks, locked the doors on the stale atmosphere of his studio and started writing on his laptop. I'd find a place I'd be happy in, usually in my bedroom, usually at about midnight, usually with a couple of glasses of wine, James Bond on the DVD... you know what I mean. I was writing for the fun of writing again.
And it shows.The freedom from punky preconceptions, and the mobile approach to writing has injected a new spontaneity into The Prodigy sound. 'Always outnumbered never outgunned...' has a freshness that hits you at the first instance. Liam has rediscovered his beats and in return delivered a set that's dirty, sleazy, funky and ironically, far more punky than anything he'd previously recorded.
This is an album of raw energy where the beats are the stars and the voices just samples of Liam's sonic armoury. Gone are the upfront vocal performances. Instead Liam has recorded various voices and treated them like samples and utilised them as a part of the overall sound.
The guests whose vocals have undergone Howlett's subverted cut up techniques include Liam Gallagher, Juliet Lewis, Kool Keith, Princess Superstar, Ping Pong Bitches, Twista, Shahin Bada and unknown lo fi singer songwriter Paul Jackson from Dirt Candy. That artistes were either known or unknown was irrelevant to Liam's master plan - the sound of the voices was far more important.
Contrary to the rumourmill, all the three original band members are still together and will be taking this album live. Keith and Maxim will be back in the frame for the live shows - as they were in the beginning.
With the opening cut Spitfire Liam lays down his manifesto. From the swaggering, low slung break, contorted guitars and pulsing Bomb Squad style b-line to the lysergic Arabic refrains and petulant cut-up vocals Spitfire screams Prodigy is back!.
Take first single Girls whic spins on the ground where tech-funk meets old skool electro and a slab of The Clash's take-no-prisoners, know-no-boundaries attitude. Or Memphis Bells which offers a twisted, dirty take on Timbaland's future sci-funk. The energy is still there, so is the tuffness, but the room to breathe adds a newer level of tension.
Elsewhere Liam rips through Prodigy-style hip hop on Gel up get off and punk rock meets phycobilly mayhem with Hotride (featuring vocals by Juliet Lewis). Action Radar finds stretched out 80s trash synth lines beaten into submission by a Paul Dirt Candy Jackson vocal. Under My Wheels is a stripped down bass and beats instrumental featuring backward guitars and a vibrant classical hook. It also finally brings the Prodigy live favourite Rock'n Roll by Kool Keith bang up to date.
Cinematic edginess is exploring on Medusa's Path (a fusion of Iranian artist Gholam Hossein and Soul Sonic Force style synth) and subverted bootleg strangeness throttled on Phoenix (aka Shocking Blue's Lovebuzz in a stabs, bleeps and thunder showdown).
It was a pure case of jack the tune and rock a beat over it. A Bootleg - simple as that. That tune scares me when I listen to it. It's got a really weird vibe about it.
Other key tracks include Wake Up where Kool Keith can be heard sparring with Liam's beats. It's a personal message to Liam from himself, via the onetime Ultramagnetic MCs don, to wake up and smell the napalm. The Way It Is, the album's funk fuelled piece de resistance, delivers girl vocals dripping over chicken grease guitars and a bass line chopped from Michael Jackson's Thriller.
The whole vibe was to take the Thriller loop and see how far I could go with it. It's a club track, but not in the house sense. This is more about 80s club stuff like The Gap Band before house.
Always out numbered never outgunned comes to a close with sound of Liam Gallagher as rewired through the Howlett sonic weaponry. ShootDown rocks as the album's most garage guitar driven tune and is Always outnumbered never outgunned's final assault.
Written on a laptop in a bedroom in Essex, mixed in London and mastered in New York, Always outnumbered never outgunned is the sound of Liam Howlett reclaiming the Prodigy and putting the beats back in their rightful position - centre stage. And the end result is an album that deserves to be The Prodigy's 4th album, back and fresh.
Jump to Reviews main | Prodigy main


LEGAZPI CITY -- The Regional Tripartite Wages and Productivity Board (RTWPB) in Bicol has approved Wage Order No. RBV-18 providing daily wage increases of P25 and P32 for workers and employees in the private sector.
"The new minimum wage rate will now be P290 from the previous P265 for workers in establishments employing 10 workers and above while workers in establishments employing one to nine personnel will get P280 from the P248 daily minimum wage," said Ma. Karina P. Trayvilla, Department of Labor and Employment (DOLE)- Bicol director and RTWPB chair.
Trayvilla said the new minimum wage rates shall apply to all minimum wage earners regardless of their position, designation or status of employment and irrespective of the method by which they are paid.
"The new minimum wage rates, however, shall not cover the kasambahays, persons in the personal service of another such as family drivers and workers of duly registered Barangay Micro-Business Enterprises (BMBEs) with certificates of authority pursuant to RA 9178," she said.
Trayvilla said, however, that RTWPB Bicol has also approved Wage Order No. RBV-DW-01 providing a monthly increase of P1,000 for all "kasambahays" or domestic workers in the Bicol region.
This means that the monthly minimum wage rates of domestic workers in the region shall be from P2,000 to P3,000 in chartered cities and first class municipalities and from P1,500 to P2,500 in other municipalities.
The wage increases will take effect 15 days after its publication in local newspapers with general circulation.
According to Trayvilla, the factors, which were considered in coming up with the new wage rates, included the needs of workers and their families, capacity to pay of the employers, comparable wages and incomes, and the requirements of economic and social development.
She added that the output from the series of public hearings conducted last month among labor and management groups in the six Bicol provinces of Camarines Sur, Camarines Norte, Albay, Masbate, Sorsogon and Catanduanes became part of the deliberations for the new wage rates.


Migrate from Windows Server 2003 to Windows Server 2008R2 and replace ALL workstations, and switch, over the Memorial Day Holiday weekend.
Backed up TRAMS database and setup on on new DELL T320 running Windows 2008R2. Setup AD completely brand new (old AD had issues) using same domain name. Setup DHCP, DNS, file and printer services.
Setup Spiceworks on a secondary server, deploy portal shortcut through GPO.
Attach and configure all workstations to new domain, along with applications.
Since it was just me, I had already unboxed and named all machines in the week prior, to save me from doing this during roll out.
All machines were setup and logging in and fully functional (with the exception of a few tweaks tot he database engine by support) by the time users returned to work.


text:
Q: Parse JSON to Dart Object in Flutter I'm new to Flutter and doesn't know much about complex JSON parsing. I've consulted few online articles but didn't find any suitable solution for the case. My JSON is as follows:
{
   "RIFUSD":[
      {
         "timestamp":"2021-02-13T16:00:00.000Z",
         "open":"0.3257370",
         "close":"0.3257370",
         "min":"0.3257370",
         "max":"0.3257370",
         "volume":"49",
         "volumeQuote":"15.9611130"
      },
      {
         "timestamp":"2021-02-13T12:00:00.000Z",
         "open":"0.3015120",
         "close":"0.3216128",
         "min":"0.3015120",
         "max":"0.3216768",
         "volume":"4079",
         "volumeQuote":"1298.0319504"
      }
   ],
   "BERRYUSD":[
      {
         "timestamp":"2021-02-13T04:00:00.000Z",
         "open":"0.00061800",
         "close":"0.00061780",
         "min":"0.00061000",
         "max":"0.00071783",
         "volume":"10460",
         "volumeQuote":"6.89477840"
      },
      {
         "timestamp":"2021-02-12T20:00:00.000Z",
         "open":"0.00060489",
         "close":"0.00061800",
         "min":"0.00048829",
         "max":"0.00061800",
         "volume":"466690",
         "volumeQuote":"228.12405820"
      }
   ]
}

And my Candle Class to keep timestamp, open, close, min, max, volume and volumeQuote:
class Candle {
  Candle({
    this.timestamp,
    this.open,
    this.close,
    this.min,
    this.max,
    this.volume,
    this.volumeQuote,
  });

  final DateTime timestamp;
  final String open;
  final String close;
  final String min;
  final String max;
  final String volume;
  final String volumeQuote;

  factory Candle.fromRawJson(String str) => Candle.fromJson(json.decode(str));

  String toRawJson() => json.encode(toJson());

  factory Candle.fromJson(Map<String, dynamic> json) => Candle(
        timestamp: json["timestamp"] == null
            ? null
            : DateTime.parse(json["timestamp"]),
        open: json["open"] == null ? null : json["open"],
        close: json["close"] == null ? null : json["close"],
        min: json["min"] == null ? null : json["min"],
        max: json["max"] == null ? null : json["max"],
        volume: json["volume"] == null ? null : json["volume"],
        volumeQuote: json["volumeQuote"] == null ? null : json["volumeQuote"],
      );

  Map<String, dynamic> toJson() => {
        "timestamp": timestamp == null ? null : timestamp.toIso8601String(),
        "open": open == null ? null : open,
        "close": close == null ? null : close,
        "min": min == null ? null : min,
        "max": max == null ? null : max,
        "volume": volume == null ? null : volume,
        "volumeQuote": volumeQuote == null ? null : volumeQuote,
      };
 }

I want to parse this JSON into this:
class CandleList {
  CandleList({
    this.candleList,
    this.symbol,
  });

  final List<Candle> candleList;
  final Sym symbol;

  factory CandleList.fromRawJson(String str) =>
      CandleList.fromJson(json.decode(str));

  String toRawJson() => json.encode(toJson());

  factory CandleList.fromJson(Map<String, dynamic> json) => CandleList(
        candleList: json["candleList"] == null
            ? null
            : List<Candle>.from(
                json["candleList"].map((x) => Candle.fromJson(x))),
        symbol: json["symbol"] == null ? null : Sym.fromJson(json["symbol"]),
      );

  Map<String, dynamic> toJson() => {
        "candleList": candleList == null
            ? null
            : List<dynamic>.from(candleList.map((x) => x.toJson())),
        "symbol": symbol == null ? null : symbol.toJson(),
      };

  @override
  String toString() {
    return '${symbol.id} > ${candleList.length} Candles';
  }
}

With List and "RIFUSD","BERRYUSD" as symbol.id of CandleList class.

A: First of all, install the HTTP package in Flutter, and after that import HTTP package like the below code:
import 'package:http/http.dart' as HTTP;

And then you must create a map or a list:
  Map<int, FavoriteModel> _favoites = {};

  Map<int, FavoriteModel> get favoitesItem {
    return _favoites;
  }

And then you can fetch your data:
Future<void> getFavoriteList({
  @required int userId,
}) async {
  try {
    final response = await http.get("your url");
    final extractedData = json.decode(response.body);
    if (extractedData == null) {
      return;
    }
    final Map<int, YourModel> loadedProducts = {};

    print("Mahdi: favorite food ${extractedData['RIFUSD']}");

    final lastExtract = extractedData['RIFUSD'];

    lastExtract.forEach((prodData) {
      loadedProducts.putIfAbsent(
        prodData['timestamp'],
            () => YourModel(
          timestamp: prodData['timestamp'],
          open: prodData['open'],
        ),
      );
    });

    _favoites = loadedProducts;
    print("Mahdi ${_favoites.length}");
  } catch (error) {
    print("Mahdi E: $error");
    throw (error);
  }
}

I hope this works for you

A: data/raw_data_1.dart
const rawData = '''
{
   "RIFUSD":[
      {
   ....
      }
   ]
}
''';

main.dart
import 'dart:convert';

import 'data/raw_data_1.dart';

class NetService {
  static Future<Map<String, Object>> fetchData() {
    return Future.delayed(Duration(seconds: 2), () => rawData)
      .then((response) => jsonDecode(response));
  }
}

main(List<String> args) async {
  var data = await NetService.fetchData();
  var globalData = GlobalData.fromJson(data);
  print(globalData.data[0].id);
  print(globalData.data[0].candles[0].timestamp_UTC.toLocal().toString());
  print(globalData.data[0].candles[0].open.toString());
  print(globalData.data[0].candles[0].close.toString());
  print(globalData.data[0].candles[0].min.toString());
  print(globalData.data[0].candles[0].max.toString());
  print(globalData.data[0].candles[0].volume.toString());
  print(globalData.data[0].candles[0].volumeQuote.toString());
}

class Candle {
  DateTime timestamp_UTC;
  double open, close, min, max, volumeQuote;
  int volume;

  Candle.fromJson(Map<String, Object> jdata) {
    timestamp_UTC = DateTime.tryParse(jdata['timestamp']);
    open = double.tryParse(jdata['open']);
    close = double.tryParse(jdata['close']);
    min = double.tryParse(jdata['min']);
    max = double.tryParse(jdata['max']);
    volume = int.tryParse(jdata['volume']);
    volumeQuote = double.tryParse(jdata['volumeQuote']);
  }
}

class EntryOA {
  String id;
  List<Candle> candles;

  EntryOA.fromJson(MapEntry<String, Object> jdata) {
    this.id = jdata.key;
    var list = jdata.value as List<Object>;
    this.candles = List<Candle>.generate(list.length, (i) => Candle.fromJson(list[i] as Map<String, Object>));
  }
}

class GlobalData {
  List<EntryOA> data;

  GlobalData.fromJson(Map<String, Object> jdata) {
    data = jdata.entries.map((me) => EntryOA.fromJson(me)).toList();
  }
}

Result:
RIFUSD
2021-02-13 11:00:00.000
0.325737
0.325737
0.325737
0.325737
49
15.961113

A: You don't need to write dart file manually. You can use Online tool like Convert JSON response into Dart. I try it and the below is Dart class for your JSON response.
class Model_Candle {
  List<RIFUSD> rIFUSD;
  List<BERRYUSD> bERRYUSD;

  Model_Candle({this.rIFUSD, this.bERRYUSD});

  Model_Candle.fromJson(Map<String, dynamic> json) {
    if (json['RIFUSD'] != null) {
      rIFUSD = new List<RIFUSD>();
      json['RIFUSD'].forEach((v) {
        rIFUSD.add(new RIFUSD.fromJson(v));
      });
    }
    if (json['BERRYUSD'] != null) {
      bERRYUSD = new List<BERRYUSD>();
      json['BERRYUSD'].forEach((v) {
        bERRYUSD.add(new BERRYUSD.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    if (this.rIFUSD != null) {
      data['RIFUSD'] = this.rIFUSD.map((v) => v.toJson()).toList();
    }
    if (this.bERRYUSD != null) {
      data['BERRYUSD'] = this.bERRYUSD.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class RIFUSD {
  String timestamp;
  String open;
  String close;
  String min;
  String max;
  String volume;
  String volumeQuote;

  RIFUSD(
      {this.timestamp,
      this.open,
      this.close,
      this.min,
      this.max,
      this.volume,
      this.volumeQuote});

  RIFUSD.fromJson(Map<String, dynamic> json) {
    timestamp = json['timestamp'];
    open = json['open'];
    close = json['close'];
    min = json['min'];
    max = json['max'];
    volume = json['volume'];
    volumeQuote = json['volumeQuote'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['timestamp'] = this.timestamp;
    data['open'] = this.open;
    data['close'] = this.close;
    data['min'] = this.min;
    data['max'] = this.max;
    data['volume'] = this.volume;
    data['volumeQuote'] = this.volumeQuote;
    return data;
  }
}

Now to access the value of RIFUSD you can write code like below
 final Map<String, dynamic> parsed = await wrapper.get_CategoryFull(catid);
final model = get_model_category.fromJson(parsed);
if (model.RIFUSD.length > 0) {
      for (int i = 0; i < model.RIFUSD.length; i++) {
        print( "timespamt "+ model.RIFUSD[i].timestamp.tostring() );
      }

    }


text:
Click below to download the latest FREE Enewspaper in PDF format
Write to Cyprusscene
And share your news with our readers
TRNC 14 Day Weather Forecast – Click Picture
CyprusScene.com Enewspaper Subscription
Welcome and to sign up to receive a weekly newsletter about our weekly CyprusScene.com Enewspaper, please complete the subscription_form
CyprusScene.com Reviews are coming and more
https://youtu.be/c7VCVUKcRsQ
Cyprus Conflict in a Nutshell by Dr Christian Heinze
By kyreniacommentator on January 20, 2015 • ( 28 Comments )
Introduction by Chris Elliott….
With the start of 2015 we are heading into the 41st year since the Turkish intervention in Cyprus to stop the communal bloodshed which was followed by the division of the island by the insertion of the
UN green line buffer zone between the Turkish and Greek Cypriot communities.
Since then there have been stop/go attempts to reach a solution which seem to have stopped yet again and the prospect of a settlement seems to be at a standstill despite concern and encouragement being expressed by Ban ki Moon in his recent report to the UN.
So what is the current situation and what are the options to finally settle the Cyprus issue. The following article by Dr Christian Heinze, who was the Assistant to the late President of the Constitutional Court of the "Republic of Cyprus" in Nicosia in 1962/63, brings the issue into sharp focus.
Cyprus Conflict in a Nutshell
By Dr Christian Heinze – 10. January 2015
The Cyprus Conflict consists in the claim raised by the Greek Cypriots to reign over the whole island and the claim held by the Turkish Cypriots to govern themselves within a part of the island's territory. The Conflict gains weight by the respective "motherlands" Greece and Turkey supporting the conflicting parties. It is further aggravated by the UN, the EU and most governments denying communication with the Turks of the island as is usually extended to States, instead referring them to an agreed establishment of a common Cypriot State with the Greek Cypriots. They have thus assumed the role of additional partners to the Conflict. An agreement on conditions for the formation of a Greek-and-Turkish State of Cyprus has not been reached in 50 years of negotiations. Instead, at the latest since 1955, the Greek Cypriots have employed every means to harm the Turkish Cypriots in order to enforce their submission.
For ending the Conflict, four alternatives exist:
1. Subjugation of the Turkish Cypriots by military or quasi-military force to the Greek-Cypriot claims.
2. Greek agreement with Turkish self-government in part of the island's territory.
3. Voluntary submission of the Turkish Cypriots to Greek-Cypriot claims under conditions accepted by the Greek Cypriots.
4. The UN, the EU and/or a number of relevant governments recognize the Turkish Cypriot State existing in part of the island's territory without consent of the Greek conflicting party.
Alternative 1. can be left out of consideration because no power exists able or willing to break the prospective Turkish resistance. Moreover, the UN, the EU and relevant governments have called upon each other not to violate the defacto-border delimitating the territories inhabited by Greek and Turkish Cypriots.
Alternative 2. has no chance of realization as long as the UN, the EU and relevant governments deny recognition of Statehood to the Turkish Cypriot community. For as long as this stance pre
vails, the Greek conflicting party is able to derive advantages from upholding its claim of much greater weight than that of disadvantages resulting from Turkish reactions.
Alternative 3. is hampered by the interest of the Greek Cypriots in unlimited rule over the major part of Cyprus prevailing over the formation of a Cypriot state implying Turkish self-government and sovereignty over part of the territory of the island. As long as the possibility exists of the Turkish Cypriots being forced, by the disadvantages connected with non-recognition of their state, to renounce to self government or its durable protection, Alternative 3. is also hampered by the Greek interest in the chance of gaining sovereignty over the whole island with the Turkish Cypriots in it.
Alternative 4. would end the Conflict, because it would discontinue the chance for the Greek conflicting party of gaining supremacy over the whole island and would thus dissolve the substance of the Conflict.
The question which one of the four Alternative merits priority should be considered from the aspect of durable peace, which is linked with the relationship between the interests involved. This implies also the question of the meaning of International Public Law for the Cyprus Conflict.
As peace requires the absence of violence, such alternatives must be excluded as are connected with a relevant potential for future violence.
Under the conditions prevailing in Cyprus, this applies to alternatives involving subjugation of the Turkish Cypriots, be it by means of military force or other forms of compulsive pressure. This is due to prospects of successful durable assertion of the claim for self government with the help of Anatolian and Cypriot Turks prepared for a high degree of sacrifice. This prospect can probably be reduced by international pressure so that activities are postponed, but only at the price of more vigilant reappearance as circumstances change. This is not paralleled by any similar prospect of durable enforcement of the Greek claims. Because the ethically highly esteemed ideal of self government, enhanced by the interest in common welfare and relying on national support from the neighbourhood affords higher political weight than interests of the Greek Cypriots (whose enjoyment of self government is secured and unchallenged and accompanied by every chance of prosperity) in subjugating the Turkish Cypriots and possessing a greater part of the island's territory.
This argues against solutions of a pattern like that of the Annan-Plan. An attempt at a voluminous and vast regulation of a great number of conceivable individual conflicts as forms the substance of this plan creates additional food for dispute without deciding the underlying basic conflict. It puts the Greek party in a position enabling it to pursue further their claim for supremacy by diligently utilizing powers and plan-positions. It is therefore bound to increase instead of terminating the Conflict. Even if the Turkish Cypriots or their leadership are successfully deceived about this consequence, their concurrence serves only to postpone the renewed outbreak of dispute into the future. Moreover, the real conditions prevailing in Cyprus struggle against any "solution" that misses an effective, power-based assurance of Turkish Cypriot territorial self government. Permanent peace requires at the least autonomous Turkish executive power and court jurisdiction not subject to any Greek influence. Given the present stage of negotiations the position of the Greek conflicting party is far remote from such an option.
Therefore, Alternative 4. alone appears compatible with permanent peace. Given the latent policy of the UN, the EU and relevant governments, no durable agreement can be expected from the conflicting parties. Even if an agreement were brought about by means of pressure, it would not promise permanent pacification. Whether the Conflict continues or is brought to a definite end lies therefore in the hands of the powers and governments mentioned.
It is true that absence of violence does not suffice for peace deserving that name. Peace in a meaning corresponding with the essential substance of man requires a certain measure of order and adequate solution of conflicts by enforcement or equalization of interests. The policy applied to Cyprus by the United Nations, by Europe and by relevant governments since 1960 is guided by certain formalities. It relies in particular on the assumption that legitimacy or illegitimacy of statehood in Cyprus and its territorial scope is based solely on recognition by the UN and/or relevant governments and that the creation of the Turkish State of North Cyprus must be punished with non-recognition and all its grave consequences for the population purely because of the application of force involved. Peace in the meaning mentioned depends however on many factors of cohabitation like for instance factors pertaining to ethics, religion, civilization, tradition, economy, supply of goods and services, relationships of military and other powers or to property. It also depends on aggressive or tolerant inclinations of the population of a relevant environment. The exclusion of all these factors from the foundation of the international policy towards Cyprus adds decisively to the fact that it was impossible to end the Conflict in spite of decades long efforts.
The development of substantial parameters for peace around Cyprus and their application to the Conflict results in Alternative 4. as described above and consisting in a termination of the Conflict by recognizing the quality of the Turkish Republic of North Cyprus as a State not only to be recommended in order to prevent violence but also to be preferred in the interest of permanent pacification.
By international comparison, the Greek and Turkish Cypriot communities are more strongly than others characterized as different in many respects and consolidated by their ethnicity, religion, culture and tradition. On the Greek side, this consolidation and characterization is reinforced by particularities of the Orthodox Church and by its alliance with the national movement of the 19th century. In the second half of the 20th century, this alliance led (in a way typical for Diaspora conditions) to a combination of the political power accumulated within the Greek community with the religious authority of the clergy which forms, together with its clientele, a stringently organized Greek-Cypriot hierarchy. This development culminated (since 1950) in a claim for supremacy entertained by the whole Greek community under Archbishop Makarios and based on a historicising hybrid Hellenic ideology. This intensified the contrast of the Greek against the Turkish community much more effectively than the loose organization and religious or ideological orientation of the Turkish side.
Not this difference between the communities as such but the claim of the Greek community for supremacy constitutes the decisive factor preventing peace in Cyprus because such supremacy amounts to foreign rule entailing the probability of negative effects on and discrimination of the Turkish community. Regardless of whether such foreign rule or discrimination emanates from a monarch or from a larger community (a "majority") or another stronger power, this probability justifies a claim for self government. The superior interest in securely providing peace with the help of government power may, under certain conditions, demand renunciation to self government if the probability of discrimination is slight, particularly if it is reduced through the safeguard of basic or special rights for the inferior group and – in cases where a community is composed of members of different religions – of a separation of government and religion. The Greek conflicting party considered the violent pursuit of its claim for self government since 1955 as justified by the foreign nature of and the probability of discrimination connected with British rule. The Greeks would not be satisfied with special rights.
When discrimination of the Turkish community, which had resisted the Greek recent violent fight for union with Greece and had become victim of pogroms in return, became imminent at the withdrawal of British sovereignty over the island (1960), the Turkish Cypriots were prepared to accept the probability on condition of guarantees for enumerated special rights. Treaties and a constitution to this effect were written down and signed, albeit, on the part of the Greek side, with the reservation to continue pursuing their claim for unlimited sovereignty which was published almost at the same time. In 1963 and 1964 the Greek leadership acted in breach of the special Turkish rights and formally declared their abolition. In the Cyprus Conflict, the probability of discrimination and foreign rule became certainty. It was realized by the Greek Cypriots attempting since 1955 (organized murderous campaign under Grivas and Makarios) to violently subjugate the Turkish Cypriots, particularly in 1963/64 by means of Turkish pogroms conducted by irregular armed fighters that were instructed by the Greek part of the designated government of "Cyprus", and in 1974 by military intervention of Greece. The certainty of imminent discrimination continues unto the presence due to explicit maintenance of the Greek aim for supremacy and due to the Greek policy of harming the Turkish Cypriots as intensely as possible on every occasion offering itself in order to compel their submission. The Cyprus Conflict is thus characterized by Greek attacks against the requirements for peace in Cyprus and by Turkish defence against these attacks. Greek aggression constitutes the decisive obstacle for peace around Cyprus
Surrendering the island to Greek rule would amount to a much more severe reduction of the position of Turkey in the Eastern Mediterranean Sea than the surrender of a smaller part of the island would mean for the Greek position. In this context, realistic political evaluation cannot leave aside the nearness of the island to the Anatolian main and its distance from Greece in relation to its size as well as its limited economic and greater military importance. It is true that by the partition brought about by Greek policy, both communities lose part of their area of settlement, but gain unlimited self government. It is precisely this interest in self government which was used by the Greek conflicting party in reasoning their own aggressive terrorist and military violence and their claim for supremacy from 1950 onwards, while they denied the same right to the Turkish community. The Greek demand for supremacy upheld in negotiations about unification since 1964 endangers the security of the Turkish community which raises no similar claim. Its quest for security gains weight through the greater number of Greek population of the island, through their ideological efforts, through violent Greek aggression between 1955 and 1974 and through the Greek policy demonstrating since 1964 their resolution of harming Turkish Cypriots according to opportunity. By arranging the pogroms against the Turkish Cypriots in 1963/64 instead of rendering the government protection they owed to the Turkish community, the Greek leadership, then forming part of the "government of Cyprus" gave evidence of the need of the Turkish community of a State of their own as a basic requirement for peace. Accordingly, adequate participation of the Turkish Cypriots in advantages deriving from unification under Greek rule cannot be expected. It is true that partition of the island results in a considerably larger personal loss of home and property on the part of Greek than on the part of Turkish Cypriots. However, viewed from the aspect of interest in peace this attribution of loss constitutes a compensation justified by the responsibility of the Greek community for its violent aggression and breach of confidence in the course of the attempt at founding a Republic of Cyprus in 1960 and for its failure. Moreover, the loss has lost considerable weight due to the economic development of South Cyprus, and there remains the possibility of compensation not only within the Greek but also between the Greek and Turkish communities.
For the same reasons for which it grants peace to Cyprus, partitioning the island will, in spite of being unpopular in Greece, serves peace between Turkey and Greece as well. The same applies to other substantial international interests or conflicts as may be connected – albeit hardly visible – with Cyprus. In particular, an interest in an expansion of the EU cannot be regarded as serving in itself the interest in peace. In the case of Cyprus it contributes to the contrary to the aggravation and continuation of the Conflict.
To be discussed under aspects of interest in peace remain the reasons on which the international policy towards the Cyprus Conflict (UN, EU, relevant governments) is based. This meets with the difficulty that such reasons are only vaguely documented. Numerous private or scientific opinions exist but they lack authority as they are subject to dispute. Official evaluation of subject matters of the kind dealt with in sections 4.2.1 and 4.2.2 of this article are almost completely missing. Sources for binding evaluations are restricted to the resolutions of the Security Council of the United Nations, because positions held by the EU or relevant governments restrict themselves to adopting the contents of such resolutions and do not go beyond their meaning. They all amount to the assumption that in 1960 a Republic of Cyprus was created which continues to exist and enjoys the protection extended to States by international public law (1) and that the violent creation of the Turkish Republic of North Cyprus is incompatible with this protection (2). There from derives an obligation not to recognize this Turkish Republic (3). As concerns the Cyprus Conflict, these considerations prove incompatible with the interest in permanent peace.
(1) A notion of the State designed to support the interest in peace must be defined by an in fact and permanently existing supreme power governing a defined territory. Towards this definition, the meaning of international recognition or non-recognition is confined to its reasoning concerning the fulfilment of requirements of the notion of the State in an individual case. Instrumentalising the notion of State for the pursuit of particular interests is bound to damage the interest in peace. Since 1960 or, at the latest, since 1963, the formation of such a power of State covering the whole territory of Cyprus was hampered by the Greek Cypriot powers detaching themselves from the co-government of the Turkish Cypriot powers (which the Greek leadership had merely pretended to concede) without which the establishment of a supreme power over all Cyprus proved impossible. This is why the Greek Cypriot community is entitled to the protection accorded to States by international law only insofar as it has established a supreme power over a defined part of the territory of the island since 1974.
(2) As no "Republic of Cyprus" existed during the steps taken between 1964 and 1984 towards the establishment of a Turkish Republic of North Cyprus and as boundaries of the Greek State of Cyprus in being from 1964 onwards were not established before its delimitation in 1974, the powerful help rendered by Turkey to the establishment of the Turkish Cypriot State could not contradict any right of a Cypriot State. But even if Turkish force had encroached upon Greek rights, this would have been necessary in order to counteract the breach of the Cyprus peace treaties of 1959/60 by Greek violence directed at subjugating the Turkish Cypriots. Moreover, the Turkish exercise of power was based on a treaty right of intervention.
(3) Eventually no international law can prevent the foundation of States or the changing of State territory even if violently performed if this performance constitutes the only remedy for the preservation of durable peace, because international law enjoys no other legitimacy than the service it renders to peace. The concept of any and all instances of violence forming a legal obstacle for the creation of a State or for a change of State territory or forming the basis for non-recognition or for an obligation of
non-recognition is incompatible with the notion of State deriving from the task of establishing peace. Therefore, contrary to the opinion probably held by a majority of authors, a rule containing such obligation cannot gain validity in any of the forms in which international law can originate, and particularly not by observance which is the only form claimed as a source for the obligation of non-recognition of the Turkish Republic of North Cyprus. This rule is verified by attempts at realizing the rights in question having repeatedly resulted, without attaining their objective, in massive strife of greater scale, and by violently enforced changes creating permanent peace. Violent changes in the world of States cannot be prevented and are once and again needed in the interest of peace. They are present all through the order of the day of history and gain by permanence the quality of customary law.
It cannot however be excluded but must be recognized as a basic rule, that the foundation of a State in connection with an encroachment on an existing State contravenes the interest in peace. Therefore, non-recognition as a means of repairing the encroachment can prove necessary in the interest of peace. The correct evaluation as a condition or as an obstacle for peace cannot be derived from mere formalities but can only be ascertained by applying criteria of the kind discussed in sections 4.2.1 and 4.2.2 of this article. In any case non-recognition as a sanction against violence serves peace only if a chance exists for the attainment of the result pursued and if the peace-providing effects clearly outweigh the disturbance of peace connected with it.
To the Cyprus Conflict, none of the requirements for the sanction of non-recognition applies. Non-recognition prevents pacification of the island. The call by the UN Security Council for non-recognition contrasts with its call to respect the borders of the Turkish Cypriot Republic, thus preventing the realization of purported rights of the Greek community. As has become evident after 50 years having passed since its proclamation, the sanction cannot enforce its objective. Most importantly, the detriment inflicted on the Turkish Republic and first of all on its population and on a peaceful situation (damages caused in its creation having been widely overcome) by means of the embargo connected with non-recognition preventing international communication including the exchange of goods and services and in particular of transport services is out of proportion with the objective of supporting the Greek interest in supremacy by prohibiting Turkish self government.
In this context it should be noted that even the United Nations have not enacted or proclaimed a legal obligation of relevant governments not to recognize the Turkish Republic of North Cyprus. As the recommendation of non-recognition contained in resolutions of the Security Council is not expressly based on Chapter VII (Art. 41) of the UN-Charter, they have no legally binding effect.
Other arguments used in favour of the Greek claims, the validity of which could be assumed as deriving from the support given to the claims by the prevailing Cyprus policy (while these arguments are not used officially in the context of the policy of the United Nations) call for the following remarks:
(1) Partition as advocated in the present homepage results in the destruction of rights of residence and property of Greek and Turkish Cypriots. These rights are required to step back behind the interest in peace. This result is caused by the violent unpeaceful treaty-despising policy of the Greek leadership of the majority of those affected and must be compensated within their community. As concerns damages suffered by the Turkish community, their behaviour proves sufficiently their preference of security and self government to their surrendered rights. They are entitled to reparations payments by the Greek Republic of Cyprus.
It is true that, while the loss of settling territory for Greek Cypriots is less than one third and that for the Turkish Cypriots more than two thirds of the territory of the island, the number of the affected Greek Cypriots and the extent of property taken from them is several times as large as the loss suffered on the Turkish Cypriots. This is the consequence of the distribution of settlement of the Greek and Turkish Cypriots over the whole island before the violent changes caused by the Greek community that culminated in enforced migration
of more than 100.000 Greek and more than 20.000 Turkish Cypriots to the south and the north of the island respectively. It also reflects the overwhelming power employed and threatening to be employed by the Greeks of Cyprus in the violent pursuit of their aspirations and the inferiority of the Turkish Cypriots. Arguably, however, the interest in permanent peace may require a certain adjustment of this relationship through intercommunial restitution or compensation. Justified mutual claims can be raised pursuant to the recognition of the Turkish Republic of North Cyprus.
(2) The Greek party claims that Greek rule over Cyprus derives from the majority principle of democracy as the type of government best serving the interest in peace. This politically powerful argument ignores that the majority principle relies on the compensation of interests provided by a constantly changing formation of majorities within the limits of certain common basic interests of a homogeneous "demos". This requirement cannot materialize in a relationship like that of the communities of Cyprus between a closed majority and a closed minority that pursue permanently opposed ideals in basic matters of political cohabitation.
(3) Another argument close to the prevailing policy holds that State borders should define a territory large enough to enable the existence of a community and that they should coincide with geographical unities. The island of Cyprus should therefore belong to one single State and not be divided. The economic uprise of the Greek Republic of South Cyprus since 1964 proves however that it does not depend on unification. Independent prosperity of the Turkish Republic is prevented primarily as a result of non-recognition. Any and all advantages to be expected from cooperation can be realized through recognition, for example on a federal basis.
(4) It is occasionally concluded from peaceful coexistence of the two communities of Cyprus during long periods of history that the allegation of impossibility of the cohabitation of the Cypriot communities goes back to their preoccupation with facile and superficial or imposed sentiments or interests, which can be overcome with the help of the sanction of non-recognition. This view overlooks that the violent pursuit of the Greek claim for supremacy was and is being prevented since its origin by the Osman and at least until 1955 by the British rule and since 1974 by the presence of Turkish troops.
As a result, peace around Cyprus can most probably be secured by recognizing the Greek Republic of South Cyprus and the Turkish Republic of North Cyprus. Preference would be owed to an agreement of the conflicting parties to this effect that could comprise conditions equalizing bilateral interests. Subject matters of agreement could be the delimitation of the territories of the two States, diverse claims and compensations, the deployment of military forces, cooperation for example in the framework of the European Union, or the management of residual rights deriving from the Cyprus Treaties of 1959/60. Such agreements can (only) be expected as soon as the Turkish Republic of North Cyprus has been recognized or as its recognition becomes imminent without any doubt. Therefore, ending the Conflict lies not in the hands of the Greek and Turkish conflicting parties but in the hands of relevant governments or their organisations endowed with the competence for such recognition.
To read further articles about the Cyprus issue by Dr Christian Heinze please visit his website by clicking here
Categories: Heritage, Reviews
Tagged as: #Cyprusettlementoptions, Cyprus dispute, European Union, Greece, Greek cypriots, Northern Cyprus, Turkey, Turkish Cypriots, United Nations
TRNC News Today 19th January 2015 – "Stop making the Turkish Cypriots pay the price"
TRNC News Today 20th January 2015 – Ertuğ: "Greek Cypriot side trying to camouflage leaving the table"
cominos says:
Sorry Dr Christian Heinze it is not as simple as you think. the Turkish Cypriots have no say in the matter. The regime in Turkey has all of the say and they are not going to back off.
kyreniacommentator says:
Sounds like the ongoing Greek Cypriots state of denial and making excuses for doing nothing Cominos. Change is coming so you might as well accept it and go with the flow and be part of it.
Tugrul Bekir says:
I keep saying,the only Way the Cyprus problem Will be solved is by the recognition of the Turkish Republic of Northern Cyprus.
Thank you and do keep supporting the need for change Tugral.
That's a pretty daft conclusion given that this "TRNC" propped up by Turkey *is* the Cyprus problem!
There is always two sides to an issue GR but you have not made much of the opportunity to explain your point of view in depth but thank you anyway.
Eren says:
Yes that is the case now, but with recognition, there would not be a need to rely on Turkey
Thank you for your comment Eren and if only so many people would say.
Sermen Erdogan says:
A well balanced argument and independent opinion of Dr Christian Heinze always enlightens us when it comes to Cyprus problem and the pros and cons of it. Thank you Dr for the effort explaining the issues and options available to Cypriots from the international, legal , psychological and sociological point of view . Thanks Cyprus Scene for bringing us the readers another excellent article and discussion on Cyprus.
Thank you for your words of support Sermen and I am sure Dr Chrisitain Heinze will be pleased to read them
You forgot the best option called "International Law"…
The international community needs to start putting its actions where its mouth is by forcing Turkey to abide by UN Resolutions 353 and 541 via hard hitting sanctions, to start.
How did that option escape you?
Again GR you are posting snippets to state your case. Perhaps you would like to write an article for publishing on cyprusscene.com to make the full case as you see it.
If you're to evade international law then this lawlessness also ensures that you can never get anything legally because you need that very same authority to endorse your criminality if it's to have any weight on the international scene… and two can play at the game of evading the "law", especially a corrupt one!
It looks like a catch-22 for the hypocrites…
Talking of Catch 22 GR please read Cyprus Catch 22 by Ersu Ekrem click here in which you can also read the Akritas Plan click here which detailed how EOKA planned to annihilate the Turkish Cypriots.
I think you have no more to add to a sensible dicussion on how to solve the Cyprus Issue GR.
ismailveli says:
A very thought provoking article from a man that was clearly involved on the Cyprus problem from the 1960s. GR you talk of international law and UN resolutions. Perhaps it has escaped your attention that unilateral destruction of the Cyprus constitution in 1963 and the start of compulsory military service in 1964 by Makarios with the assistance of 20.000 mainland troops was also against international law. Cherry picking on selective parts of Cypriot history is clearly the main reason for the never ending saga of the Cyprus problem. Turkey offered to reduce its troops to 650 men in the 2004 Annan plan, sadly people like you rejected that option, and according to Nicos Rolandis 14 out of 16 plans on Cyprus were also rejected by our Greek Cypriot compatriots. Its about time you stood back, reflect on all aspects of the tragedy before the point of no return. If its not too late already.
Funny how this "unilateral destruction of the Cyprus constitution" hasn't stopped certain corrupt hypocrites from laying claim to southern hydrocarbons!
Open foot… insert mouth!
Its so sad and not funny that you manage to put your foot in it with every comment you make GR. Wise up to the truth and then there is a chance of you making peace with those you hate.
If and when Turkey quits pussyfooting around and abides by international LAW we can talk about "peace", but in the meantime your hollow hypocritical sophistry isn't going anywhere… 🙂
We have invited you to write an articl to put your side of the story GR and you continue to make negative snippet comments so be careful or its 3 strikes and your out. Your choice mate.
Btw, I have ZERO time for the alleged "Akritas plan" that *might* have happened but plenty of time for the Attila plan that DID happen… and so should you since you claim to be "researching" the CyProb. 😉
It looks like all the FACTS are going over your head…
Well it seems you have reached the end of your contribution to this thread GR so unless you want to submit a sensible article with a counter augment then you attendance here is going over our heads. 🙂
Those who are serious about CyProb debate come to the Cyprus Forum where there is a huge mixed audience and the proper software that allows quoting, links, images, etc, and without some idiot demanding that you must make agreeable posts or else!
Ok GR you have returned to say goodbye and do not want to take up our offer of cyprusscene.com publishing a detailed counter argument and that you will be making your views known elsewhere in future. Thank you.
Cavlan Suerdem says:
Well Done Dr Heinze. Congratulations for your well structured propositions. Option 4 seems to be the Most Pragmatic one…Much appreciated your dedicated and fair approach to the 51 years old Cyprus Problem. Following your suggestions the international community MUST start to rethink!!! Cavlan Suerdem. Kyrenia-Turkish Cyprus.
Well Done Dr Heinze. Congratulations for your well structured propositions. Option 4 seems to be the Most Pragmatic one… Following your suggestions the International Community MUST start to rethink the 51 years old Cyprus Problem. Cavlan Suerdem. Kyrenia-Turkish Cyprus
kentaziz says:
The Cyprus Conflict has been more or less explained and how it can be resolved by Dr Heinze.
But of course the two main powers, the UN and EU, are not very interested in solving the 60 year ongoing problem. The reason being there are too many other powerful countries WHO do not want to see a solution. These powers have not even searched for the TRUTH why, what for, by whom and when and against whom and for whose benefit did the Cyprus problem start and why it is still going on at the expense of the Cypriot Turkish people and against Turkey itself, to slow down Turkey and have certain control over it. Some Powers keep the conflict going on and of course the Greeks who are instrumental in this are now beginning to suffer from it themselves.
The solution to the Cyprus problem can be found by acceptance of the TRUTH BY ALL SIDES. Dr Heinze knows this and congratulations to him for a very truthful article and perhaps the relevant States will take his advice.
David Montgomery says:
And Pigs might fly!!!
There has to be a least two points of view in an unsolved issue David.


These reference topics provide complete information about configuration properties for the Spark jobs that are enabled with a Fusion AI license.
For conceptual information and instructions for configuring and scheduling jobs, see Jobs and Schedules.
Additional jobs are available as part of the basic Fusion Server feature set.
Use this job when you want to compute basic metrics about your collection, like average word length, phrase percentages, and outlier documents (with very many or very few documents).
Cluster a set of documents and attach cluster labels.
Estimate ground truth queries using click signals and query signals, with document relevance per query determined using a click/skip formula.
Perform head/tail analysis of queries from collections of raw or aggregated signals, to identify underperforming queries and the reasons. This information is valuable for improving overall conversions, Solr configurations, auto-suggest, product catalogs, and SEO/SEM strategies, in order to improve conversion rates.
Use this job when you only want to compute item-to-item similarities. This method is more lightweight than the generic Recommendations job.
Run a Parallel Bulk Loader job.
This job is created by an experiment in order to calculate an objective.
This job is deprecated as of Fusion AI 4.0.2.
Use this job to generate pairs of synonyms and pairs of similar queries. Two words are considered potential synonyms when they are used in a similar context in similar queries.