SA Health

The usage of technology in healthcare has opened the best way for enhancements in a variety of areas. Typically the erectile dysfunction from the medicines is a aspect effect that goes away as the body adjusts to it. Different occasions the doctor is going to wish to adjust the dosage or even check out new medicines. Many males don’t wish to share this problem with their doctor though so they just cease taking their remedy. That’s definitely not a very good solution for any male who’s having problems with intercourse attributable to remedy circumstances in addition to their age.

– Extra care. And certainly, usually a person with a small penis is an exceptional lover. It is not unusual for a modestly endowed man to want to show that it truly is skill that counts more than measurement. Because of this, he could also be more inclined to have interaction in passionate foreplay, to experiment with new positions, to take time to determine what his lover wants and needs. That is on no account to imply that a person with a big penis won’t do this – simply that the small penis man tends to have extra motive to take action.

The true drawback is lack of interest. Life is aggressive. We stay in ever denser cities. We work by means of most of the best part of every day. Throughout that time our minds are centered on the duties at hand, When we aren’t at work, we wish to get pleasure from life, chill out, unwind, rest our brains from desirous about our work duties. In this mild it is easy to see why we’re straightforward prey for the processed meals trade.

Unreliable and unaffordable air services are adversely affecting health care in the Mt Gambier space, specialists in South Australia’s largest regional city say. Biomedical: all elements of health, physical and psychological, developed throughout the human physique as influenced by genetic make-up.

The President of the United States, with the help of the Department of Health and Human Companies, is now launching a marketing campaign called “Small Steps.” This program’s goal is to help Individuals by making 3 small selections about their health to get large results, instead of making a drastic way of life change. The choices start with helping them eat higher, by utilizing portions and moderations with healthy fruit and veggies. The program focuses on getting physically energetic for 5 instances per week for at the very least thirty minutes; examples are jogging, strolling or going to the gym. The final step is learning extra, since information is well accessible today adjustments are at all times being made to improve health.


Q:

mootools | toggler event

I have mootools code:
document.getElements('.toggler').addEvent('click', function(e){

var target  = this.getChildren('i');
console.log(target);

if (target.hasClass('icon-minus')) {
   console.log('hasclass - minus');
   target.addClass('icon-plus').removeClass('icon-minus');
   this.getNext('div').hide();
} else {
   console.log('hasclass - plus');
   target.addClass('icon-minus').removeClass('icon-plus');
   this.getNext('div').show();
}
});

My HTML layout:

But if I click on the toggler I will get:
1: Object[i.icon-minus]
hasclass - minus
2: Object[i.icon-plus]
hasclass - minus
3: Object[i.icon-plus]
hasclass - minus

This is an error!
How to solve this issue?

A:

an alternative way to write would be:
document.getElements('.toggler').addEvent('click', function(e){
    e && e.stop();
    // the i and the div won't change. only get them from DOM once.
    var i = this.retrieve('i', this.getElement('i')),
        next = this.retrieve('next', this.getNext('div')),
        // keep state in storage also, no need to query dom all the time.
        isCollapsed = this.retrieve('state', i.hasClass('icon-plus'));

    // based upon current state (which we don't need in DOM after the first time)
    // calls either hide or show dynamically.
    next[['hide', 'show'][+isCollapsed]]();
    // all we want is to swap the classes, use toggleClass.
    i.toggleClass('icon-plus').toggleClass('icon-minus');
    // save new state
    this.store('state', !isCollapsed);
});

http://jsfiddle.net/dimitar/3ZY9Q/
this minimizes your dom lookups and works from memory (element storage) - and it also removes if/then/else code complexity.


Q:

How to execute code from a Ruby GEM I'm building?

I'm new in ruby and I'm trying to create a GEM. The "problem" is that I found really hard to execute the code I'm building, without having to repeat a lot of steps.
This is basically my gem structure
├── Gemfile
├── Gemfile.lock
├── Guardfile
├── LICENSE.txt
├── README.md
├── Rakefile
├── bin
│   └── hermes
├── hermes.gemspec
├── lib
│   ├── hermes
│   │   ├── code.rb
│   │   ├── issue.rb
│   │   └── version.rb
│   └── hermes.rb
├── requirements.md
└── spec
    ├── hermes_spec.rb
    └── spec_helper.rb

So I'm running bundle exec irb, then require 'hermes'and then Hermes.init, but if I change any of the files code, I have to exit irb and repeat the steps. Is there a better way of doing it? Which is the "correct" way of doing it (without using rspec) ?
Thanks!

A:

You can use pry and then load "path/to/file.rb" every time you change your code. You can also give it a simple web interface with sinatra and use shotgun to have your code reloaded on the fly.
But, the correct way is using rspec. Nothing better than to start fresh and effective employing test driven development. Trust me, you'll be ahead of 90% of the market by just starting with tdd from scratch.


Vibrational spectra and ab initio molecular orbital calculations of the novel anti-cancer drug combretastatin A-4 prodrug.
The NIR-FT Raman and FT-IR spectral studies of the novel antineoplastic and antiangiogenesis substance comprestatin A-4 prodrug (CA4P) were carried out. The equilibrium geometry, various bonding features and harmonic vibrational frequencies of CA4P have been investigated with the help of B3LYP density functional theory (DFT) method. The most preferred cis-configuration for its bioactivity has been demonstrated on the basis of torsional potential energy surface (PES) scan studies. Stability of the molecule arising from hyperconjugative interactions leading to its bioactivity, charge delocalization and mesomeric effects have been analyzed using natural bond orbital (NBO) analysis. Detailed assignments of the vibrational spectra have been made with the aid of theoretically predicted vibrational frequencies. The optimized geometry shows near-planarity of phenyl rings and perpendicular conformation of meta substituted methoxy group. The vibrational analysis confirms the differently acting ring modes, steric repulsion, pi conjugation and back-donation.


//
//  JSValue+GICJSExtension.m
//  GICXMLLayout
//
//  Created by 龚海伟 on 2018/11/2.
//

#import "JSValue+GICJSExtension.h"
#import "GICJSCore.h"

@implementation JSValue (GICJSExtension)
-(BOOL)gic_isArray{
    if([self isUndefined])
        return false;
    return [[self invokeMethod:@"isArray" withArguments:nil] toBool];
}
-(JSManagedValue *)gic_ToManagedValue:(id)owner{
    if([self isNull] || [self isUndefined]){
        return nil;
    }
    if(owner){
        return [JSManagedValue managedValueWithValue:self andOwner:owner];
    }
    return [JSManagedValue managedValueWithValue:self];
    //

    //    JSManagedValue *mv = [JSManagedValue managedValueWithValue:self];
    //    if(owner){
    //         [[[JSContext currentContext] virtualMachine] addManagedReference:mv withOwner:owner];
    //    }
    //    return mv;
}

-(JSValue *)excuteJSString:(NSString *)jsString withArguments:(NSArray *)arguments{
    if(jsString){
        NSMutableArray *mutArray = [NSMutableArray array];
        [mutArray addObject:jsString];
        if(arguments && arguments.count>0)
            [mutArray addObjectsFromArray:arguments];
        return [self invokeMethod:@"executeScript" withArguments:mutArray];
    }
    return nil;
}

-(void)print{
    [self excuteJSString:@"console.log(JSON.stringify(this))" withArguments:nil];
}
@end


My favorite photo from Phil Murphy signing the equal pay exec order (nope not this “official” one, the other photo)

We don’t have to wait to make our economy stronger and fairer, to attack income inequality, and to protect and grow our middle class. That’s why, later today, in one of my first official acts, I will sign an executive order promoting equal pay for women.
– – Gov. Phil Murphy Inaugural Speech, this afternoon

In a room crowded with jubilant New Jersey women, Phil Murphy just made the first official act of his three hours-old administration, signing an executive order barring state workers from asking applicants for state jobs about their previous salaries. That order is intended to boost the chances job-seeking women won’t be lowballed on salary. Asking about salary histories perpetuates the wage gap between men and women by allowing employers to keep offering low salaries to women. Murphy says this action will help close the wage gap between men and women in New Jersey. But Murphy’s not leaving it there; he’ll make this state law if lawmakers send him a bill extending that rule to the private sector too.

That’s the official photo above from Murphy’s just-launched Gov Twitter account @GovMurphy. But I like this below even better, showing (soon) 83-year-old Loretta Weinberg, who came up through the women’s movement in California & New Jersey to now runs her party as Senate Majority Leader in New Jersey – and who once told me, as Christie was again killing funding for women’s healthcare, “I can’t believe we have to fight this ____ all over again.” This photo was taken by Hetty Rosenstein (thanks, Hetty!), showing Murphy getting a hug from Loretta.


EI-1507-1 and -2, novel interleukin-1 beta converting enzyme inhibitors produced by Streptomyces sp. E-1507.
EI-1507-1 and -2, novel interleukin-1 beta converting enzyme (ICE) inhibitors, were isolated from the culture broths of Streptomyces sp. E-1507. EI-1507-1 and EI-1507-2 selectively inhibited the recombinant human ICE activity with IC50 values of 0.23 and 0.42 microM, respectively. EI-1507-1 and EI-1507-2 also inhibited mature interleukin-1 beta secretion from THP-1 cells with IC50 values of 1.1 and 1.4 microM, respectively.


Tom Brady may be 40 years old, but he is still the best quarterback in the world.
Through the first 12 games of the season, Brady has thrown 26 touchdown passes, behind only Carson Wentz (33) and Russell Wilson (29). Both of those players have played one more game than Brady, and Wentz is now out for the season with a knee injury. That means, Brady has a good shot to lead the NFL in touchdowns for the second time in three seasons.
More impressively, Brady has thrown just four interceptions. In the three seasons since Brady turned 38, he leads the NFL with 90 touchdown passes and has thrown...Read more ...

Joe Raedle/Getty Images
Two Monday polls showed wildly different projections in Alabama's Senate race.
One poll, from Fox News, showed Democratic candidate Doug Jones with a 10-point lead over Republican Roy Moore.
The other, from Emerson, showed Moore with a 9-point lead over Jones.
The differences could have a lot to do with the polls' methodologies.
Two polls released Monday showed a wildly different Senate race in Alabama as it speeds toward Election Day on Tuesday.
The first, released by Fox News , showed Democratic nominee Doug Jones with a whopping 10-point lead over Republican Roy...Read more ...

America First Project
Alabama Senate candidate Roy Moore was interviewed by a 12-year-old girl.
He has been accused of sexual misconduct with teenage girls when he was in his 30s.
The interview stands to be perhaps the last campaign sit-down for the Republican nominee.
Former judge Roy Moore has largely avoided campaigning in the final weeks of the Alabama Senate race, dodging questions from reporters and staying away from large campaign events.
But the Republican nominee made time in one of his last campaign interviews for a sit-down appearance with a 12-year-old girl.
America First, a...Read more ...


Recommended Posts

Bryant University will be awarded a Business Excellence Award from the Providence Business News at the 6th Annual Business Excellence Awards dinner to be held on November 16.

Bryant was chosen as the winner in the "100-plus Employees" category. Bryant joins Rhode Island industry leaders Taco, FM Global, GTECH, and Gem Plumbing and Heating who are all past winners in this category.

"This award is a testament to the dedicated faculty, staff and administrators as well as the hardworking students who participate in the high caliber educational process that is taking place at Bryant each and every day," said Bryant President Ronald K. Machtley.

Bryant has experienced exponential growth in the past 10 years. The University added 144,000 square feet of new facilities, saw the endowment swell from $96 million to more than $150 million and experienced a 300 percent rise in applications. In that time, the school developed seven more academic disciplines, created the U.S.-China Institute, and added five new varsity sports.

The crowning achievement came in 2004 when Bryant College officially became Bryant University. Establishing a College of Arts and Sciences and a College of Business, and enhancing the focus on international experiences and relationships, Bryant's popularity has reached an all time high.

Bryant saw a 38 percent rise in applications in 2006 alone. During this time, average increases for schools around the country ranged from six to 16 percent. With more applicants came a stronger pool of students. Between 2005 and 2006, the acceptance rate decreased from 58 percent to 44 percent while the mean SAT score increased for the fifth consecutive year.

In May, as President Machtley and his wife Kati celebrated their 10th anniversary at Bryant, 26 employees marked 20, 25, 30 or 35 years of service to the University.

Still, Bryant is not done. After adding 12 tenure-track faculty members this year, the goal is to add 17 more next year to ensure that the institution's mission remains the same: to be a student-centered university that is focused on academic excellence that prepares its students to achieve their personal best in life and their chosen professions.

The Providence Business News is a leading weekly business newspaper serving Rhode Island and Southeastern Massachusetts. The paper recently celebrated its 25th anniversary.


Organiser type

Section

Event Location

Event Description

Featuring high-level speakers and industry experts, this year's conference will provide conference delegates with an insight into what the future holds for wind energy.

A conference delegate pass includes access to the conference and the exhibition halls. The conference dinner will be held in the historic Hofburg, the former imperial residence. Why not make the most of your business trip to Vienna and network with wind industry professionals at this magnificent gathering.

The EWEA 2013 conference will open with a series of high-profile speakers addressing important political and business issues affecting the European wind industry: Reinhold Mitterlehner, Austrian Minister of Economy, Family and Youth; Taner Yildiz, Turkish Minister of Energy and Natural Resources; Pat Rabbitte, Irish Minister of Communications, Energy and Natural Resources; Fatih Birol, Chief Economist of IEA; Anni Podimata, Vice-President of the European Parliament; Arthouros Zervos, EWEA President; Francesco Starace, CEO of Enel Green Power.

Which technologies will have their share in delivering affordable energy and moving Europe toward carbon-free power production (nuclear, natural gas and shale gas, hydro power, PV, CSP, CCS and others)? The European Commission's 2050 energy roadmap identifies wind energy as the main electricity provider in all 2050 decarbonisation scenarios. How will these other technologies interact with wind? In this session, find out what the future energy landscape could look like.

Entitled 'Financing wind in a finance constrained world: challenges and new solutions', the Finance Plenary session will be made up of leaders from the financial and wind energy worlds. As well as discussing the existing challenges facing wind finance today, this session will also look at the emerging sources of finance and how to bridge the growing funding gap.

This session will explore the various challenges and opportunities available in wind energy development outside of Europe, through a wide range of speakers bringing a global perspective. Participants will be offered an insight into the risks and rewards from operating outside of Europe at a personal, company and national level. Find out more about what's in store in this interview with Nigel Crowe from PMSS and Lead Session Chair for 'Beyond Europe'.

For employers, recruiters and job seekers alike. Greenfish Recruitment are organising a careers day at EWEA 2013, featuring presentations addressing recruitment challenges, market trends and training needs, as well as a matchmaking event. Do you want to find out what skills and competencies hiring companies are looking for? Then join in the Greenfish survey. The results of the 10 most sought after profiles in the industry will be revealed at the careers day.


Cineworld has decided to show a new film about the Scottish warrior king Robert the Bruce after a campaign, backed by the former Scottish first minister Alex Salmond and the SNP MP Carol Monaghan, accused the cinema chain of effectively “burying” it.

Cineworld was not going to show Robert the Bruce, which had its world premiere at the Edinburgh international film festival on 23 June, in Scotland for “commercial reasons”, but after a campaign led by its star and writer Angus Macfadyen – who also played the role in Braveheart – it will now show in Glasgow, Aberdeen, Dundee and Falkirk.

A petition – addressed to the Cineworld chief executive, Mooky Greidinger – “formally [requested] the showing of the new Robert the Bruce movie across Scotland”, and received more than 5,600 signatures.

In a Facebook post which started with a quote from French post-impressionist painter Paul Gauguin about the human condition, Alex Salmond said that the film explores “fundamental truths about what it is to be human, which were as applicable in the winter of 1306 as they are in the summer of 2019”.

Monaghan also put pressure on the cinema chain, tweeting her support and asking Cineworld to “confirm and explain” its reasons for not showing the film in Scotland. Macfadyen thanked supporters for a “well-orchestrated campaign which reminded [him] of Bannockburn”, and previously said that the decision to not show the film effectively amounted to “burying the bairn in her infancy”.

A Cineworld spokesman said: “We are pleased to have been able to make room in the schedule for Robert the Bruce and it will be playing at Cineworld in Scotland.”

Leslie Felperin, who reviewed the film for the Guardian and gave it three stars, said that even though the film “features numerous American actors attempting Scottish accents with varying degrees of success” and “was shot mostly in Montana” it was a “thoughtful, well-meaning crack at historical drama”.


include $(top_srcdir)/build/vars.build.mk
plugin = projectorganizer

geanyplugins_LTLIBRARIES = projectorganizer.la

projectorganizer_la_SOURCES = \
	prjorg-main.c \
	prjorg-project.h \
	prjorg-project.c \
	prjorg-sidebar.h \
	prjorg-sidebar.c \
	prjorg-utils.h \
	prjorg-utils.c \
	prjorg-menu.h \
	prjorg-menu.c

projectorganizer_la_CPPFLAGS = $(AM_CPPFLAGS) \
	-DG_LOG_DOMAIN=\"ProjectOrganizer\"
projectorganizer_la_CFLAGS = $(AM_CFLAGS)
projectorganizer_la_LIBADD = $(COMMONLIBS)

include $(top_srcdir)/build/cppcheck.mk


Woman stays pregnant with dead fetus for 60 years

The doctors, who examined an elderly Chinese woman complaining of stomachaches, were shocked to find out that the lady was pregnant. The woman was carrying her unborn baby inside for 60 years.

Woman stays pregnant with dead fetus for 60 years

Huang Yijun from a province in southern China has recently celebrated her 92nd birthday. The story of her pregnancy began in 1948. She was several months pregnant when doctors told her that her fetus had died. The woman was supposed to have a surgery to have the baby removed from the uterus, but the price of the operation was $200. Yijun walked out of the hospital immediately after she was told the price.

“It was a huge amount back in those days, it was more than many families would make in a year,” the woman said. “I did not do anything, I just ignored them,” she added.

The baby that died in Yijun’s womb in 1948 reminded of its existence in 2008. The woman hurt her belly and developed stomachaches. She asked for medical help, and doctors conducted the ultrasound examination of her abdomen.

“I couldn’t believe my eyes when I discovered she had a baby in her belly. I’ve been a doctor for more than 40 years and it’s the first time I have seen something like this,” Doctor Liu Anbin said.

The medics did not let the woman go home. She was hospitalized for a series of additional tests. A dead fetus usually decomposes, which is a life-threatening process for a woman, but it was not the case with Huang Yijun. Doctors do not realize how the woman managed to stay absolutely healthy for so many years.

Life.ru


cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)

set(TL_UTILS_SOURCE
  common-utils.hpp
  tl-utils.hpp
  tl-utils.cpp
)

add_library(tl-utils STATIC ${TL_UTILS_SOURCE})

target_include_directories(tl-utils PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>)
target_link_libraries(tl-utils PUBLIC tl_api ton_crypto )

set(TL_LITE_UTILS_SOURCE
  common-utils.hpp
  lite-utils.hpp
  lite-utils.cpp
)

add_library(tl-lite-utils STATIC ${TL_LITE_UTILS_SOURCE})

target_include_directories(tl-lite-utils PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>)
target_link_libraries(tl-lite-utils PUBLIC tl_lite_api ton_crypto )


//
//  TSTableViewController.m
//  TableView
//
//  Created by Viacheslav Radchenko on 8/15/13.
//  Copyright (c) 2013 Viacheslav Radchenko. All rights reserved.
//

#import "TSTableViewController.h"
#import "TSTableViewModel.h"
#import "TSDefines.h"
#import "TSTableViewController+TestDataDefinition.h"
#import <QuartzCore/QuartzCore.h>

@interface TSTableViewController () <TSTableViewDelegate>
{
    TSTableView *_tableView1;
    TSTableView *_tableView2;
    TSTableViewModel *_model1;
    TSTableViewModel *_model2;

    NSArray *_tables;
    NSArray *_dataModels;
    NSArray *_rowExamples;

    NSInteger _stepperPreviousValue;
}

@end

@implementation TSTableViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.

    self.settingsView.layer.cornerRadius = 4;
    self.settingsView.layer.shadowOpacity = 0.5;
    self.settingsView.layer.shadowOffset = CGSizeMake(2, 4);

    // Top table
    _tableView1 = [[TSTableView alloc] initWithFrame:CGRectMake(20, 80, self.view.frame.size.width - 40, self.view.frame.size.height/2 - 70)];
    _tableView1.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    _tableView1.delegate = self;
    [self.view addSubview:_tableView1];

    _model1 = [[TSTableViewModel alloc] initWithTableView:_tableView1 andStyle:kTSTableViewStyleDark];
//    NSArray *columns1 = [self columnsInfo1];
//    NSArray *rows1 = [self rowsInfo1];
//    [_model1 setColumnsInfo:columns1 andRowsInfo:rows1];

    NSArray *columns1 = [self columnsForFileSystemTree];
    NSArray *rows1 = [self rowsForAppDirectory];
    [_model1 setColumns:columns1 andRows:rows1];

    // Bottom table

    _tableView2 = [[TSTableView alloc] initWithFrame:CGRectMake(20, self.view.frame.size.height/2 + 50, self.view.frame.size.width - 40, self.view.frame.size.height/2 - 70)];
    _tableView2.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    _tableView2.delegate = self;

    [self.view addSubview:_tableView2];

    _model2 = [[TSTableViewModel alloc] initWithTableView:_tableView2 andStyle:kTSTableViewStyleLight];

//    NSArray *columns2 = [self columnsInfo2];
//    NSArray *rows2 = [self rowsInfo2];
//    [_model2 setColumnsInfo:columns2 andRowsInfo:rows2];

    NSArray *columns2 = [self columnsForFileSystemTree];
    NSArray *rows2 = [self rowsForAppDirectory];
    [_model2 setColumns:columns2 andRows:rows2];

    _dataModels = @[_model1, _model2];
    _tables = @[_tableView1, _tableView2];

    // Row examples should correspond to columnsInfo* and rowsInfo* used above
//    _rowExamples = @[
//                     [self rowExample1],
//                     [self rowExample2],
//                     ];

    _rowExamples = @[
                     [self rowForDummyFile],
                     [self rowForDummyFile],
                     ];

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark -

- (IBAction)numberOfRowsValueChanged:(UIStepper *)stepper
{
    NSInteger val = [stepper value];
    if(val > _stepperPreviousValue)
    {
        for(int i = 0; i < _dataModels.count;  ++i)
        {
            TSTableView *table = _tables[i];
            TSTableViewModel *model = _dataModels[i];
            NSIndexPath *rowPath = [table pathToSelectedRow];
            if(!rowPath)
                rowPath = [NSIndexPath indexPathWithIndex:0];

            TSRow *row = _rowExamples[i];
            [model insertRow:row atPath:rowPath];
        }
    }
    else
    {
        for(int i = 0; i < _dataModels.count;  ++i)
        {
            TSTableView *table = _tables[i];
            TSTableViewModel *model = _dataModels[i];
            NSIndexPath *rowPath = [table pathToSelectedRow];
            if(rowPath)
                [model removeRowAtPath:rowPath];

        }
    }
    _stepperPreviousValue = val;
}

- (IBAction)expandAllButtonPressed
{
    for(TSTableView *table in _tables)
    {
        [table expandAllRowsWithAnimation:YES];
    }
}

- (IBAction)collapseAllButtonPressed
{
    for(TSTableView *table in _tables)
    {
        [table collapseAllRowsWithAnimation:YES];
    }
}

- (IBAction)resetSelectionButtonPressed
{
    for(TSTableView *table in _tables)
    {
        [table resetColumnSelectionWithAnimtaion:YES];
        [table resetRowSelectionWithAnimtaion:YES];
    }
}

#pragma mark - TSTableViewDelegate

- (void)tableView:(TSTableView *)tableView willSelectRowAtPath:(NSIndexPath *)rowPath animated:(BOOL)animated
{
    VerboseLog();
}

- (void)tableView:(TSTableView *)tableView didSelectRowAtPath:(NSIndexPath *)rowPath
{
    VerboseLog();
}

- (void)tableView:(TSTableView *)tableView willSelectColumnAtPath:(NSIndexPath *)columnPath animated:(BOOL)animated
{
    VerboseLog();
}

- (void)tableView:(TSTableView *)tableView didSelectColumnAtPath:(NSIndexPath *)columnPath
{
    VerboseLog();
}

- (void)tableView:(TSTableView *)tableView widthDidChangeForColumnAtIndex:(NSInteger)columnIndex
{
    VerboseLog();
}

- (void)tableView:(TSTableView *)tableView expandStateDidChange:(BOOL)expand forRowAtPath:(NSIndexPath *)rowPath
{
    VerboseLog();
}

#pragma mark - FileSystem

- (NSArray *)columnsForFileSystemTree
{
    NSArray *columns = @[
                         [TSColumn columnWithDictionary:@{ @"title" : @"Filename", @"subtitle" : @"Files in Application directory", @"minWidth" : @128, @"defWidth" : @288 }],
                         [TSColumn columnWithDictionary:@{ @"title" : @"Attributes", @"subcolumns" : @[
                          @{ @"title" : @"File size", @"titleFontSize" : @12, @"titleColor" : @"FF006F00", @"headerHeight" : @24, @"defWidth" : @64},
                                     @{ @"title" : @"Modification date", @"titleFontSize" : @12, @"headerHeight" : @24, @"defWidth" : @200},
                                     @{ @"title" : @"Creation date", @"titleFontSize" : @12, @"headerHeight" : @24, @"defWidth" : @200}
                          ]}
                          ]
                         ];
    return columns;
}

- (NSArray *)rowsForAppDirectory
{
    NSArray *dirs = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
    if(!dirs || dirs.count ==0)
        return nil;

    NSURL *rootUrl = [dirs lastObject];

    return [self rowsForDirectory:[rootUrl URLByDeletingLastPathComponent]];
}

- (NSArray *)rowsForDirectory:(NSURL *)rootUrl
{
    NSError *error = nil;
    NSArray *properties = @[
        NSURLLocalizedNameKey,
        NSURLCreationDateKey,
        NSURLContentModificationDateKey,
        NSURLIsSymbolicLinkKey,
        NSURLIsDirectoryKey,
        NSURLIsHiddenKey,
        NSURLFileSizeKey
    ];

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"HH:MM  dd-MMM-YYYY"];

    NSArray *array = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:rootUrl
                                                   includingPropertiesForKeys:properties
                                                                      options:0//(NSDirectoryEnumerationSkipsHiddenFiles)
                                                                        error:&error];
    NSMutableArray *rows = [[NSMutableArray alloc] initWithCapacity:array.count];
    for(NSURL * url in array)
    {
        NSString *localizedName = nil;
        [url getResourceValue:&localizedName forKey:NSURLLocalizedNameKey error:NULL];

        NSNumber *isPackage = nil;
        [url getResourceValue:&isPackage forKey:NSURLIsPackageKey error:NULL];

        NSNumber *isDirectory = nil;
        [url getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:NULL];

        NSNumber *isHidden = nil;
        [url getResourceValue:&isHidden forKey:NSURLIsHiddenKey error:NULL];

        NSNumber *isSymbolic = nil;
        [url getResourceValue:&isSymbolic forKey:NSURLIsSymbolicLinkKey error:NULL];

        TSCell *cellFilename = [TSCell cellWithValue:localizedName];
        cellFilename.textAlignment = NSTextAlignmentLeft;
        NSArray *subrows = @[];
        if([isDirectory boolValue])
        {
            subrows = [self rowsForDirectory:url];
            cellFilename.icon = [UIImage imageNamed:@"TableViewFolderIcon"];

        }
        else
        {
            cellFilename.icon = [UIImage imageNamed:@"TableViewFileIcon"];
            cellFilename.textColor = [UIColor colorWithRed:0.5 green:0.4 blue:0 alpha:1];
        }

        if([isHidden boolValue])
        {
            cellFilename.textColor = [UIColor colorWithRed:0.5 green:0.1 blue:0.1 alpha:1];
        }

        if([isPackage boolValue])
        {
            cellFilename.icon = [UIImage imageNamed:@"TableViewPackageIcon"];
        }

        NSNumber *fileSize = nil;
        [url getResourceValue:&fileSize forKey:NSURLFileSizeKey error:NULL];
        NSString *fileSizeStr = @"";
        if(fileSize)
            fileSizeStr = [NSString stringWithFormat:@"%.2f kb",[fileSize floatValue]/1024];

        NSDate *creationDate = nil;
        [url getResourceValue:&creationDate forKey:NSURLCreationDateKey error:NULL];

        NSDate *modificationDate = nil;
        [url getResourceValue:&modificationDate forKey:NSURLContentModificationDateKey error:NULL];

        TSRow *row = [TSRow rowWithDictionary:@{
                      @"cells" : @[
                              cellFilename,
                              @{@"value" : fileSizeStr},
                              @{@"value" : [dateFormatter stringFromDate:modificationDate]},
                              @{@"value" : [dateFormatter stringFromDate:creationDate]}

                      ],
                      @"subrows" : subrows
         }];
        [rows addObject:row];
    }
    return [NSArray arrayWithArray:rows];
}

- (TSRow *)rowForDummyFile
{
    TSRow *row = [TSRow rowWithDictionary:@{
                  @"cells" : @[
                  @{@"value" : @"New File"},
                  @{@"value" : @"-"},
                  @{@"value" : @"-"},
                  @{@"value" : @"-"}
                  ],
                }];
    return row;

}

@end


Article 50 Explained

Much of the Brexit debate has led to the majority of the public being aware of Article 50 of the Lisbon Treaty and its implication. However, Article 50 is more complex than simply meaning a member state would leave the EU, it carefully lays out the procedural framework in which Britain will leave the EU. The latest House of Lords European Union Committee publication entitled ‘The Process of Withdrawing from the European Union’. It stated that the only way of leaving the EU is through triggering Article 50. Many believed an alternative to Article 50 would have been to repeal the European Communities Act of 1972. Professor Derrik Wyatt QC, however stated that Article 50 is the only real option for Britain, as it is consistent with international law.[1] Article 50 – as is known by many – starts a two year process for negotiating a member states withdrawal. This is not only to provide a period of negotiations but also to allow ample time for a member state to overturn a decision to leave if required. From a legal perspective a member state can reverse a decision to withdraw from the EU at any point prior to the date the withdrawal agreement takes effect.[2] Thus even a change of government in theory could overturn a decision to leave. Though this is more difficult in the case of Brexit as the question was put to the public in the form of a referendum. Regarding the actual process in which negotiations will take place there are many stages prior to officially leaving the UK. Firstly upon triggering Article 50 Brexit would be discussed by the European Council, or the Council of Ministers. Britain would not be allowed to partake in any of these discussions and would be treated as a non-member state. After agreeing to guidelines for negotiations it will be up to the European Commission to negotiate a deal on behalf of the EU. The Council has the right to select a head negotiator if it wishes. Furthermore the Council can (and most likely will) create a special committee that will work with the Commission as negotiations happen. After this the Commission will draw up a draft withdrawal agreement that will then have to be approved by the European Parliament, and then finally approved by the Council.

In regards to voting different stages will require different forms of voting, Qualified Majority Voting (QMV) has traditionally allowed the Community to work the quickest, as seen from the period of 1986-92 as the Community quickly developed under Delors II Commission. Thus in the initial stage when the Council will be discussing guidelines for the EC to negotiate the decision will be reached by unanimity voting. After the Commission are finished negotiating the EP will have to give its consent through a majority vote. However, unlike other stages of the process British MEPs will be allowed to vote at this stage. Finally the Council conclude the withdrawing agreement through majority voting.

As is known the two year negotiating period can be extended, if it is agreed by all member states. The likelihood for this to occur is high. This is not only because this is the first time that a member state will withdraw from the Community, but it also has benefits for the Community. Namely a continuation of Britain’s net contribution to the Community which amounts to £8 billion, and access to UK workers, hence the likelihood of an extension is high.

From this is can be seen that Brexit will be an immense and arduous task. Also considering the way in which the stages of negotiations occur, and the way in which the EU have dealt with large negotiations in the past, it is an almost certainty that it will take well beyond the two year period.

[1] House of Lords, European Union Committee, 11th Report of Session 2015-16, The Process of Withdrawing from the European Union, 4th May 2016


US Navy: Mine in tanker attack bears Iran hallmarks US Navy expert: Limpet mine used in attack on Japanese-owned oil tanker bears 'striking resemblance' to Iranian mines

BAGHDAD -- The limpet mines used to attack a Japanese-owned oil tanker near the Strait of Hormuz last week bore "a striking resemblance" to similar mines seen in Iran, a U.S. Navy explosives expert said Wednesday, stopping short of directly blaming Tehran for the assault.

Iran has repeatedly denied being involved in the June 13 attack on the Japanese tanker Kokuka Courageous and the Norwegian-owned Front Altair.

The comments by Cmdr. Sean Kido came as sailors showed reporters pieces of debris and a magnet the Navy says was used to attach an unexploded mine to the hull of the Kokuka Courageous. U.S. authorities say the materials were left behind by Iran's Revolutionary Guard when they spirited away the unexploded mine after the attack in the Gulf of Oman.

Iran, which has previously used mines against oil tankers in the crucial waterway in the 1980s, has also not acknowledged retrieving the mine.

Kido stressed that the damage to the Kokuka Courageous was "not consistent with an external flying object hitting the ship," as the ship's owner has contended happened during the attack.

"The damage we observed is consistent with a limpet mine attack," Kido said.

Meanwhile, rockets struck near an oil-drilling site in Iraq's southern Basra province early Wednesday, including one that hit inside a compound housing energy giant Exxon Mobil and other foreign oil companies and wounding three local workers, one seriously, Iraqi officials said.

The attacks come against the backdrop of heightened tensions between the U.S. and Iran following President Donald Trump's decision to withdraw from Tehran's nuclear deal with world powers a year ago.

Iran recently has quadrupled its production of low-enriched uranium and threatened to boost its enrichment closer to weapons-grade levels, trying to pressure Europe for new terms to the 2015 deal.

In recent weeks, the U.S. has sped an aircraft carrier to the Mideast and deployed additional troops to the tens of thousands already in the region. Mysterious attacks also have targeted oil tankers as Iranian-allied Houthi rebels launched bomb-laden drones into Saudi Arabia.

All this has raised fears that a miscalculation or further rise in tensions could push the U.S. and Iran into an open conflict, some 40 years after Tehran's Islamic Revolution.

The U.S. Navy briefed foreign journalists Wednesday at a 5th Fleet base near Fujairah, an Emirati port city some 210 kilometers (130 miles) northeast of the capital, Abu Dhabi. They showed journalists debris recovered from the Kokuka Courageous after the attack, including aluminum and composite metals.

They also displayed a magnet — one of six apparently used to attach the unexploded limpet mine to the ship's hull. Sailors said it took two of them and a crowbar to pry it off the ship.

Limpet mines take their name from a mollusk that clings to rock and have been used by a variety of militaries. The mines can be attached by both magnets and nails. The Kokuka Courageous also bore nail holes near where Iranian forces took the unexploded mine, the sailors said.

They showed reporters a photo of a limpet mine on display in Iran, which they said resembled the one used on the ship. The 90-pound (42-kilogram) conical-shaped mine had a sign next to it saying it was produced by a research company affiliated with the Revolutionary Guard, a paramilitary group that answers only to Supreme Leader Ayatollah Ali Khamenei.

"The limpet mine that was used does bear a striking resemblance to that which has been publicly displayed in Iranian military parades," Kido said. "There are distinguishing features."

Iran's mission to the U.N. declined to comment, referring reporters to remarks by Iranian Defense Minister Gen. Amir Hatami, who said allegations that Tehran was behind the tanker attacks was "totally a lie" meant to tarnish Iran's image.

According to the semi-official Fars news agency, Hatami questioned the authenticity of a grainy video released by the U.S. following the attack that purports to show Revolutionary Guard forces removing the unexploded mine.

"The date and the location shown in the footage have not been authenticated," he said. The Americans "can show any footage ... but it cannot be used as evidence."

The mines were placed above the vessel's water line. One exploded, punching through the double-hulled ship and sparking a brief fire. The mines' placement makes it "appear that the intention was not to sink the vessel," Kido said.

Authorities also recovered a handprint and fingerprints, he said. "We recovered biometric information ... which can be used to build a criminal case to hold the individuals responsible accountable." He did not offer more details.

The second vessel targeted in the attack, the Norwegian-owned Front Altair, caught fire and sent billowing black smoke into the air that was visible from space by satellites. Kido did not explain why the U.S. had no immediate evidence from that vessel. Both are now anchored off the eastern coast of the United Arab Emirates.

He also declined to discuss an earlier May 12 attack on four oil tankers off the coast of Fujairah, near the U.S. base. The U.S. has also blamed that attack on Iranian limpet mines.

Meanwhile, in Iraq on Wednesday, a Katyusha rocket landed at dawn near the Zubair and Rumeila oil fields operated by the Iraqi Drilling company, near a compound where Exxon Mobil and other companies house their workers, security official Mahdi Raykan said. Forty Exxon Mobil staffers were evacuated, Iraqi security officials said.

Exxon Mobil, based in Irving, Texas, did not respond to a request for comment. In May, it evacuated staff from the West Qurna 1 oil field in Basra province.

Iraq has worried about getting caught between the U.S. and Iran amid the rising tensions. The country hosts more than 5,000 U.S. troops, and is home to powerful Iranian-backed militias, some of whom want those U.S. forces to leave.

No one claimed responsibility for Wednesday's attacks and Iraqi oil exports were unaffected.

———

Associated Press writers Qassem Abdul-Zahra in Baghdad and Amir Vahdat in Tehran, Iran, contributed to this report.


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

package com.example.android.xyztouristattractions.ui;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.support.wearable.activity.ConfirmationActivity;
import android.support.wearable.view.CardFrame;
import android.support.wearable.view.CardScrollView;
import android.support.wearable.view.GridPagerAdapter;
import android.support.wearable.view.GridViewPager;
import android.support.wearable.view.WatchViewStub;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.android.xyztouristattractions.R;
import com.example.android.xyztouristattractions.common.Attraction;
import com.example.android.xyztouristattractions.common.Constants;
import com.example.android.xyztouristattractions.service.UtilityService;

import java.util.ArrayList;

/**
 * This adapter backs the main GridViewPager component found in
 * {@link com.example.android.xyztouristattractions.ui.AttractionsActivity}.
 */
public class AttractionsGridPagerAdapter extends GridPagerAdapter
        implements GridViewPager.OnPageChangeListener {

    public static final int FADE_IN_TIME_MS = 250;
    public static final int FADE_OUT_TIME_MS = 500;
    private static final int GRID_COLUMN_COUNT = 5;
    private static final int FADE_OUT_DELAY_MS = 1500;
    private static final int PAGER_PRIMARY_IMAGE_COLUMN = 0;
    private static final int PAGER_SECONDARY_IMAGE_COLUMN = 1;
    private static final int PAGER_DESCRIPTION_COLUMN = 2;
    private static final int PAGER_NAVIGATE_ACTION_COLUMN = 3;
    private static final int PAGER_OPEN_ACTION_COLUMN = 4;

    private Context mContext;
    private LayoutInflater mLayoutInflater;
    private ArrayList<Attraction> mAttractions;
    private Rect mInsets = new Rect();
    private DelayedHide mDelayedHide = new DelayedHide();
    private OnChromeFadeListener mOnChromeFadeListener;

    public AttractionsGridPagerAdapter(
            Context context, ArrayList<Attraction> attractions) {
        super();
        mContext = context;
        mLayoutInflater = LayoutInflater.from(context);
        mAttractions = attractions;
    }

    public void setData(ArrayList<Attraction> attractions) {
        mAttractions = attractions;
    }

    public void setInsets(Rect insets) {
        mInsets = insets;
    }

    @Override
    public int getRowCount() {
        return (mAttractions != null && mAttractions.size() > 0) ? mAttractions.size() : 1;
    }

    @Override
    public int getColumnCount(int i) {
        return GRID_COLUMN_COUNT;
    }

    @Override
    protected Object instantiateItem(ViewGroup container, int row, final int column) {
        if (mAttractions != null && mAttractions.size() > 0) {
            final Attraction attraction = mAttractions.get(row);
            switch (column) {
                case PAGER_PRIMARY_IMAGE_COLUMN:
                case PAGER_SECONDARY_IMAGE_COLUMN:
                    // Two pages of full screen images, one with the attraction name
                    // and one with the distance to the attraction
                    final View view = mLayoutInflater.inflate(
                            R.layout.gridpager_fullscreen_image, container, false);
                    ImageView imageView = (ImageView) view.findViewById(R.id.imageView);
                    TextView textView = (TextView) view.findViewById(R.id.textView);
                    FrameLayout overlayTextLayout =
                            (FrameLayout) view.findViewById(R.id.overlaytext);

                    mDelayedHide.add(overlayTextLayout);
                    view.setOnClickListener(mDelayedHide);

                    FrameLayout.LayoutParams params =
                            (FrameLayout.LayoutParams) textView.getLayoutParams();
                    params.bottomMargin = params.bottomMargin + mInsets.bottom;
                    params.leftMargin = mInsets.left;
                    params.rightMargin = mInsets.right;
                    textView.setLayoutParams(params);

                    if (column == PAGER_PRIMARY_IMAGE_COLUMN) {
                        imageView.setImageBitmap(attraction.image);
                        textView.setText(attraction.name);
                    } else {
                        imageView.setImageBitmap(attraction.secondaryImage);
                        if (TextUtils.isEmpty(attraction.distance)) {
                            overlayTextLayout.setVisibility(View.GONE);
                        } else {
                            textView.setText(mContext.getString(
                                    R.string.map_caption, attraction.distance));
                        }
                    }
                    container.addView(view);
                    return view;
                case PAGER_DESCRIPTION_COLUMN:
                    // The description card page
                    CardScrollView cardScrollView = (CardScrollView) mLayoutInflater.inflate(
                            R.layout.gridpager_card, container, false);
                    TextView descTextView = (TextView) cardScrollView.findViewById(R.id.textView);
                    descTextView.setText(attraction.description);
                    cardScrollView.setCardGravity(Gravity.BOTTOM);
                    cardScrollView.setExpansionEnabled(true);
                    cardScrollView.setExpansionDirection(CardFrame.EXPAND_DOWN);
                    cardScrollView.setExpansionFactor(10);
                    container.addView(cardScrollView);
                    return cardScrollView;
                case PAGER_NAVIGATE_ACTION_COLUMN:
                    // The navigate action
                    final WatchViewStub navStub = (WatchViewStub) mLayoutInflater.inflate(
                            R.layout.gridpager_action, container, false);

                    navStub.setOnClickListener(getStartActionClickListener(
                            attraction, Constants.START_NAVIGATION_PATH,
                            ConfirmationActivity.SUCCESS_ANIMATION));

                    navStub.setOnLayoutInflatedListener(
                            new WatchViewStub.OnLayoutInflatedListener() {
                        @Override
                        public void onLayoutInflated(WatchViewStub watchViewStub) {
                            ImageView imageView = (ImageView) navStub.findViewById(R.id.imageView);
                            imageView.setImageResource(R.drawable.ic_full_directions_walking);
                            TextView textView = (TextView) navStub.findViewById(R.id.textView);
                            textView.setText(R.string.action_navigate);
                        }
                    });

                    container.addView(navStub);
                    return navStub;
                case PAGER_OPEN_ACTION_COLUMN:
                    // The "open on device" action
                    final WatchViewStub openStub = (WatchViewStub) mLayoutInflater.inflate(
                            R.layout.gridpager_action, container, false);

                    openStub.setOnClickListener(getStartActionClickListener(
                            attraction, Constants.START_ATTRACTION_PATH,
                            ConfirmationActivity.OPEN_ON_PHONE_ANIMATION));

                    openStub.setOnLayoutInflatedListener(
                            new WatchViewStub.OnLayoutInflatedListener() {
                        @Override
                        public void onLayoutInflated(WatchViewStub watchViewStub) {
                            ImageView imageView = (ImageView) openStub.findViewById(R.id.imageView);
                            imageView.setImageResource(R.drawable.ic_full_open_on_device);
                            TextView textView = (TextView) openStub.findViewById(R.id.textView);
                            textView.setText(R.string.action_open);
                        }
                    });

                    container.addView(openStub);
                    return openStub;
            }
        }
        return new View(mContext);
    }

    @Override
    public Drawable getBackgroundForPage(int row, int column) {
        if (column == 0) {
            return new ColorDrawable(0); // Empty black drawable
        }
        if (mAttractions.size() > 0 && mAttractions.get(row).image != null) {
            return new BitmapDrawable(mContext.getResources(), mAttractions.get(row).image);
        }
        return super.getBackgroundForPage(row, column);
    }

    @Override
    protected void destroyItem(ViewGroup viewGroup, int row, int column, Object object) {
        mDelayedHide.remove((View) object);
        viewGroup.removeView((View)object);
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    @Override
    public void onPageScrolled(int posX, int posY, float posOffsetX, float posOffsetY,
                               int posOffsetPixelsX, int posOffsetPixelsY) {}

    @Override
    public void onPageSelected(int row, int col) {}

    @Override
    public void onPageScrollStateChanged(int state) {
        mDelayedHide.show();
    }

    /**
     * Use the Wear Message API to execute an action. Clears local and remote notifications and
     * also runs a confirmation animation before finishing the Wear activity.
     *
     * @param attraction The attraction to start the action on
     * @param pathName The Wear Message API pathname
     * @param confirmAnimationType The confirmation animation type from ConfirmationActivity
     */
    private void startAction(Attraction attraction, String pathName, int confirmAnimationType) {
        Intent intent = new Intent(mContext, ConfirmationActivity.class);
        intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, confirmAnimationType);
        mContext.startActivity(intent);

        UtilityService.clearNotification(mContext);
        UtilityService.clearRemoteNotifications(mContext);
        UtilityService.startDeviceActivity(mContext, pathName, attraction.name, attraction.city);

        ((Activity)mContext).finish();
    }

    /**
     * Helper method to generate the OnClickListener for the attraction actions.
     */
    private View.OnClickListener getStartActionClickListener(final Attraction attraction,
            final String pathName, final int confirmAnimationType) {
        View.OnClickListener clickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startAction(attraction, pathName, confirmAnimationType);
            }
        };
        return clickListener;
    }

    public void setOnChromeFadeListener(OnChromeFadeListener listener) {
        mOnChromeFadeListener = listener;
    }

    public interface OnChromeFadeListener {
        abstract void onChromeFadeIn();
        abstract void onChromeFadeOut();
    }

    /**
     * Helper class to fade out views based on a delay and fade them back in if needed as well.
     */
    private class DelayedHide implements View.OnClickListener {

        ArrayList<View> hideViews = new ArrayList<View>(GRID_COLUMN_COUNT);
        Handler mHideHandler = new Handler();
        boolean mIsHidden = false;

        Runnable mHideRunnable = new Runnable() {
            @Override
            public void run() {
                hide();
            }
        };

        void add(View newView) {
            hideViews.add(newView);
            delayedHide();
        }

        void remove(View removeView) {
            hideViews.remove(removeView);
        }

        void show() {
            mIsHidden = false;
            if (mOnChromeFadeListener != null) {
                mOnChromeFadeListener.onChromeFadeIn();
            }
            for (View view : hideViews) {
                if (view != null) {
                    view.animate().alpha(1).setDuration(FADE_IN_TIME_MS).start();
                }
            }
            delayedHide();
        }

        void hide() {
            mIsHidden = true;
            mHideHandler.removeCallbacks(mHideRunnable);
            if (mOnChromeFadeListener != null) {
                mOnChromeFadeListener.onChromeFadeOut();
            }
            for (int i=0; i<hideViews.size(); i++) {
                if (hideViews.get(i) != null) {
                    hideViews.get(i).animate().alpha(0).setDuration(FADE_OUT_TIME_MS).start();
                }
            }
        }

        void delayedHide() {
            mHideHandler.removeCallbacks(mHideRunnable);
            mHideHandler.postDelayed(mHideRunnable, FADE_OUT_DELAY_MS);
        }

        @Override
        public void onClick(View v) {
            if (mIsHidden) {
                show();
            } else {
                hide();
            }
        }
    }
}


From NPR.com: On Friday, Rwandan lawmakers voted to abolish capital punishment. Once law, it could encourage the transfer of war crimes suspects to face trial back home in Rwanda.

The move comes as the international war crimes tribunal for Rwanda, sitting in neighboring Tanzania, nears the end of its mandate next year. As many as 800,000 Tutsis and Hutu moderates were massacred during Rwanda's 100-day genocide in 1994. The tribunal — which has been hearing most of the high-profile genocide cases, but has a huge backlog — is beginning to wrap up business.

The Rwandan government has been frustrated at the slow pace of genocide trial proceedings in Tanzania. But the existence of the death penalty on the statute books has been a major concern for the International Criminal Court for Rwanda, as well as for countries holding genocide suspects or fugitives, believed to be at large in North America, Europe and West Africa.

The decision by the Rwandan parliament to scrap capital punishment would also mean that death sentences on 800 death row suspects within the country would be automatically commuted to live imprisonment. Listen. . . [Mark Godsey]


How to change background image for SAP Fiori Launchpad Logon Page

Hello everyone, in this blog you will learn how to change the background image for SAP Fiori Launchpad logon page. SAP Fiori Launchpad comes with a standard background image, in this blog we are going to change the image to a new image as per your client requirement. Lets get started.

Step-by-Step Procedure

1. When you logon to the SAP Fiori Launchpad, you will see standard background image for SAP Fiori Launchpad login page.


1 = x. Suppose -c = -0*m - 2*m + 18, -l*m + 4*c = -32. Solve -u + 6 = 5*a - 7, 4*a = -u + m for a.
3
Suppose -i = -8 + 8. Suppose 5*o + t + 2*t = 35, -2 = -3*o + 2*t. Solve 5*p - 5*r - 25 = i, r = o*p - 2*p - 10 for p.
5
Let z = -583 - -586. Solve 4*l - 4*w = -36, -z*l + w = 24 - 7 for l.
-4
Suppose 9 = 3*m + b, -4*b + 4 - 13 = -3*m. Suppose 7*k - 80 = m*k. Suppose -4*i = -4*c + 16, -5*i = -5*c - i + k. Solve -r + c*t + 8 = 4*r, r + 4*t = -8 for r.
0
Let f be -2 + ((-2)/(-8))/((-13)/(-208)). Let x = -5 + 8. Solve -18 = -3*z - 3*t, -f*z = -3*z + x*t + 2 for z.
5
Suppose -2*t - 16 = -6*t + 5*s, 4*t + 3*s = 16. Solve -2*q - 3*f = -t*q, 2*q = -f - 8 for q.
-3
Let a be 5/(-25) - 22/(-10) - 0. Solve -2 = -m - 4*d, d = -m - d + a for m.
2
Suppose 4*x - 54 = -2*x. Suppose -t = -5*u - 24, x = -5*u - 11. Solve -h - t*h = -3*v, -5*h + 2*v = 0 for h.
0
Let k = -35 + 39. Suppose k*q = 2*q + 8. Solve 7*u = -3*l + q*u, l + 4 = 3*u for l.
-1
Let x(m) = m**2 - m + 14. Let t be x(-6). Let u = t + -56. Solve 2*s + 2*j = u, -3*s + 3*j = j for s.
0
Let f = -175 - -180. Solve -8 = 2*w - 4*a, -5*a = f*w - 26 - 14 for w.
4
Let k(r) = -r**2 + 9*r - 14. Let i be k(7). Solve p + i*p + 3 = -5*m, -10 = -5*p for m.
-1
Let a(z) = 3*z**2 + 5 + 0*z**2 + 1 - 4*z**2 - 4*z. Let h be a(-4). Solve -16 = 5*s - 2*b, -6*b + 2*b + h = 3*s for s.
-2
Let u = 7 - 4. Solve -r + 4 = -h, 2*r + u*h + 12 = h for r.
-1
Let b(n) = -n**2 + 6*n + 6. Let y be b(6). Suppose 6 = -5*v + 46. Suppose p = -2*d + y*d - v, -3*p + 4*d = 0. Solve 4*u = 2*u - 3*l - 7, -p*l = 4*u + 12 for u.
-2
Let a(y) = y**2 - 12*y + 18. Let l be a(11). Let d be -2 - 15/(-4) - l/(-28). Solve -3*u + 2*n - 2 = -d*u, 0 = -5*u + n - 19 for u.
-4
Let o = 405 + -405. Solve -3 = -3*w + 3*z + 9, 3*z + 9 = o for w.
1
Suppose -6*q + 43 - 31 = 0. Solve -5*p - 13 = -q*p + 5*s, 1 = p - s for p.
-1
Let z be 42/567 - (-212)/54. Solve 6*w - 3*w + f = 16, 5*w - z*f - 4 = 0 for w.
4
Suppose 30 + 10 = 8*z. Solve -z*x + 19 = 3*d, -4 = -2*x - 3*x + 2*d for x.
2
Let d = 4 - 3. Suppose -2*u - 2*u = 2*u. Solve -j = -3*j - 3*t - 5, u = t + d for j.
-1
Let f = 672 - 668. Solve 4*p - 5*p = -3, -3*v + f*p - 6 = 0 for v.
2
Suppose 0 = -3*f + 6*f. Suppose f = -3*h - h + 12. Suppose 5*z - 5*m - 30 = 0, -4*z - m - 2 = -h*z. Solve z*d - 15 = -3*d + 5*u, -3*d + 23 = 4*u for d.
5
Suppose -6*u + 5*y + 21 = -3*u, y - 1 = -2*u. Solve u*h - 2 = -2*o, 0 = 2*o - 0*o + 3*h - 3 for o.
0
Let u = 73 + -72. Suppose 5*g + p = -0*p + 21, 3*g + u = -4*p. Solve -6*z + f - 14 = -2*z, 5*f - 10 = g*z for z.
-4
Suppose 1355 - 1305 = 2*z. Solve v - z = -5*g, -v - g + 5 = -4*v for v.
0
Suppose 2*s - 30 = 5*s. Let k = 6 + s. Let o be (-2)/((-6)/k + -2). Solve 16 = -3*x - o*i, 4*i = 2*x - 10 - 6 for x.
0
Let c be (-4 + 2)*-1 - 7. Let b = 6 + c. Let v be (-3 + -3 + b)*-1. Solve 4*q - 2*j + v*j = 18, -3*q + 2*j + 5 = 0 for q.
3
Suppose -g - 29*g = -120. Solve 0*y + s - g = 3*y, y + 5*s + 28 = 0 for y.
-3
Let v(u) = -5*u**2 - 129*u + 38. Let m be v(-26). Solve 3*k - 6*k - m = 0, 5*b = -3*k - 22 for b.
-2
Suppose -97 = 6*s - 145. Solve 2*w = s, q - 5*w = -4*q - 30 for q.
-2
Let f(c) = -c**2 - 12*c + 16. Let d be f(-13). Suppose 3*u + 33 = 39. Suppose 4*i + 0 = 20. Solve -d*a = -u*a + q, i*q = a - 24 for a.
4
Let o be 2/(-5) - 20/(-50). Solve o*s + 3*n = 5*s, -2*s = -5*n + 19 for s.
3
Let i be (-154)/(-7)*(3*-2)/3. Let z = i + 48. Solve 0 = z*s - 5 + 1, u = 2*s + 2 for u.
4
Let c(f) = f**3 - 5*f**2 - 11*f - 10. Let v be c(7). Suppose 31 = 5*l + v. Solve 4*s + 3 = g - 8, 0 = -2*g - l*s - 14 for g.
-1
Let p = 57 - 53. Solve 4*t = -s + 7, -p*t - 10 = 4*s - 2 for t.
3
Let q(k) = -k**3 + 10*k**2 - 7*k - 15. Let i be 3 + 24/(-4) - -12. Let r be q(i). Solve 3*c - r*o - 21 = 8*c, -3*o = 6 for c.
-3
Let p = -372 + 375. Let r = 6 - 3. Solve -4*m = p*o - m, 0 = 5*o - r*m - 32 for o.
4
Suppose 0 = -96*c + 102*c - 24. Solve -3*p = 4*r + 2*p + 21, c*r + 3*p = -11 for r.
1
Let c be (-102)/5 + (26/(-10) - -3). Let o = c - -20. Let j = -4 - -6. Solve -6*x + x - 16 = j*t, t - x - 6 = o for t.
2
Let g(u) = -2*u**2 + 32*u + 4. Let c be g(16). Suppose c*v - 10*v = -6. Solve 5*o + v = 2*f, 8 = -4*f - 0*f for o.
-1
Let f(u) = u**2 - 5*u + 2. Let i be f(5). Let l = 13 - -13. Let p be (29 - l)/(1/(0 + 1)). Solve c + i*y = 3, p*c = 5*c + 2*y for c.
-3
Suppose 0 = 81*j - 168*j + 348. Solve -12*h + 13*h = -j, 1 = 3*r - 4*h for r.
-5
Let i = 10 - -5. Let z = 26 + -7. Let h = -9 + z. Solve -5*f = g + g - i, -5*f - g = -h for f.
1
Suppose -8*n = 6 - 22. Suppose -2*u = -2 - 6. Solve u*l - 12 = l + s, 0 = -2*l + n*s + 8 for l.
4
Let f(b) = b**3 + 3. Let x be f(0). Let i = 379 + -379. Solve i*m = 5*m + 2*q - 9, -2*m - x*q + 8 = 0 for m.
1
Let n be -5 + (-51)/(-9) + (-4)/6. Suppose -5*q + 16 + 4 = n. Solve -j + 2*u = 4, -q*u + 7*u = 0 for j.
-4
Let b(c) = -8*c - 13. Let y(s) = 7*s + 12. Let z(g) = 6*b(g) + 7*y(g). Let i be z(-6). Suppose i = -j + 3*j. Solve 19 = 2*d - 5*t, 3*d = -j*t + t + 9 for d.
2
Suppose -27*n + 65 = -14*n. Solve 14 + 0 = -n*j + 2*r, 5*j + 4*r = -32 for j.
-4
Let u = -12 + 2. Let n be (-20)/(-6)*(-15)/u. Solve n*i - 3*a = 5 - 23, -i = 2*a + 1 for i.
-3
Let d be (-10)/(-4) - 1/2. Solve -4*v - 7*q = -2*q - 17, 4*q = d*v + 24 for v.
-2
Let v(w) = w**3 - 6*w**2 + 2. Let a be v(6). Solve 4 = -s + 2*s + a*p, 5*p = 15 for s.
-2
Let j be 1333/215 - 1/5. Solve 3*n = -j*h + h + 17, 2*h - 4 = -4*n for n.
-1
Let z(p) = p**3 + 8*p**2 + 6*p + 7. Let k be z(-7). Suppose -5*s - 3*v - 2*v = 15, -2*v - k = -2*s. Solve -3*g + 4*x - 5 = 0, 2*g - 2 = -s*x + 18 for g.
5
Let h = -580 - -602. Solve -4*k + 24 = -4*o, -4*o + 0*k - h = -2*k for o.
-5
Let z = 27 + -24. Suppose -z*i = i - 8. Solve i*p - 1 + 3 = 2*x, x = 5 for p.
4
Suppose w - 4*q = 100 - 105, -4*w + 3*q + 6 = 0. Let j be ((-1)/2)/(1/(-8)). Solve -w*d = 5 + j, 5*c - 4*d - 2 = 0 for c.
-2
Let h(z) = -2*z**2 - 46*z - 25. Let c be h(-22). Solve -1 = 3*v + 5*x, 2*x = 4*v + v - c for v.
3
Let v(m) = 3*m**3 - 22*m**2 + 7*m. Let j be v(7). Solve -3 = -4*w - 3*f + 2, f - 3 = j for w.
-1
Let h = -37 - -39. Suppose 4*a - l - 20 = -a, -h*a - 4*l + 8 = 0. Let k be (16/2)/(-2)*-1. Solve -k*t + 13 = y, 0 = 3*t + t - a*y - 8 for t.
3
Suppose 3*o = -9*t + 4*t + 32, -2*t - 12 = -5*o. Solve 3*a - 10 = -2*a + 5*i, 0 = t*i + 16 for a.
-2
Let j(z) = 19*z**3 + 3*z**2 - z - 1. Let u be j(1). Solve 5*n + 5*k = u, n = 3*n - 5*k + 27 for n.
-1
Let t be 0 + 13/((-78)/(-24)). Solve -5*l + 28 - 2 = 3*k, -2*l - t*k + 16 = 0 for l.
4
Let m = 1461 - 1453. Solve -6*z - y - m = -7*z, -y + 4 = 3*z for z.
3
Let l be 16/4 + 5*-2. Let r(t) be the first derivative of -t**2 - 6*t + 3. Let h be r(l). Solve -2*x = -2*p + h, 2*x + 3*p + 7 = -3*x for x.
-2
Let u be (216/(-81))/((-4)/6*1). Solve -2*m - 3*m + u*y - 22 = 0, -2*m - y = 1 for m.
-2
Suppose y - 10 = -2*u, -5*u + 34 = 5*y + 9. Solve -3*h + 9 = y, -3*h - 8 = 4*g + h for g.
-5
Suppose 96 = 4*b + 2*b. Suppose -b*m + 15*m + 5 = 0. Solve 5*g - m*r - 35 = 0, 6*g + 2*r - 6 = 4*g for g.
5
Suppose 757 - 739 = 6*q. Solve -q*h = 4*d + 11, 5*h = -5*d + 3 - 23 for d.
1
Let t be 2*(-1)/2*-3. Suppose -t*r = -12, 0 = -l + 5*l + 4*r - 112. Solve 4*n - 4 = 2*n + 3*x, 0 = -2*n - 4*x - l for n.
-4
Let x be -1*(-202)/(-2) + 3 + 0. Let k be x/441 - (-1 - (-40)/(-18)). Solve -3*d + 3*m - 9 = 0, -2*m = -8*d + k*d - 21 for d.
-5
Let y(q) = -q**2 - 8*q + 2. Let r be y(-8). Let x be (-1 + r + -1)*-1. Suppose w + 8 = -x*z + 2*z, z - w = 3. Solve 12 = -3*t + 2*o, z*t = 2*o - 15 - 5 for t.
-4
Suppose 2*u - n - 71 = 0, n + 4*n = 5*u - 185. Suppose -18*o + 243 - 9 = 0. Let g = u - o. Solve 2*q - 1 - 5 = 0, -g = -5*v - 2*q for v.
3
Suppose -2*a = -c - 12, 3*c + a - 24 = 8*c. Let y(x) = -x**3 - 2*x**2 + 7*x - 2. Let s be y(c). Solve 5 = w + s*v, 0 = 2*w - 3*v - 1 + 12 for w.
-1
Let d = 29 - 29. Suppose d = -4*y + 6*y - 6. Solve -8 = -4*o + 4*i, -2*o + y*i - 1 = -5 for o.
2
Let c(x) = -x**2 - 4*x + 10. Let v be c(-4). Let a = 10 - 7. Suppose a*i + 3*b = 5*i + 7, v = 4*i + 2*b. Solve 4*j + 3*w + i = 15, -j + 5*w = 8 for j.
2
Let u be -3 + 1 + 4/1. Solve 3*d + 6 = 3*j - 0, -d + 5*j = -u for d.
-3
Let j(l) = 9*l - 3. Suppose -3*n = 4*x - 7, 5*x + 0*n = 3*n + 2. Let y be j(x). Solve -5*o + 10 = 5*m - 2*m, -5*m + y = 3*o for o.
2
Let q(o) = o**3 + 12*o**2 + 21*o + 13. Let g be q(


Quick links

Follow us on

Doctor Who wins Christmas Day Twitter battle

Matt Smith's farewell trebled the amount of Twitter traffic seen by last year's Christmas special and beat the most watched programme of the day, Mrs Brown’s Boys, reports social media TV analyst Kay Dekker

Comments

Written By

Kay Dekker

8:06 PM, 26 December 2013

Comparing last year’s Christmas Special to this year’s, Doctor Who has come a long way. Only securing 64,049 tweets, 2012's The Snowmen ranked second on last year’s Christmas leaderboard, a long way behind EastEnders' considerable total of 224,074 tweets. The peak minute of The Snowmen came in the opening moments of last year’s episode as 1,969 tweets were sent in anticipation. Fast forward a year and how things have changed for the Doctor.

A total of 183,550 tweets were generated during The Time of The Doctor’s airing, nearly triple last year’s total. The opening moments saw a peak of 4,853 tweets per minute, but the highest peak was unsurprisingly following The Doctor’s regeneration. 7,829 tweets were sent in the minute after the episode finished as people turned to their second screens to give their opinion of the show and new Doctor Peter Capaldi.

Beating the likes of Love Actually, EastEnders and the most watched programme of the day, Mrs Brown’s Boys, Doctor Who topped social media analysts SecondSync’s daily leaderboard, generating almost 40,000 more tweets than any other show from Christmas Day. It’s also interesting to note that The Time of the Doctor generated 65,000 tweets more than the Christmas episode of EastEnders, nearly exactly the total that Doctor Who generated in its Christmas episode last year.

As with the 50th anniversary episode, the most retweeted post from this year's Christmas special came once again from the official Doctor Who account. @bbcdoctorwho saw their tweet “A Message from Matt Smith…” RTed 6,693 times during the transmission.

Being Matt Smith’s final Doctor Who appearance, there was quite a lot of chatter around the departing Doctor. In total, Smith was mentioned in 48,912 tweets out of the total 183,550 with the hashtag #GoodbyeMattSmith used 7,993 times. The love doesn’t quite yet seem to be there for Peter Capaldi however. Mentioned in 18,844 tweets, the hashtag #WelcomePeterCapaldi only saw 1,116 uses.

The Time of The Doctor is the second most tweeted about Doctor Who episode that we have on record, beaten only by 50th anniversary episode The Day of The Doctor – and the two episodes are the only ones to pass 100k tweets. With the new series scheduled to air in the autumn of 2014 it’s likely we’ll be seeing more episodes pass this mark in the future. For now, though, it seems that Christmas really is the Time of the Doctor.


"If Iran goes nuclear it will have negative dimensions for the world, for the region, for the freedom of action Iran will permit itself," Chief of Staff Lt. Gen. Benny Gantz told Haaretz in an Independence Day interview.

That freedom of action might be expressed "against us, via the force Iran will project toward its clients: Hezbollah in Lebanon, Islamic Jihad in Gaza. And there's also the potential for an existential threat. If they have a bomb, we are the only country in the world that someone calls for its destruction and also builds devices with which to bomb us. But despair not. We are a temperate state. The State of Israel is the strongest in the region and will remain so. Decisions can and must be made carefully, out of historic responsibility but without hysteria," Gantz said.

Open gallery view Chief of Staff Lt. Gen. Benny Gantz at the Memorial Day opening ceremony held at Jerusalem's Western Wall, April 25, 2012. Credit: Michal Fattal

Both 2012 and 2013 are seen as critical with regard to Iran's nuclear program. At his rare public appearances Gantz has taken a cautious approach to the issue - mentioning the military option, whose development and preparation he oversees, while leaving the door open to international negotiations with Iran. His language is far from the dramatic rhetoric of Prime Minister Benjamin Netanyahu, and is usually free of the Holocaust comparisons of which Israeli politicians are so fond.

Asked whether 2012 is also decisive for Iran, Gantz shies from the term. "Clearly, the more the Iranians progress the worse the situation is. This is a critical year, but not necessarily 'go, no-go.' The problem doesn't necessarily stop on December 31, 2012. We're in a period when something must happen: Either Iran takes its nuclear program to a civilian footing only or the world, perhaps we too, will have to do something. We're closer to the end of the discussions than the middle."

Gantz says the international pressure on Iran, in the form of diplomatic and economic sanctions, is beginning to bear fruit. "I also expect that someone is building operational tools of some sort, just in case. The military option is the last chronologically but the first in terms of its credibility. If it's not credible it has no meaning. We are preparing for it in a credible manner. That's my job, as a military man."

For the latest updates visit Haaretz.com on Facebook and Tumblr

Iran, Gantz says, "is going step by step to the place where it will be able to decide whether to manufacture a nuclear bomb. It hasn't yet decided whether to go the extra mile."

As long as its facilities are not bomb-proof, "the program is too vulnerable, in Iran's view. If the supreme religious leader Ayatollah Ali Khamenei wants, he will advance it to the acquisition of a nuclear bomb, but the decision must first be taken. It will happen if Khamenei judges that he is invulnerable to a response. I believe he would be making an enormous mistake, and I don't think he will want to go the extra mile. I think the Iranian leadership is composed of very rational people. But I agree that such a capability, in the hands of Islamic fundamentalists who at particular moments could make different calculations, is dangerous."

Register now for Haaretz's new iPad app

About three months ago Gantz's U.S. counterpart, Chairman of the Joint Chiefs of Staff Gen. Martin E. Dempsey, visited Israel as his guest. "We speak a great deal with the Americans. It's not on the level of a discussion, where I want something concrete and he forbids it. We are partners. We and the United States have a large common alignment of interests and relations, but America looks at America and Israel [looks at] Israel. We aren't two oceans away from the problem - we live here with our civilians, our women and our children, so we interpret the extent of the urgency differently. America says its piece openly, and what it says in the media is also said behind closed doors. It cannot be translated into lights, red or green, because no one is asking them anything in that regard."

Critical decisions

Gantz knows that in the event of another war he will face time pressures as a result of enemy operations against the home front. The IDF will have to bring massive force to bear from the outset, employing most of the means at its disposal quickly and without hesitation or delay.

Ground operations, long-distance fire and in-depth operations as well?

"I don't pretend to determine that now. I am preparing for full deployment of our capabilities. The political leadership will have to take courageous, painful decisions. There are a certain number of critical decisions in a war. The chief of staff makes about 10 of these in his sphere of responsibility in wartime, and the political leadership makes about half this number."

These decisions, Gantz knows, will be made under a barrage of rockets and missiles against civilian areas.

In light of the Arab Spring, Israel's military preparedness must now include a much greater and more varied range of arenas and possibilities.

"I don't know what will happen in Syria, but presumably the Golan Heights won't be as quiet as before. I cannot remove Syria from the military equation, nor Lebanon. I assume that if there are terror threats from the Golan or Lebanon I'll have to take action. I cannot do everything by 'stand-off' [remote]. The enemy's fire capabilities have developed at every distance, four or five times what they were in the Second Lebanon War and four or five times compared to the Gaza Strip before Operation Cast Lead, not to mention the new ground-to-air missile in Syria. I go to sleep with the understanding that what we did in the recent long and comprehensive exercises could happen in reality."

More on Haaretz.com:

Newly released documents shed light on fateful exchange in the wake of the Yom Kippur War

Ultra-Orthodox and the IDF: A crisis with no solution?

Navigating Hebrew news will now be a little harder for novices

The IDF is also being used as a battlefield for the cultural and political wars of outside forces. The latest skirmish followed Gantz's dismissal of Lt. Col. Shaul Eisner, deputy commander of the IDF's Jordan Valley brigade, for hitting a left-wing activist from Denmark in the face with a rifle. Gantz terms the political interference in the affair a disaster.

"I don't see anyone benefiting from this story. I made my decision, and it's behind me. I don't understand what the right is defending, what the left is attacking. Who turned it into a political matter? Do you have to be a religious right-winger with a kippah in order to be resolute? Do you have to be a leftist in order to be principled? Where did that idiocy come from? Eisner made a professional error and a specific ethical mistake."

The interview with Gantz took place right after additional videos of the incident were made public, showing Eisner hitting additional left-wing activists.

"I didn't like even the first blow I saw. I will not cover for people so that others will say I backed them up. The lieutenant colonel erred and failed, and it's done and dusted. We are an army that uses force, not violence."

Measured, thoughtful and practical

With regard to another delicate issue, Gantz says he believes the IDF could draft more ultra-Orthodox men if an alternative to the Tal Law, recently overturned by the High Court of Justice, can be found.

"It's for the politicians to decide. What I'm looking for is equality in service," he says.

The end of his predecessor's assignment was tarnished by the so-called Harpaz affair, in which Lt. Col. Boaz Harpaz allegedly forged a document in a bid to keep Yoav Galant from being appointed chief of staff. Gantz received the draft report of the State Comptroller's Office on the affair last month. When the final version is issued Gantz will face career decisions about several figures connected to the affair, including Col. Erez Weiner, aide to former Chief of Staff Gabi Ashkenazi.

Gantz believes it is important that the final version be issued before State Comptroller Micha Lindenstrauss ends his term, at the beginning of July.

"At every opportunity I say to the comptroller, please, go to it."

As in our previous conversations, now too Gantz comes across as a measured, thoughtful and practical person. Only a few dozen steps separate him from his previous office, that of the deputy chief of staff, but the distance between them is unfathomable.

"I enjoy being here but also feel the gravity of the responsibility. I always said my favorite position was company commander in the Paratroop Brigade. As a company commander you have absolute definitions: the mission, the people. The rest we can manage. Here, I can't pass on the responsibility to anyone else. The buck really does stop here. That's why I say that occasionally I doze off but I never really sleep."

Read this article in Hebrew


Q:

VisualStudio using BootCamp/VMWare on OS X

Just bought a 2.4GHz Intel Core 2 Duo iMac with 2GB of memory and a 320GB hard drive. I plan on doing some .net development on it using a BootCamp/VMWare combo since VMWare grants access to the bootcamp partition.
What is a recommended size for a BootCamp partition and how much memory should I give VMWare? Any pitfalls to watch out for? What is your current configuration?

A:

I use VMWare Fusion 2.0 on my MacBook Pro and I wouldn't have it any other way.
I'd strongly recommend getting a min of 4gb RAM is you're going to run Windows + VS 2008 in virtualisation.
I have a 2gb RAM for my VM and you do notice a bit of chugging, particularly when you are compiling a large solution, or when running lots of apps at once.
I strongly recommend VMWare over Parallels as VMWare supports 2 virtual CPU's (I think it's up to 4 virtual CPU's in v2).
I'd recommend around a 30gb disk for your VM and I don't recommend BootCamp unless you want to play games on it.
Why? It's a lot easier to have a really large virtual disk which is not using it all where as BootCamp will take the space. Also a complete virtual disk is easier to backup/ snapshot/ restore.


Osteoarticular Mycobacterium tuberculosis.
Osteoarticular mycobacterium tuberculosis (TB) can present as a subtle insidious infection. Symptoms vary with bone TB. Osteoarticular TB generally responds to proper antimicrobial therapy, affording sufficient treatment and arrest of the disease process. Epidemiology, pathogenesis, treatment, and a case review are presented in this article.


Severe and fatal central nervous system disease in humans caused by Baylisascaris procyonis, the common roundworm of raccoons: a review of current literature.
Baylisascaris procyonis, a parasitic infection of raccoons, causes severe neurologic disease in humans when infective eggs from raccoon feces are ingested. Definitive diagnosis is challenging, but can be made by isolation of larvae in brain biopsy or exclusion of other potential causes of eosinophilic meningoencephalitis. Prevention efforts are critical due to the lack of effective treatment.


t common divisor of g and 6.
6
Let c be 1 + (-5 - -8)/(9/39). Let f(w) = 3*w**2 + 2*w + 2. Let i be f(-1). Suppose -14 = -i*y + 322. Calculate the greatest common factor of c and y.
14
Let r be (-3)/2*16800/(-180). What is the greatest common divisor of r and 4732?
28
Suppose -z + 0 = -4. Let m(t) be the second derivative of 4*t**3/3 - 8*t**2 - 485*t + 1. Let n be m(z). What is the greatest common divisor of 8 and n?
8
Suppose 4*a - 4 = g, 5*a = 2*g + 2*a + 33. Let t be 2/(0 - (-1)/(-21)). Let p = g - t. What is the highest common factor of p and 18?
18
Suppose 2*y - 47 = -5*c, 23 = c + 4*y - 7*y. Let f(g) = 57*g - 57. Let a be f(c). Calculate the greatest common divisor of 30 and a.
30
Suppose 5*i = -86 + 96. Suppose -28 = -2*w + i*r - 6, 0 = 4*w + 3*r - 9. Calculate the highest common factor of w and 150.
6
Let w = -343 + 340. Let b(q) = -q**2 - 10*q + 10. Let v be b(w). What is the highest common factor of v and 155?
31
Let l(a) = 7*a + 1. Let z be 2/8 - 1/4*1. Suppose -5*y + 2 = -m - z*y, -5*m - 3*y + 18 = 0. Let v be l(m). What is the highest common divisor of 242 and v?
22
Suppose 7*k + 82 = 418. Suppose t - 1 - k = 0. Calculate the highest common divisor of 7 and t.
7
Let t = -1999 + 1084. Let n be 22/44 + t/(-6). Calculate the highest common divisor of n and 6.
3
Suppose -73*d - 35 = -77*d - h, 15 = 5*h. What is the greatest common factor of d and 548?
4
Suppose -195*a + 203*a - 7776 = 0. Suppose -a + 262 = -10*h. What is the greatest common divisor of 1136 and h?
71
Let y be (-1 + 114 + 4)*1. Suppose -11*w + 46 = -53. What is the highest common divisor of y and w?
9
Let a(p) = 23*p - 18*p**2 - 36*p**3 + 87*p**3 - 17 - 50*p**3. Let g = 15 + 2. Let d be a(g). What is the highest common divisor of d and 34?
17
Let c be 3/3 - (-2 - -2). Let w = 9 - c. Suppose 5*i - 10*i + 51 = -3*m, -m + 3 = 0. What is the highest common divisor of i and w?
4
Suppose 4*f - 5*u = 75, -5*u + 15 = 3*f - f. Let t = 18548 - 18508. What is the greatest common factor of t and f?
5
Let g(b) = -b + 4. Let p = 16 - 3. Suppose 2*z + 0*w = -5*w - 5, 2*z + p = 3*w. Let s be g(z). What is the highest common divisor of 99 and s?
9
Suppose 0*u - 2703 = -4*u + 5*t, 0 = u - t - 677. Suppose -17944*i + 181 = 4*g - 17945*i, -103 = -2*g + 3*i. What is the highest common factor of u and g?
22
Let h(s) = s**3 - 10*s**2 + 2*s - 27. Let n be h(6). Let p = -15 - n. What is the greatest common factor of 9 and p?
9
Let j be (((-6)/(-14))/(3/(-8)))/((-1901)/53228). What is the highest common factor of j and 6752?
32
Suppose 5*z - 315 = -2*b, -4*z + 3*z + 86 = 5*b. Let l = 88 - z. Let w = 106478 - 106262. Calculate the greatest common divisor of l and w.
27
Let h(c) = 6*c**2 + 3*c. Let i be h(-2). Let u(l) = -155*l - 5025. Let n be u(-33). What is the greatest common factor of i and n?
18
Suppose 113 = -20*m + 13. Let a be (m/10)/(-1) + 53/2. What is the highest common factor of a and 81?
27
Suppose -5*a = 3*a - 28804 - 1316. Calculate the greatest common factor of a and 75.
15
Let g(f) = -124*f + 4839. Let z be g(39). Let k(w) = -w**2 + 7*w - 4. Let i be k(5). What is the greatest common factor of i and z?
3
Let w(i) = -i**3 + 56*i**2 + 58*i - 55. Let c be w(57). Calculate the highest common divisor of c and 98.
2
Suppose 37265 = -15*t + 116030. Calculate the greatest common factor of t and 354.
59
Suppose 12 = 3*t, -7*r + 2*t = -4*r - 298. What is the greatest common factor of r and 187?
17
Suppose 2*p + 5*u = 719, 4*u + 1044 = 10*p - 7*p. What is the greatest common factor of 128 and p?
32
Let r = -4217 + 4220. Calculate the highest common factor of 699 and r.
3
Let s be -19 + 17 - (6 + -248). Calculate the greatest common factor of s and 3280.
80
Suppose -5*v + 4*s = -46367, 5247*v = 5246*v + s + 9273. Calculate the greatest common factor of 14 and v.
7
Suppose 2*n = -1 - 3. Let d(b) = 12*b + 31. Let v(w) = 3*w + 8. Let z(a) = n*d(a) + 9*v(a). Let p be z(0). What is the greatest common factor of p and 5?
5
Let a = -61 + 68. Suppose -a = 4*m - 7. Suppose m = 55*f - 52*f - 99. Calculate the greatest common factor of 6 and f.
3
Let c be 71/((-12)/(-13 - -1)). What is the highest common divisor of 923 and c?
71
Let m(t) = 136*t + 3. Let d be m(6). Suppose -3*g = -l + 88, l + g - 3*g - 89 = 0. Calculate the highest common divisor of d and l.
91
Let j = -145 + 229. Let c = 94 - j. Calculate the highest common factor of 55 and c.
5
Suppose 0*j + 3*o - 291 = -4*j, j = -4*o + 89. Let g = 10 + -64. Let v = g + j. Calculate the greatest common factor of v and 165.
15
Let l = 2 - -9. Suppose 0 = 5*c - 106 - 59. What is the highest common factor of l and c?
11
Let n(d) = 10 + 0 - 8*d - 3*d**3 + 10*d**2 + 2*d**3 + 5. Let b be n(6). What is the highest common divisor of 37 and b?
37
Let p(o) = -o + 60. Let x be 2 + -4 + (20 - -1). Let q be p(x). Let w = 90 - -156. Calculate the highest common divisor of w and q.
41
Let r(p) = -97*p**3 + 48*p**2 + 154*p - 9. Let w be r(-3). Calculate the highest common divisor of 1075 and w.
215
Suppose 4*f = -y + 3*y + 282, 5*f + y = 335. Let r = 4863 + -4812. Calculate the greatest common factor of r and f.
17
Let n(h) be the third derivative of h**4/4 + 15*h**3 + 3*h**2 + 2*h. Let t be n(6). Let a = -29 + 36. What is the highest common factor of t and a?
7
Let x(f) = -5*f**2 + 26 - 2*f + 3*f**2 + 0*f. Let j be 6 + (44/(-4) - -5). Let r be x(j). What is the greatest common divisor of 52 and r?
26
Let f(z) = 8*z**2 - 11*z + 100. Let a be f(7). Let p = -381 + a. Let o(u) = 15*u - 5. Let m be o(6). What is the highest common factor of m and p?
17
Let r(q) = 55*q - 370. Let s(n) = -3*n + 1. Let d(z) = r(z) - 3*s(z). Let g be d(6). Let p = 24 + 53. What is the highest common factor of p and g?
11
Let j be (-2)/7 + ((-9)/(-5))/((-1050)/(-9253000)). Calculate the greatest common factor of 14 and j.
14
Suppose 10*f + 153 = 993. Let l be (9/(-6) - -1)*0. Suppose l*x = 3*x - f. Calculate the highest common factor of x and 70.
14
Suppose -3*r + 394 = 3*z - 857, -1 = -r. What is the greatest common divisor of z and 494?
26
Let p be 0/(-1) + (2 - -202). Let d(q) = -9*q + 77. Let g be d(8). Suppose -5*s + 6 - 4 = n, g*s + 22 = n. Calculate the greatest common divisor of p and n.
12
Let v = 705 - 336. Let t = v - 342. What is the highest common factor of 396 and t?
9
Let h be 24*16/(-64) - 60396/(-3). Calculate the greatest common factor of h and 87.
29
Let r(w) = 24*w**2 - 47*w + 164. Let v be r(4). What is the greatest common divisor of 19260 and v?
180
Let i(v) = v - 30. Let r be i(30). Suppose 5*m - p - 263 = 126, r = 4*p + 16. What is the highest common factor of m and 21?
7
Suppose -3*b - 5*q = -8420, 0 = -4*b + 8*q - 3*q + 11215. Calculate the highest common divisor of 374 and b.
187
Let y(a) = 526*a**2 + 38*a - 198. Let v be y(3). Calculate the greatest common factor of v and 450.
150
Let p be (3 - -3)/((-1)/(-18)). Suppose -2*r = r - p. What is the highest common divisor of 276 and r?
12
Let z = 4547 - 4076. Calculate the greatest common factor of 2512 and z.
157
Suppose 4*i = z - 177, -10*z - 5*i - 930 = -15*z. Suppose -28*q + 21*q = -z. Let k = 15 - 9. What is the greatest common factor of k and q?
3
Suppose 55 + 188 = 9*q. Let b be (-4 + 26/6)*q. Calculate the greatest common factor of 207 and b.
9
Let x = -213 + 207. Let j(y) = y**3 + 9*y**2 - 3*y - 32. Let g be j(x). What is the highest common divisor of g and 752?
94
Suppose 1000 = -0*r + 8*r. Let d = -103 + r. Calculate the highest common divisor of 110 and d.
22
Suppose 358 = 9*d - 38. Let q = d + -36. Suppose 241 + 39 = 5*h. Calculate the highest common divisor of q and h.
8
Let y be 290710/12 + 152/57 - (-3)/(-6). What is the highest common factor of y and 9?
9
Suppose -814*c + 811*c + 17 = 2*a, c - 2*a - 3 = 0. What is the greatest common divisor of 8315 and c?
5
Let l(b) = b**3 - 7*b**2 + 6*b. Let s = -48 - -54. Let c be l(s). Let i(o) = -o**2 + o + 1. Let u be i(c). Calculate the greatest common factor of 11 and u.
1
Suppose -6*q + q - 2*k = -46, 3*k - 17 = -q. Let t(c) = c**2 + 3*c - 10. Let g be t(-14). Suppose -n - n = -g. Calculate the highest common divisor of q and n.
8
Suppose -3593*l = -3578*l - 244 - 2816. What is the greatest common factor of 1972 and l?
68
Suppose 0 = 134*l - 19 - 785. Wh


Gallery: Sneaky sources of salt

Health Canada recommends that we consume a maximum of 2,300 mg of sodium per day, the equivalent of one teaspoon of table salt. Eating too much salt puts one at risk of high blood pressure, which is a major risk factor for stroke, heart disease and kidney problems. Be aware of these high-sodium foods.


Inspector Chris Brown is to retire next month after nearly six years in Coalville.

During his time in charge he has seen reported crime fall by 3,000 incidents a year.

He has been succeeded by Inspector Helena Bhakta who took over on Monday.

Insp Brown joined Leicestershire police 30 years ago working in a variety of roles and ranks across the city and county.

He said: “When I arrived at North West Leicestershire, we were dealing with seven and half thousand crimes a year. That figure has dropped to four and a half thousand crimes and I am very proud of that.

“This has only been possible because of the hard work and dedication of the whole team at North West Leicestershire.”

He said he enjoyed working with the organisers of Download, the music festival at Donington Park which is the largest event in Leicestershire.

He added: “The other thing that I am proud of, are our reductions in anti-social behaviour and our customer satisfaction levels of 90 per cent which are the highest in the force.”

Christine Fisher, chief executive of North West Leicestershire District Council, said; “It has been an honour to work with Chris as he has been a great partner and as delivered everything he promised. He will be missed.”

Insp Bhakta said: “I am really looking forward to the challenge of policing North West Leicestershire and meeting the expectations of the community.”


Pattabiram East Depot railway station

Pattabiram East Depot railway station is one of the railway stations of the Chennai Central–Arakkonam section of the Chennai Suburban Railway Network. The station serves the neighbourhoods of Pattabiram. It has an elevation of 40 m above sea level.

See also
 Chennai Suburban Railway
 Railway stations in Chennai

References

External links
 Pattabiram East Depot railway station at Indiarailinfo.com

Category:Stations of Chennai Suburban Railway
Category:Railway stations in Chennai
Category:Railway stations in Tiruvallur district


Types of presses

Reloading presses come in many shapes and sizes, each with an intended purpose…

Single Stage

The most simple type of press is the single stage reloading press. This press holds one die at a time, typically has a very rigid frame, and is most commonly used for rifle reloading. The dies are screwed into an opening at the top of the press, and a shell holder is attached to the ram, which holds the cartridge case rim. When the lever is pushed down, the ram goes up, and the die acts on the case. Usually, priming is done separately with a hand priming setup, but some single stage presses have priming attachments. Single stage presses are the slowest in terms of completed rounds per hour, and for setup for die switching, etc.

Turret Press

The turret press is similar to the single stage press (one die acts on cartridge at a time) but holds multiple dies simultaneously so that you can manually index from one die to another quickly. Some turret presses can auto-index as well so that manual indexing is not required. Turret presses still require many strokes of the lever per completed round, but speed up the process with indexing capabilities. Turret presses can have more flex and therefore less precision for reloading compared to a single-stage press, but this is seldom and issue. A turret press can be a great starter press for the rifle or pistol reloader, or a great precision rig for the more experienced reloader.

Progressive Reloading Press

Progressive reloading presses produce a completed round for every cycle of the lever. This accomplished by using a shellplate which holds multiple cases simultaneously. When the ram is raised by pushing down on the lever, multiple processes happen at the same time. When the ram is cycled, the shellplate turns (indexes). Each shell is then ready for the next operation, and the last round is kicked into a completed round bin or chute. Some progressive presses index automatically (auto indexing progressive), and some require manual indexing (manual indexing progressive).

Progressive reloading presses are commonly used by pistol shooters, and semi-automatic rifle shooters (such as AR shooters loading .223 ammo). Progressive reloading presses can also be used for bolt action rifle loading, but due to the lower quantities involved, this type of loading is typically performed on a single stage press, or a turret type press.

Some progressive reloading presses are equipped with case feeder attachments. These case feeders automatically insert a case into the shellplate for each cycle of the lever. This can greatly speed up the reloading process. Case feeders can range from simple manually filled tube type feeders on up to motorized feeders that automatically refill the tube(s) (pictured above). Case feeders can increase the overall complexity of the press, and also require additional setup time for caliber changeovers, so they are suited best for bulk reloading operations.


State owned consulting firm stretches to Tanzania, Nigeria . The Ministry of Water, Irrigation and Electricity (MoWIE) has inked an agreement with the Ethiopian Construction Design & Supervision Works Corporation to conduct a pre-feasibility and feasibility studies for the construction of a 150 Megawatt (MW) Wabi Hydroelectric power project in the Southern Regional State. The contract agreement, which was signed on Thursday, has commissioned the Corporation to conduct a study to establish the feasibility of a new power project designed to have 150 MW hydropower in the Gurage Zone of the Southern Region.

Despite the impressive grid expansion in Ethiopia to date, the percentage of electrified households remains low at only about 33%. The Government’s recently launched National Electrification Program envisions that by 2025, 65% of the population will be connected to the grid as they place a strong emphasis on scaling up connections in areas within short-term reach of the grid.

The other 35% – or around 7.7 million households – will need an interim off-grid solution while waiting for grid expansion, or even a permanent one where appropriate, such as in very remote areas where grid access will remain too costly and logistically challenging even in the long term.

With the launch of the Wind Project Development Roadmap report Ethiopia and Denmark are joining forces for large scale expansion of wind energy in East Africa. Experts from both countries have been sharing experiences with leading international experts to produce this guideline to successful development of wind projects in Ethiopia which support further sustainable growth and development of the energy sector both for the benefit of the country and region.


The compensator flange

Technical characteristics

Flange expansion joint is a flexible connection, the so-called vibro-box that is a subsidiary element of the pipeline, with no impact on its functionality. Relieves the axial load reduces vibration. To compensator served longer, them filled with an elastic synthetic, heat-resistant composite. resistant to hydrodynamic shock, prolonged exposure to hot water. If the missing pipe flange compensator, repetitive compression-expansion of the pipe may destroy the pipe.

Key benefits

— small weight;

— ease of installation;

— the ability to reduce noise and vibration;

— high thermal insulation;

The installation is carried out without using gas welding, electric welding in tight spaces where it is difficult to bring welding equipment. Throughout the lifetime of flanged expansion joints do not require maintenance. They allow to save considerable funds on the acquisition of new elements of the pipeline system, repair, purchase, replacement of pipeline equipment, which inevitably is destroyed by vibration and thermal strains.

Application

Can significantly increase the service life of the pipeline, prevent fractures, protect against strains. For any piping systems experiencing thermal, vibration, pressure fluctuations. The oil industry, heating systems, ventilation, fuel system, main pipeline of the heating system where the pipe is exposed to high pressure and temperature, there is a possibility of mechanical damage. Compensators of this type are perfectly absorb noise, vibration. The important role played by flexible insert that takes most of the load while hydraulic shock, displacement. It neutralizes the heat generated in the elongation. Anti-vibration insert dampens any small damaging vibration. Thanks to the compensator flanged tubing can be used under the following conditions: maximum pressure — 16 ATM.; limiting temperature — 115 °C.

Supplier

Where to buy expansion joints in bulk or in installments? Supplier «Auremo» offers to buy the flange compensator today on favorable terms. Large selection of compensators in the warehouse. Compliance with GOST and international quality standards. Always available for a flanged expansion joint, the price is optimal from the supplier. The wholesale customers are price — reduced.

Buy at best price

Supplier «Auremo» offers favorable conditions to purchase a flange compensator, the price is due to the technological features of production without the inclusion of additional costs. On the company’s website displayed the real-time information about products, have product catalog and price lists. The price of the order depends on volume and additional conditions of delivery. Supplier «Auremo» is looking to buy flange compensator in bulk or in installments. We have the best price and quality for the entire range of products. In this segment, the company «Auremo» — the best supplier. Buy expansion today. The best price from the vendor. Waiting for your orders.