text:
TFA2020
Analysis by League
Belgian First Division A
FA Women's Super League
Total Football Analysis Magazine
Home Match Analysis MLS 2019: DC United vs Seattle Sounders – Tactical Analysis
MLS 2019: DC United vs Seattle Sounders – Tactical Analysis
Jamie Brackpool
Many teams all across the MLS were desperate for three points last weekend. With only a few games left, the difference between a loss and a draw could be the difference between making playoffs or an uncomfortably long offseason. Because Chicago, Montreal and Orlando all dropped points on Saturday, DC United had already clinched their spot before their match kicked off. The onus was on Seattle Sounders to guarantee a spot for themselves, but DC United weren't going to make it easy for them.
With six of the seven playoff spots still available in the West, Seattle Sounders' second-place position meant nothing heading into the game. And after 90 minutes against DC United, their playoff spot is still up in the air. Ben Olsen's tactics were too much for Seattle to overcome as Brian Schmetzer's team lost 2-0 at Audi Field. Find out how the match was won by DC United in this tactical analysis.
Ben Olsen made no changes to his starting XI that managed to win an important game against the Portland Timbers a week prior. In attack, DC maintained their 4-2-3-1 position but shifted into a 4-4-2 or 4-3-3 when defending. Their defensive shape changed depending on whether they were committing two or three plays to press.
Brian Schmetzer also lined up in a 4-2-3-1. A red card in their last match against FC Dallas meant that Seattle was without centre-back Xavier Arreaga. This prompted Gustav Svensson to fill the void in the backline with Cristian Roldán shifting back into the holding midfield role in place of Svensson. Harry Shipp took Roldán's place in the attacking midfield role, while Jordan Morris returned to the starting lineup ahead of Joevin Jones. Brad Smith was the only other introduction to Schmetzer's starting lineup, replacing Nouhou Tolo at left-back.
DC United's high press
In the first five seconds of the match, DC United managed to force a turnover with their high press. The team managed to continuously push back Seattle Sounders, forcing them to play long balls up the field. DC United managed to win the second balls in the midfield and start their attack from advanced areas of the park.
DC's pressing style was high and intense. The objective was to force the ball back to Sounder's goalkeeper Stefan Frei and restrict all short passing options. This would usually involve one of DC United's attacking midfielders, or Wayne Rooney, sprinting at the ball carrier. The high-intensity sprint severely limited the time the ball carrier had, while the supporting players prevented other passes.
The following image showcases how DC United were effective at limiting the passing options of the deep-lying ball carrier. Paul Arriola presses Sounders' centre-back Gustav Svensson, forcing the Swedish defender to play a ball back to his goalkeeper. As the ball travels to Frei, Arriola continues his run towards the Swiss keeper. But as we can see from the image below, Arriola's run is curved. He does this to prevent any pass back to Svensson.
Arriola's pressing run is angled to cut off a return pass to Svensson
The angle of Arriola's run also limits Frei to one side of the field. Arriola prevents a passing option back to Svensson while sprinting at the keeper. This makes it easy for his teammates Wayne Rooney and Júnior Moreno to cover Cristian Roldán and Kim Kee-hee in a man-oriented press. In the clip, you can actually see Rooney point towards Roldán and telling Moreno to press him. We can see the result of their man-oriented press below.
With no short options, Frei is forced to knock the ball long
In this instance, Frei hit the ball long into the midfield, where DC United regained possession. DC progressed the ball up the field quickly to Arriola, who was able to force a brilliant save out of the Frei.
The press, on many occasions, forced Seattle back to their goalkeeper, where DC United would limit passing options to one side of the field. But while their press forced many turnovers, it also had its flaws.
On a few occasions, one of DC United's forwards pressed the ball carrier but had no support from teammates. This resulted in an easy escape for Seattle, who could bypass the pressing player with ease. We can see an example of this in the image below when Wayne Rooney pressed Gustav Svensson.
Rooney presses Svensson but Rodríguez drops back instead of pressing Kee-hee
Lucas Rodríguez doesn't continue his run forward, allowing Svensson to play an easy pass into his partner, Kee-hee. We can see above how most of the short passing options are marked for Seattle, meaning the only outlet is Kee-hee or Frei. Instead of playing all the way back to his keeper, Svensson plays a lateral ball to Kee-hee.
But while DC United's press helped them effectively win the ball back in the midfield, there were times where it put them under pressure. If possession was retained by Seattle after being forced to play long, it allowed them to quickly attack DC United on the counter. The press, of course, stretched Seattle Sounders, but it also stretched DC United as well.
That meant whenever Seattle managed with the ball in the midfield after DC United's press forced a long ball, it provided them with an opportunity break. Brad Smith managed to rattle a shot off the crossbar in the seventh minute after being sent on a breakaway after Seattle beat DC's press.
DC United's buildup
As well as effectively pressing their opponents, DC United were able to break down Seattle Sounders by limiting their touches during the buildup. In many instances, DC players circulated the ball with quick one-touch passes. When doing this, it was rare for DC United to bypass players, keeping their passes short. By limiting their touches, DC were able to quickly switch the point of attack as well as move Seattle defenders out of position.
We can see DC create a goal-scoring opportunity in the 33rd minute from these quick passes. As Ulises Segura dribbles into the middle of the field from the right, he drags Seattle's defenders with him. He also pulls Seattle centre-back Gustav Svensson out of position to step to him. As he makes his way into the middle of the field, Segura passes the ball to a central Wayne Rooney.
Segura dribbles into the middle of the field before passing the ball to Rooney, dragging Seattle's defender inside as he does so
As the pass comes into Rooney, the Seattle players continue their shift. As this happens, Júnior Moreno makes a run into the space that was created from Segura's dribble and pass. Rooney has the vision and quality to play a first time pass into the space, allowing Moreno to run onto the pass, as we can see in the image below.
Moreno makes an overlapping run into the free space to meet a first-time pass from Rooney
The speed of the buildup made it very difficult for Seattle's defenders to effectively track the off-the-ball movements of DC United's players. The quick one-touch passes meant that the ball was constantly moving direction, forcing Seattle to be constantly adjusting their position to the ball. While DC United's first goal didn't come directly after one of these quick one-touch passes, there were a few in the buildup to the attack.
These quick passes didn't just happen centrally. DC United also made use of quick passes to possess the ball in wide areas. In the following image we can see how DC United created passing triangles on the flanks to facilitate their quick passes.
DC United create a passing triangle in the flanks to facilitate quick one-touch passes
Off-the-ball movement was paramount to the success of these quick movements, as the receiver and the ball usually entered the space simultaneously. On rare occasions, we can see how a lapse in concentration resulted in a turnover. While attempting to circulate the ball quickly down the right side of the field, in a similar passing triangle to that of the image above, DC United's Russell Canouse fails to move into space further up the field. As Felipe Martins passes the ball into Segura, Canouse has an opportunity to make a run into the empty space in an advanced position. The lack of movement and anticipation in this move resulted in a loss of possession, though.
Segura plays a ball into the space anticipating a run from Canouse
The speed of DC United's play meant that one false move could result in a turnover. In the above example, Canouse fails to make a run forward, and Sergua plays a first-time pass into the space, which resulted in a throw-in for Seattle Sounders. It is clear that the speed of DC's buildup caused problems for Seattle, but it also forced DC United's players to be constantly paying attention and moving into the required spaces.
Seattle Sounders overload the left
Seattle Sounders couldn't find their way back into this game but they looked the most promising when attacking down the left. By targetting DC right-back, Russell Canouse, Seattle looked to overload the left side of the field and whip dangerous balls into the box. With Jordan Morris on the left, there was always a chance Seattle could have nicked a goal. Morris' influence has been highlighted in a previous analysis when Seattle Sounders came back against Portland Timbers.
While the opposition was different, there seemed to be similarities in Seattle's tactics. Jordan Morris has the ability to find space and run at defenders. With DC United's low block helping them achieve one of the best defensive records in the MLS, it was always going to take something special to penetrate their lines and beat Bill Hamid.
In the following image, we can see Jordan Morris feed a ball into the space for an overlapping Brad Smith. Given Morris' ability to dribble at defenders, the overload by Seattle forced DC United to commit defenders to wide areas, and this left space in the middle for the central and far side attacking players to attack the deliveries.
We can see an example of Seattle overloading the right side early into the first minutes of the second half. As this was happening, Víctor Rodríguez could infiltrate the space left in DC's defence. In the following passage of play, Seattle earned themself a shot on target, forcing a save out of Bill Hamid.
Smith overlaps Morris, pulling out DC defenders and creating space for Rodríguez in the middle
In the first half, a ball from Smith made its way past all central players and into the path of Kelvin Leerdam who was making a late run on the far side of the field. Leerdam took a dangerous first-time shot that was deflected out for a corner. Brad Smith's breakaway chance that was previously mentioned in this analysis also came from a break down the left side fo the field.
Unfortunately for Seattle Sounders, their finishing was not up to par. The Sounders had a 1.35 xG in this match with nothing to show for it. Had Brad Smith scored in the seventh minute, the game could have been much different. Seattle's inability to be clinical with their chances will be a regret for Brian Schmetzer.
Despite already earning a spot in this year's playoffs, DC United went into this match with every intention of winning. The loss means that LAFC are still the only team from the West to secure postseason football.
Seattle Sounders' next match is against San Jose. Given the Sounders' poor away form, Brian Schmetzer will be asking his team to dig deep against a team who are fighting for a playoff place of their own. A loss there would be detrimental to the Sounders, whose only hope would be against Minnesota United, who currently sit right below them in the West.
DC United will face New York Red Bulls next week. With both teams already guaranteed a playoff spot, it will just be a case of trying to earn the highest seed possible. After a trip to New York, DC return to Audi Field where they host league bottom-feeders FC Cincinnati.
Artwork by @chapulana
If you love tactical analysis, then you'll love the digital magazines from totalfootballanalysis.com – a guaranteed 100+ pages of pure tactical analysis covering topics from the Premier League, Serie A, La Liga, Bundesliga and many, many more. Buy your copy of the August issue for just ₤4.99 here.
Previous articleLa Liga 2019/20: Barcelona vs Villarreal – tactical analysis
Next articleErling Braut Haland 2019/20 – Scout Report
Tactical analyst based in Ontario, Canada. Fan of the Premier League and MLS. Please feel free to follow me on Twitter.
La Liga 2019/20: Barcelona vs Granada – tactical analysis
Serie A 2019/20: Lecce vs Inter – tactical analysis
La Liga 2019/20: Real Madrid vs Sevilla – tactical analysis
Total Football Analysis Magazine #11: July 2019
Magazine July 13, 2019
Total Football Analysis Podcast 19/20 Season #1: Interview with Anthony Hudson
Podcast August 16, 2019
Head Coach Analysis April 27, 2018
NWSL 2019: Utah Royals FC vs North Carolina Courage – tactical...
Match Analysis July 30, 2019
Xavier Amaechi 2018/19 – scout report
Player Analysis August 6, 2019
Ronnie Dog Media Comm. V. // Emiel Hertecantlaan 19a 9290 Berlare - Belgium // BTW (VAT) BE 0693988181
Contact us: chris@totalfootballanalysis.com
© Copyright 2018 - Ronnie Dog Media All Rights Reserved.


text:
1944 Drexel Dragons football team was head coached by Maury McMains.

Schedule

Roster

References

Drexel
Drexel Dragons football seasons
Drexel Dragons football

redpajama_set_name: RedPajamaWikipedia


text:
Williams-Crosby As The Klingon Vixis
Cast & Crew September 14, 2010
Home Cast & Crew Star Trek Movies
T'Bonz 10 years ago
The actress who played Vixis, the first officer aboard Captain Klaa's Klingon Bird-of-Prey in Star Trek V: The Final Frontier, wanted to turn down the role at first.
Spice Williams-Crosby was disappointed when she found out that she was not going to play the love interest of Captain Kirk as she had hoped. "I was so excited because I just knew that I was finally going to play Capt Kirk's love interest," said Williams-Crosby. "Once I got the script I asked the casting director, 'Could you please tell me a little bit about Vixis?' Bill Shepard, the casting director said, 'Well, Vixis is the first office Klingon on the Bird of Prey.' I gasped! Oh no, not a Klingon."
The actress then went and called her agent to explain that she couldn't play the part. "Carmella, I can't play this part," she said. "Vixis is a Klingon and Klingons hate Captain Kirk!" After "many choice words," her agent told Williams-Crosby to "put my head back on and go learn the lines!"
Williams-Crosby got down to work, which included rehearsals with Todd Bryant, who played Captain Klaa. "Todd and I immediately hit it off and he came to my house three days a week to rehearse," said Williams-Crosby. "Well, I bribed him by making him lunch when he came over! Such a Vixis thing to do! Anyway, Todd was and still is amazing! We became best friends and we are like brother and sister."
Some scenes were cut from the movie, and Williams-Crosby would love to see a restored and remastered Star Trek V which would include some of those cut scenes. "Well, this would be a dream come true," she said. "First of all, Bill [Shatner] was an amazing director and had the same creative visions as myself and Todd Bryant had. There were some wonderful scenes between myself and Todd (Vixis & Klaa) that wound up on the floor of the editing room and someone dropped the ball on the SFX along with other things that should have been in that film."
Source: TrekWeb
Topics: Star Trek VI: The Final Frontier, Vixis, Williams-Crosby
What do you think? Chat with other fans in the at The Trek BBS.
T'Bonz
De Lancie To Offer Opera Master Class
Braga Sole Terra Nova Writing Executive Producer
To Boldly Go To The Great Beyond

redpajama_set_name: RedPajamaCommonCrawl


We are loving the flexibility of being able to venture to different places and having immense choice where we can stay.
Some nights we stay on campsites- this gives us peace of mind when visiting Cities and leaving the dogs for a few hours.
Other nights we will stay at Aires- these are designated motorhome spaces that are either privately owned (like a mini campsite) or municipally owned which are usually unmanned and you buy a parking ticket for the duration of your stay. Some Aires will have all facilities such as fresh water to be able to fill up, toilet disposal and grey water (which is your dirty used water). Other Aires will have limited facilities.
Or in most European countries it is acceptable to 'wild camp'-which means finding a place to stop without any facilities and are free. So if we wild camp we make sure we have our phones etc charged up, toilet is empty and a full tank of water.
We use a couple of different apps on our iPads which shows us where other people have stayed and a review so we have a good indication on where to stay.
We found a lovely spot on a beach just outside Santa Pola which had glowing reviews. When we arrived we weren't disappointed, we were able to park right next to the sea.
We had such a peaceful nights sleep and we both woke up feeling refreshed and watched the sunrise over the sea.
Wild Camping works really well with the dogs as we can choose our own space.


text:
package com.xxl.rpc.admin.service.impl;

import com.xxl.rpc.admin.core.model.XxlRpcRegistry;
import com.xxl.rpc.admin.core.model.XxlRpcRegistryData;
import com.xxl.rpc.admin.core.model.XxlRpcRegistryMessage;
import com.xxl.rpc.admin.core.result.ReturnT;
import com.xxl.rpc.admin.core.util.PropUtil;
import com.xxl.rpc.admin.dao.IXxlRpcRegistryDao;
import com.xxl.rpc.admin.dao.IXxlRpcRegistryDataDao;
import com.xxl.rpc.admin.dao.IXxlRpcRegistryMessageDao;
import com.xxl.rpc.admin.service.IXxlRpcRegistryService;
import com.xxl.rpc.core.registry.impl.xxlrpcadmin.model.XxlRpcAdminRegistryDataItem;
import com.xxl.rpc.core.registry.impl.xxlrpcadmin.model.XxlRpcAdminRegistryRequest;
import com.xxl.rpc.core.registry.impl.xxlrpcadmin.model.XxlRpcAdminRegistryResponse;
import com.xxl.rpc.core.util.GsonTool;
import com.xxl.rpc.core.util.XxlRpcException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.context.request.async.DeferredResult;

import javax.annotation.Resource;
import java.io.File;
import java.util.*;
import java.util.concurrent.*;

/**
 * @author xuxueli 2016-5-28 15:30:33
 */
@Service
public class XxlRpcRegistryServiceImpl implements IXxlRpcRegistryService, InitializingBean, DisposableBean {
    private static Logger logger = LoggerFactory.getLogger(XxlRpcRegistryServiceImpl.class);

    @Resource
    private IXxlRpcRegistryDao xxlRpcRegistryDao;
    @Resource
    private IXxlRpcRegistryDataDao xxlRpcRegistryDataDao;
    @Resource
    private IXxlRpcRegistryMessageDao xxlRpcRegistryMessageDao;

    @Value("${xxl.rpc.registry.data.filepath}")
    private String registryDataFilePath;
    @Value("${xxl.rpc.registry.accessToken}")
    private String accessToken;

    private int registryBeatTime = 10;

    @Override
    public Map<String, Object> pageList(int start, int length, String env, String key) {

        // page list
        List<XxlRpcRegistry> list = xxlRpcRegistryDao.pageList(start, length, env, key);
        int list_count = xxlRpcRegistryDao.pageListCount(start, length, env, key);

        // package result
        Map<String, Object> maps = new HashMap<String, Object>();
        maps.put("recordsTotal", list_count);		// 总记录数
        maps.put("recordsFiltered", list_count);	// 过滤后的总记录数
        maps.put("data", list);  					// 分页列表
        return maps;
    }

    @Override
    public ReturnT<String> delete(int id) {
        XxlRpcRegistry xxlRpcRegistry = xxlRpcRegistryDao.loadById(id);
        if (xxlRpcRegistry != null) {
            xxlRpcRegistryDao.delete(id);
            xxlRpcRegistryDataDao.deleteData(xxlRpcRegistry.getEnv(), xxlRpcRegistry.getKey());

            // sendRegistryDataUpdateMessage (delete)
            xxlRpcRegistry.setData("");
            sendRegistryDataUpdateMessage(xxlRpcRegistry);
        }

        return ReturnT.SUCCESS;
    }

    /**
     * send RegistryData Update Message
     */
    private void sendRegistryDataUpdateMessage(XxlRpcRegistry xxlRpcRegistry){
        String registryUpdateJson = GsonTool.toJson(xxlRpcRegistry);

        XxlRpcRegistryMessage registryMessage = new XxlRpcRegistryMessage();
        registryMessage.setType(0);
        registryMessage.setData(registryUpdateJson);
        xxlRpcRegistryMessageDao.add(registryMessage);
    }

    @Override
    public ReturnT<String> update(XxlRpcRegistry xxlRpcRegistry) {

        // valid
        if (xxlRpcRegistry.getEnv()==null || xxlRpcRegistry.getEnv().trim().length()<2 || xxlRpcRegistry.getEnv().trim().length()>255 ) {
            return new ReturnT<String>(ReturnT.FAIL_CODE, "环境格式非法[2~255]");
        }
        if (xxlRpcRegistry.getKey()==null || xxlRpcRegistry.getKey().trim().length()<4 || xxlRpcRegistry.getKey().trim().length()>255) {
            return new ReturnT<String>(ReturnT.FAIL_CODE, "注册Key格式非法[4~255]");
        }
        if (xxlRpcRegistry.getData()==null || xxlRpcRegistry.getData().trim().length()==0) {
            xxlRpcRegistry.setData(GsonTool.toJson(new ArrayList<String>()));
        }
        List<String> valueList = GsonTool.fromJson(xxlRpcRegistry.getData(), List.class);
        if (valueList == null) {
            return new ReturnT<String>(ReturnT.FAIL_CODE, "注册Value数据格式非法;限制为字符串数组JSON格式,如 [address,address2]");
        }

        // valid exist
        XxlRpcRegistry exist = xxlRpcRegistryDao.loadById(xxlRpcRegistry.getId());
        if (exist == null) {
            return new ReturnT<String>(ReturnT.FAIL_CODE, "ID参数非法");
        }

        // if refresh
        boolean needMessage = !xxlRpcRegistry.getData().equals(exist.getData());

        int ret = xxlRpcRegistryDao.update(xxlRpcRegistry);
        needMessage = ret>0?needMessage:false;

        if (needMessage) {
            // sendRegistryDataUpdateMessage (update)
            sendRegistryDataUpdateMessage(xxlRpcRegistry);
        }

        return ret>0?ReturnT.SUCCESS:ReturnT.FAIL;
    }

    @Override
    public ReturnT<String> add(XxlRpcRegistry xxlRpcRegistry) {

        // valid
        if (xxlRpcRegistry.getEnv()==null || xxlRpcRegistry.getEnv().trim().length()<2 || xxlRpcRegistry.getEnv().trim().length()>255 ) {
            return new ReturnT<String>(ReturnT.FAIL_CODE, "环境格式非法[2~255]");
        }
        if (xxlRpcRegistry.getKey()==null || xxlRpcRegistry.getKey().trim().length()<4 || xxlRpcRegistry.getKey().trim().length()>255) {
            return new ReturnT<String>(ReturnT.FAIL_CODE, "注册Key格式非法[4~255]");
        }
        if (xxlRpcRegistry.getData()==null || xxlRpcRegistry.getData().trim().length()==0) {
            xxlRpcRegistry.setData(GsonTool.toJson(new ArrayList<String>()));
        }
        List<String> valueList = GsonTool.fromJson(xxlRpcRegistry.getData(), List.class);
        if (valueList == null) {
            return new ReturnT<String>(ReturnT.FAIL_CODE, "注册Value数据格式非法;限制为字符串数组JSON格式,如 [address,address2]");
        }

        // valid exist
        XxlRpcRegistry exist = xxlRpcRegistryDao.load(xxlRpcRegistry.getEnv(), xxlRpcRegistry.getKey());
        if (exist != null) {
            return new ReturnT<String>(ReturnT.FAIL_CODE, "注册Key请勿重复");
        }

        int ret = xxlRpcRegistryDao.add(xxlRpcRegistry);
        boolean needMessage = ret>0?true:false;

        if (needMessage) {
            // sendRegistryDataUpdateMessage (add)
            sendRegistryDataUpdateMessage(xxlRpcRegistry);
        }

        return ret>0?ReturnT.SUCCESS:ReturnT.FAIL;
    }

    // ------------------------ remote registry ------------------------

    @Override
    public XxlRpcAdminRegistryResponse registry(XxlRpcAdminRegistryRequest registryRequest) {

        // valid
        if (this.accessToken!=null && this.accessToken.trim().length()>0 && !this.accessToken.equals(registryRequest.getAccessToken())) {
            return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "AccessToken Invalid");
        }
        if (registryRequest.getEnv()==null || registryRequest.getEnv().trim().length()<2 || registryRequest.getEnv().trim().length()>255) {
            return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Env Invalid[2~255]");
        }
        if (registryRequest.getRegistryDataList()==null || registryRequest.getRegistryDataList().size()==0) {
            return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Registry DataList Invalid");
        }
        for (XxlRpcAdminRegistryDataItem registryData: registryRequest.getRegistryDataList()) {
            if (registryData.getKey()==null || registryData.getKey().trim().length()<4 || registryData.getKey().trim().length()>255) {
                return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Registry Key Invalid[4~255]");
            }
            if (registryData.getValue()==null || registryData.getValue().trim().length()<4 || registryData.getValue().trim().length()>255) {
                return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Registry Value Invalid[4~255]");
            }
        }

        // fill + add queue
        List<XxlRpcRegistryData> registryDataList = new ArrayList<>();
        for (XxlRpcAdminRegistryDataItem dataItem: registryRequest.getRegistryDataList()) {
            XxlRpcRegistryData registryData = new XxlRpcRegistryData();
            registryData.setEnv(registryRequest.getEnv());
            registryData.setKey(dataItem.getKey());
            registryData.setValue(dataItem.getValue());

            registryDataList.add(registryData);
        }
        registryQueue.addAll(registryDataList);

        return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.SUCCESS_CODE, null);
    }

    @Override
    public XxlRpcAdminRegistryResponse remove(XxlRpcAdminRegistryRequest registryRequest) {

        // valid
        if (this.accessToken!=null && this.accessToken.trim().length()>0 && !this.accessToken.equals(registryRequest.getAccessToken())) {
            return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "AccessToken Invalid");
        }
        if (registryRequest.getEnv()==null || registryRequest.getEnv().trim().length()<2 || registryRequest.getEnv().trim().length()>255) {
            return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Env Invalid[2~255]");
        }
        if (registryRequest.getRegistryDataList()==null || registryRequest.getRegistryDataList().size()==0) {
            return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Registry DataList Invalid");
        }
        for (XxlRpcAdminRegistryDataItem registryData: registryRequest.getRegistryDataList()) {
            if (registryData.getKey()==null || registryData.getKey().trim().length()<4 || registryData.getKey().trim().length()>255) {
                return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Registry Key Invalid[4~255]");
            }
            if (registryData.getValue()==null || registryData.getValue().trim().length()<4 || registryData.getValue().trim().length()>255) {
                return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Registry Value Invalid[4~255]");
            }
        }

        // fill + add queue
        List<XxlRpcRegistryData> registryDataList = new ArrayList<>();
        for (XxlRpcAdminRegistryDataItem dataItem: registryRequest.getRegistryDataList()) {
            XxlRpcRegistryData registryData = new XxlRpcRegistryData();
            registryData.setEnv(registryRequest.getEnv());
            registryData.setKey(dataItem.getKey());
            registryData.setValue(dataItem.getValue());

            registryDataList.add(registryData);
        }
        removeQueue.addAll(registryDataList);

        return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.SUCCESS_CODE, null);
    }

    @Override
    public XxlRpcAdminRegistryResponse discovery(XxlRpcAdminRegistryRequest registryRequest) {

        // valid
        if (this.accessToken!=null && this.accessToken.trim().length()>0 && !this.accessToken.equals(registryRequest.getAccessToken())) {
            return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "AccessToken Invalid");
        }
        if (registryRequest.getEnv()==null || registryRequest.getEnv().trim().length()<2 || registryRequest.getEnv().trim().length()>255) {
            return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Env Invalid[2~255]");
        }
        if (registryRequest.getKeys()==null || registryRequest.getKeys().size()==0) {
            return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "keys Invalid.");
        }
        for (String key: registryRequest.getKeys()) {
            if (key==null || key.trim().length()<4 || key.trim().length()>255) {
                return new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Key Invalid[4~255]");
            }
        }

        Map<String, TreeSet<String>> result = new HashMap<String, TreeSet<String>>();
        for (String key: registryRequest.getKeys()) {
            // key
            XxlRpcRegistryData xxlRpcRegistryData = new XxlRpcRegistryData();
            xxlRpcRegistryData.setEnv(registryRequest.getEnv());
            xxlRpcRegistryData.setKey(key);

            // values
            TreeSet<String> dataList = new TreeSet<String>();
            XxlRpcRegistry fileXxlRpcRegistry = getFileRegistryData(xxlRpcRegistryData);
            if (fileXxlRpcRegistry !=null) {
                dataList.addAll(fileXxlRpcRegistry.getDataList());
            }

            // fill
            result.put(key, dataList);
        }

        return new XxlRpcAdminRegistryResponse(result);
    }

    @Override
    public DeferredResult<XxlRpcAdminRegistryResponse> monitor(XxlRpcAdminRegistryRequest registryRequest) {

        // init
        DeferredResult deferredResult = new DeferredResult(30 * 1000L, new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.SUCCESS_CODE, "Monitor timeout, no key updated."));

        // valid
        if (this.accessToken!=null && this.accessToken.trim().length()>0 && !this.accessToken.equals(registryRequest.getAccessToken())) {
            deferredResult.setResult(new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "AccessToken Invalid"));
            return deferredResult;
        }
        if (registryRequest.getEnv()==null || registryRequest.getEnv().trim().length()<2 || registryRequest.getEnv().trim().length()>255) {
            deferredResult.setResult(new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Env Invalid[2~255]"));
            return deferredResult;
        }
        if (registryRequest.getKeys()==null || registryRequest.getKeys().size()==0) {
            deferredResult.setResult(new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "keys Invalid."));
            return deferredResult;
        }
        for (String key: registryRequest.getKeys()) {
            if (key==null || key.trim().length()<4 || key.trim().length()>255) {
                deferredResult.setResult(new XxlRpcAdminRegistryResponse(XxlRpcAdminRegistryResponse.FAIL_CODE, "Key Invalid[4~255]"));
                return deferredResult;
            }
        }

        // monitor by client
        for (String key: registryRequest.getKeys()) {
            String fileName = parseRegistryDataFileName(registryRequest.getEnv(), key);

            List<DeferredResult> deferredResultList = registryDeferredResultMap.get(fileName);
            if (deferredResultList == null) {
                deferredResultList = new ArrayList<>();
                registryDeferredResultMap.put(fileName, deferredResultList);
            }

            deferredResultList.add(deferredResult);
        }

        return deferredResult;
    }

    /**
     * update Registry And Message
     */
    private void checkRegistryDataAndSendMessage(XxlRpcRegistryData xxlRpcRegistryData){
        // data json
        List<XxlRpcRegistryData> xxlRpcRegistryDataList = xxlRpcRegistryDataDao.findData(xxlRpcRegistryData.getEnv(), xxlRpcRegistryData.getKey());
        List<String> valueList = new ArrayList<>();
        if (xxlRpcRegistryDataList !=null && xxlRpcRegistryDataList.size()>0) {
            for (XxlRpcRegistryData dataItem: xxlRpcRegistryDataList) {
                valueList.add(dataItem.getValue());
            }
        }
        String dataJson = GsonTool.toJson(valueList);

        // update registry and message
        XxlRpcRegistry xxlRpcRegistry = xxlRpcRegistryDao.load(xxlRpcRegistryData.getEnv(), xxlRpcRegistryData.getKey());
        boolean needMessage = false;
        if (xxlRpcRegistry == null) {
            xxlRpcRegistry = new XxlRpcRegistry();
            xxlRpcRegistry.setEnv(xxlRpcRegistryData.getEnv());
            xxlRpcRegistry.setKey(xxlRpcRegistryData.getKey());
            xxlRpcRegistry.setData(dataJson);
            xxlRpcRegistryDao.add(xxlRpcRegistry);
            needMessage = true;
        } else {

            // check status, locked and disabled not use
            if (xxlRpcRegistry.getStatus() != 0) {
                return;
            }

            if (!xxlRpcRegistry.getData().equals(dataJson)) {
                xxlRpcRegistry.setData(dataJson);
                xxlRpcRegistryDao.update(xxlRpcRegistry);
                needMessage = true;
            }
        }

        if (needMessage) {
            // sendRegistryDataUpdateMessage (registry update)
            sendRegistryDataUpdateMessage(xxlRpcRegistry);
        }

    }

    // ------------------------ broadcase + file data ------------------------

    private ExecutorService executorService = Executors.newCachedThreadPool();
    private volatile boolean executorStoped = false;
    private volatile List<Integer> readedMessageIds = Collections.synchronizedList(new ArrayList<Integer>());

    private volatile LinkedBlockingQueue<XxlRpcRegistryData> registryQueue = new LinkedBlockingQueue<XxlRpcRegistryData>();
    private volatile LinkedBlockingQueue<XxlRpcRegistryData> removeQueue = new LinkedBlockingQueue<XxlRpcRegistryData>();
    private Map<String, List<DeferredResult>> registryDeferredResultMap = new ConcurrentHashMap<>();

    @Override
    public void afterPropertiesSet() throws Exception {

        // valid
        if (registryDataFilePath==null || registryDataFilePath.trim().length()==0) {
            throw new XxlRpcException("xxl-rpc, registryDataFilePath empty.");
        }

        /**
         * registry registry data         (client-num/10 s)
         */
        for (int i = 0; i < 10; i++) {
            executorService.execute(new Runnable() {
                @Override
                public void run() {
                    while (!executorStoped) {
                        try {
                            XxlRpcRegistryData xxlRpcRegistryData = registryQueue.take();
                            if (xxlRpcRegistryData !=null) {

                                // refresh or add
                                int ret = xxlRpcRegistryDataDao.refresh(xxlRpcRegistryData);
                                if (ret == 0) {
                                    xxlRpcRegistryDataDao.add(xxlRpcRegistryData);
                                }

                                // valid file status
                                XxlRpcRegistry fileXxlRpcRegistry = getFileRegistryData(xxlRpcRegistryData);
                                if (fileXxlRpcRegistry == null) {
                                    // go on
                                } else if (fileXxlRpcRegistry.getStatus() != 0) {
                                    continue;     // "Status limited."
                                } else {
                                    if (fileXxlRpcRegistry.getDataList().contains(xxlRpcRegistryData.getValue())) {
                                        continue;     // "Repeated limited."
                                    }
                                }

                                // checkRegistryDataAndSendMessage
                                checkRegistryDataAndSendMessage(xxlRpcRegistryData);
                            }
                        } catch (Exception e) {
                            if (!executorStoped) {
                                logger.error(e.getMessage(), e);
                            }
                        }
                    }
                }
            });
        }

        /**
         * remove registry data         (client-num/start-interval s)
         */
        for (int i = 0; i < 10; i++) {
            executorService.execute(new Runnable() {
                @Override
                public void run() {
                    while (!executorStoped) {
                        try {
                            XxlRpcRegistryData xxlRpcRegistryData = removeQueue.take();
                            if (xxlRpcRegistryData != null) {

                                // delete
                                xxlRpcRegistryDataDao.deleteDataValue(xxlRpcRegistryData.getEnv(), xxlRpcRegistryData.getKey(), xxlRpcRegistryData.getValue());

                                // valid file status
                                XxlRpcRegistry fileXxlRpcRegistry = getFileRegistryData(xxlRpcRegistryData);
                                if (fileXxlRpcRegistry == null) {
                                    // go on
                                } else if (fileXxlRpcRegistry.getStatus() != 0) {
                                    continue;   // "Status limited."
                                } else {
                                    if (!fileXxlRpcRegistry.getDataList().contains(xxlRpcRegistryData.getValue())) {
                                        continue;   // "Repeated limited."
                                    }
                                }

                                // checkRegistryDataAndSendMessage
                                checkRegistryDataAndSendMessage(xxlRpcRegistryData);
                            }
                        } catch (Exception e) {
                            if (!executorStoped) {
                                logger.error(e.getMessage(), e);
                            }
                        }
                    }
                }
            });
        }

        /**
         * broadcase new one registry-data-file     (1/1s)
         *
         * clean old message   (1/10s)
         */
        executorService.execute(new Runnable() {
            @Override
            public void run() {
                while (!executorStoped) {
                    try {
                        // new message, filter readed
                        List<XxlRpcRegistryMessage> messageList = xxlRpcRegistryMessageDao.findMessage(readedMessageIds);
                        if (messageList!=null && messageList.size()>0) {
                            for (XxlRpcRegistryMessage message: messageList) {
                                readedMessageIds.add(message.getId());

                                if (message.getType() == 0) {   // from registry、add、update、deelete,ne need sync from db, only write

                                    XxlRpcRegistry xxlRpcRegistry = GsonTool.fromJson(message.getData(), XxlRpcRegistry.class);

                                    // process data by status
                                    if (xxlRpcRegistry.getStatus() == 1) {
                                        // locked, not updated
                                    } else if (xxlRpcRegistry.getStatus() == 2) {
                                        // disabled, write empty
                                        xxlRpcRegistry.setData(GsonTool.toJson(new ArrayList<String>()));
                                    } else {
                                        // default, sync from db (aready sync before message, only write)
                                    }

                                    // sync file
                                    setFileRegistryData(xxlRpcRegistry);
                                }
                            }
                        }

                        // clean old message;
                        if ( (System.currentTimeMillis()/1000) % registryBeatTime ==0) {
                            xxlRpcRegistryMessageDao.cleanMessage(registryBeatTime);
                            readedMessageIds.clear();
                        }
                    } catch (Exception e) {
                        if (!executorStoped) {
                            logger.error(e.getMessage(), e);
                        }
                    }
                    try {
                        TimeUnit.SECONDS.sleep(1);
                    } catch (Exception e) {
                        if (!executorStoped) {
                            logger.error(e.getMessage(), e);
                        }
                    }
                }
            }
        });

        /**
         *  clean old registry-data     (1/10s)
         *
         *  sync total registry-data db + file      (1+N/10s)
         *
         *  clean old registry-data file
         */
        executorService.execute(new Runnable() {
            @Override
            public void run() {
                while (!executorStoped) {

                    // align to beattime
                    try {
                        long sleepSecond = registryBeatTime - (System.currentTimeMillis()/1000)%registryBeatTime;
                        if (sleepSecond>0 && sleepSecond<registryBeatTime) {
                            TimeUnit.SECONDS.sleep(sleepSecond);
                        }
                    } catch (Exception e) {
                        if (!executorStoped) {
                            logger.error(e.getMessage(), e);
                        }
                    }

                    try {
                        // clean old registry-data in db
                        xxlRpcRegistryDataDao.cleanData(registryBeatTime * 3);

                        // sync registry-data, db + file
                        int offset = 0;
                        int pagesize = 1000;
                        List<String> registryDataFileList = new ArrayList<>();

                        List<XxlRpcRegistry> registryList = xxlRpcRegistryDao.pageList(offset, pagesize, null, null);
                        while (registryList!=null && registryList.size()>0) {

                            for (XxlRpcRegistry registryItem: registryList) {

                                // process data by status
                                if (registryItem.getStatus() == 1) {
                                    // locked, not updated
                                } else if (registryItem.getStatus() == 2) {
                                    // disabled, write empty
                                    String dataJson = GsonTool.toJson(new ArrayList<String>());
                                    registryItem.setData(dataJson);
                                } else {
                                    // default, sync from db
                                    List<XxlRpcRegistryData> xxlRpcRegistryDataList = xxlRpcRegistryDataDao.findData(registryItem.getEnv(), registryItem.getKey());
                                    List<String> valueList = new ArrayList<String>();
                                    if (xxlRpcRegistryDataList !=null && xxlRpcRegistryDataList.size()>0) {
                                        for (XxlRpcRegistryData dataItem: xxlRpcRegistryDataList) {
                                            valueList.add(dataItem.getValue());
                                        }
                                    }
                                    String dataJson = GsonTool.toJson(valueList);

                                    // check update, sync db
                                    if (!registryItem.getData().equals(dataJson)) {
                                        registryItem.setData(dataJson);
                                        xxlRpcRegistryDao.update(registryItem);
                                    }
                                }

                                // sync file
                                String registryDataFile = setFileRegistryData(registryItem);

                                // collect registryDataFile
                                registryDataFileList.add(registryDataFile);
                            }

                            offset += 1000;
                            registryList = xxlRpcRegistryDao.pageList(offset, pagesize, null, null);
                        }

                        // clean old registry-data file
                        cleanFileRegistryData(registryDataFileList);

                    } catch (Exception e) {
                        if (!executorStoped) {
                            logger.error(e.getMessage(), e);
                        }
                    }
                    try {
                        TimeUnit.SECONDS.sleep(registryBeatTime);
                    } catch (Exception e) {
                        if (!executorStoped) {
                            logger.error(e.getMessage(), e);
                        }
                    }
                }
            }
        });

    }

    @Override
    public void destroy() throws Exception {
        executorStoped = true;
        executorService.shutdownNow();
    }

    // ------------------------ file opt ------------------------

    // get
    public XxlRpcRegistry getFileRegistryData(XxlRpcRegistryData xxlRpcRegistryData){

        // fileName
        String fileName = parseRegistryDataFileName(xxlRpcRegistryData.getEnv(), xxlRpcRegistryData.getKey());

        // read
        Properties prop = PropUtil.loadProp(fileName);
        if (prop!=null) {
            XxlRpcRegistry fileXxlRpcRegistry = new XxlRpcRegistry();
            fileXxlRpcRegistry.setData(prop.getProperty("data"));
            fileXxlRpcRegistry.setStatus(Integer.valueOf(prop.getProperty("status")));
            fileXxlRpcRegistry.setDataList(GsonTool.fromJson(fileXxlRpcRegistry.getData(), List.class));
            return fileXxlRpcRegistry;
        }
        return null;
    }
    private String parseRegistryDataFileName(String env, String key){
        // fileName
        String fileName = registryDataFilePath
                .concat(File.separator).concat(env)
                .concat(File.separator).concat(key)
                .concat(".properties");
        return fileName;
    }

    // set
    public String setFileRegistryData(XxlRpcRegistry xxlRpcRegistry){

        // fileName
        String fileName = parseRegistryDataFileName(xxlRpcRegistry.getEnv(), xxlRpcRegistry.getKey());

        // valid repeat update
        Properties existProp = PropUtil.loadProp(fileName);
        if (existProp != null
                && existProp.getProperty("data").equals(xxlRpcRegistry.getData())
                && existProp.getProperty("status").equals(String.valueOf(xxlRpcRegistry.getStatus()))
                ) {
            return new File(fileName).getPath();
        }

        // write
        Properties prop = new Properties();
        prop.setProperty("data", xxlRpcRegistry.getData());
        prop.setProperty("status", String.valueOf(xxlRpcRegistry.getStatus()));

        PropUtil.writeProp(prop, fileName);

        logger.info(">>>>>>>>>>> xxl-rpc, setFileRegistryData: env={}, key={}, data={}"
                , xxlRpcRegistry.getEnv(), xxlRpcRegistry.getKey(), xxlRpcRegistry.getData());

        // brocast monitor client
        List<DeferredResult> deferredResultList = registryDeferredResultMap.get(fileName);
        if (deferredResultList != null) {
            registryDeferredResultMap.remove(fileName);
            for (DeferredResult deferredResult: deferredResultList) {
                deferredResult.setResult(new ReturnT<>(ReturnT.SUCCESS_CODE, "Monitor key update."));
            }
        }

        return new File(fileName).getPath();
    }
    // clean
    public void cleanFileRegistryData(List<String> registryDataFileList){
        filterChildPath(new File(registryDataFilePath), registryDataFileList);
    }

    public void filterChildPath(File parentPath, final List<String> registryDataFileList){
        if (!parentPath.exists() || parentPath.list()==null || parentPath.list().length==0) {
            return;
        }
        File[] childFileList = parentPath.listFiles();
        for (File childFile: childFileList) {
            if (childFile.isFile() && !registryDataFileList.contains(childFile.getPath())) {
                childFile.delete();

                logger.info(">>>>>>>>>>> xxl-rpc, cleanFileRegistryData, RegistryData Path={}", childFile.getPath());
            }
            if (childFile.isDirectory()) {
                if (parentPath.listFiles()!=null && parentPath.listFiles().length>0) {
                    filterChildPath(childFile, registryDataFileList);
                } else {
                    childFile.delete();
                }

            }
        }

    }

}

redpajama_set_name: RedPajamaGithub


When University of Akron soccer coach Caleb Porter was recruiting goalie David Meves, he told him he would begin looking for his replacement during his junior year.
Meves might not have envisioned then that Porter would lure the nation�s top recruit at his position to a Zips program that has reached the College Cup in two of the past three years.
Meves has played an integral part in that success, setting the UA mark with 66 career victories. In his three years, the native of Arlington Heights, Ill., has played all but 210 minutes (120 of that coming when he was subbed out of blowouts)and enters this weekend with the lowest goals-against average (0.541) in school history and is second in shutouts with 39.
But when practice began for his senior season Aug. 8, Meves found himself challenged by freshman Fernando Pina, a Houston resident who was one of the leading keepers on the U-17 national team.
Meves, 22, has also been inspired by the Aug. 5 death of Kirk Urso, a rookie midfielder for the Columbus Crew, whom he had known since they were 9.
�His freshman year, when he had his best year, he was challenged,� Porter said. �We had another goalie, Josh Pantazelos, [and] those two guys battled it out. He seems to be at his best when he has competition.
Meves� saves percentage, which new goalkeepers coach Stuart Dobson considers the most important stat, illustrates Porter�s point. As a freshman, Meves� percentage was .875, sixth in Division I. In 2010, when the Zips won the national championship, it fell to .771 (87th), in 2011 it was .770 (79th).
Meves is No. 1, but Porter and Dobson rave about Pina.
Pina and Meves are �polar opposites� in style, Porter said.
�Meves has very good positioning, reads the game well, plays the angles,� Porter said. �Pina is a guy who flies around the goal. He�s more of a South American-type, a guy that�s quick off his line, a guy who�s definitely looking to be proactive, to come for crosses.
Reportedly mulling a job offer to coach the Portland Timbers of Major League Soccer, Porter went so far as to suggest that he could play both Pina and Meves late in the season depending on the style of the opponent.
Meves will graduate in December with a degree in corporate finance. He hopes for a chance in MLS, but is focused on making another run at a national title.
Quiet and laid-back, Meves does not sound disappointed that the coaches did not select him as a captain. Seniors Scott Caldwell and Chad Barson and sophomores Bryan Gallego and Wil Trapp were chosen.
But he�s making an effort to help. Even in the first exhibition game against St. Louis, Meves came out of the box to instruct some of the freshmen.
�He�s never going to be a guy who�s real vocal, but he�s finally grasped the idea of being a leader,� Porter said.
Marla Ridenour can be reached at mridenour@thebeaconjournal.com. Read the her blog at https://ohio.com/marla. Follow him on Twitter at www.twitter.com/MRidenourABJ and on Facebook at www.facebook.com/sports.abj.


As well as being an accomplished trial lawyer and a successful negotiator, our founding attorney, Richard M. Gabor, has attained a masters of tax law degree (LL.M-Taxation) at New York University School of Law and the University of Miami School of Law, has a bachelor's degree in accounting and is a certified public accountant. Our clients count on our depth of knowledge of both the legal system and the rules and regulations regarding taxation.
To learn more about Mr. Gabor's education and experience, we invite you to follow the link below.
To schedule a meeting with a Manhattan tax litigation attorney at Gabor Tax Law Associates, call 718-354-8258 or simply fill out the email form on this website.


text:
Heygood, Orr & Pearson > HO&P Legal Blog > Qui Tam Litigation > UBS Whistleblower Obtains $104 Million Reward
UBS Whistleblower Obtains $104 Million Reward
by Eric Pearson
A former UBS banker has received a $104 million whistleblower award from the IRS, the largest reward in U.S. history. Bradley Birkenfeld had described for the U.S. Justice Department how the larges Swiss bank had come to the U.S. to woo rich Americans into allowing the company to help them shields their assets from the IRS.
Birkenfeld's information helped pave the way for a 2009 settlement between the U.S. government and UBS under which the bank agreed to pay $780 million in penalties and turn over the account information of thousands of American clients. Since then, over 35,000 Americans have since participated in amnesty programs to repatriate their offshore accounts, netting the government over $5 billion in back taxes, fines and penalties.
By law, whistleblowers can collect up to 30% of what the IRS recovers as a result of their tips. "The IRS believes that the whistleblower statute provides a valuable tool to combat tax non-compliance, and this award reflects our commitment to the law," the agency said in a statement.
Birkenfeld's brother Douglas read a statement on his behalf at a press conference in Washington Tuesday, calling the reward "truly gratifying." "This is the day I thought would never come," Birkenfeld's statement read. "I single-handedly transformed centuries of illicit Swiss private banking practices, but I paid a huge price for being the only person to have the courage to come forward."
The lawyers at Heygood, Orr & Pearson have previously represented an IRS whistleblower who received substantial rewards from the government totaling nearly $2 million. If you have information regarding fraud or other wrongdoing against the government or a government agency, you may be entitled to a large cash reward. To find out if you are eligible, call us toll-free at 1-877-446-9001, or fill out our free online case evaluation form, and one of our representatives will contact you for more information.
Eric Pearson is a licensed attorney and a partner at HO&P who handles commercial and personal injury lawsuits. Eric has been selected to the Super Lawyers List, a Thomson Reuters publication.


The 1st Annual Palm Springs International Down Syndrome Film Festival will be held from May 3-May 5 at the beautiful Palm Springs Cultural Center.
Over 16 features, shorts and documentaries from the U.S. and around the globe will be screened during the three day festival.
The beautiful painting above was created by Ezekiel Jeremiah Cuevas when he was just 2 1/2 years old! His parents, Mark and Yadira Regla-Cuevas created Ezekiel's Gift of Love: Coachella Valley Down Syndrome Foundation in 2017. We are proud to be partnering with this amazing family and supporting their inspiring work! A portion of all net profits from the Festival will go to support the many programs of the Foundation.


BLUE EARTH ENTERPRISE PVT. LTD. – BLUE EARTH ENTERPRISE PVT. LTD.
The Shree Yantra is perhaps the most important yantra and innate to Sanatan Dharm. It is a depiction of Ma Maha Lakshmi Herself and is also in a way the cosmos in perfect equilibrium.
← BLUE EARTH ENTERPRISE PVT. LTD.


There are not many places which can boast its political leader has a part in a sci-fi movie as a mind-controlled, post-apocalyptic commoner – but Canberra can.
The film depicts the events surrounding the death of engineer Joe Cinque in Dickson on October 26, 1997, after his ANU law student girlfriend Anu Singh, gave him a lethal dose of heroin. She laced his coffee with Rohypnol first, had previously told friends of her intent to kill him, and was subsequently found guilty of manslaughter.
We sought out an interview with Mrs Cinque because much of the film's pre-release publicity and news coverage had focused on the film-makers, the actors, and even Joe's killer, Anu Singh. We felt it important that the feelings of the Cinques were not sidelined by those of their son's killer. As it turns out, Maria Cinque explained that her silence was not because she hadn't been asked but more because she didn't want to talk to people.
"It's very hard for me … I don't have much to say … Everything has been said," she explained sadly.
It is obvious that there could be no consolation for Maria Cinque or her family from the success of Helen Garner's book, nor from the release of the film, which was shot in Canberra between April and June 2015 and has already garnered powerful audience reactions and laudatory reviews from its premieres at both the Melbourne and the Toronto film festivals.
However, it is also clear that Mrs Cinque has faith in the film's writer-director, Sotiris Dounoukos, as well as in actor Jerome Meyer, who plays her son.
In my film review for the RiotACT I argued that the film didn't quite achieve the same consolation for Joe Cinque as Ms Garner's book did.
Regardless of whether or not the film is faithful to its source work or exists powerfully in its own right, Mrs Cinque ultimately hopes it highlights dramatically how the Cinques' son was victimised, firstly by his girlfriend, and then in court.
"[I hope] the people like it when it comes out and they understand what happened and what they have done to my family," she said.
Perhaps this is a consolation the film can achieve for the Cinque family, albeit a muted one.
Mr Dounoukos, who was an ANU law student at the time of Cinque's death and has drawn on his own memories of life in the capital in the making of the film, will speak at tonight's sold-out Palace Electric premiere screenings.
The film opens nationally on Thursday.


text:
Q&A: Markus Winkelhock Chats About Bathurst 12 & Rolex 24
Our friend Andrew Mara from Audi Australia had a chance to sit down with Markus after the Bathurst 12. Most of the chat was about that race, though he also touched upon the controversial standings at the Rolex 24. Text is below.
MARKUS WINCKELHOCK
What are your impressions on the Mt Panorama Street Circuit?
It was just amazing. Before I drive the track I watched a couple of laps on YouTube and you could see from that it's a really challenging race track. For the first five laps I was driving like a beginner because it was so hard to learn the track and then at one point you start to get used to it and it starts being fun. From that point you're getting quick around the track. At the beginning I was really scared of the track. It was really challenging; especially the fast parts, the uphill parts. There are blind corners and it takes many laps to learn exactly how fast you can go because it's blind.
You raced a double stint at the end of the race, what was the strategy there?
With about four hours to the end we decided I would do that because I was the fastest driver and I should finish the race. At the end it didn't make that much difference because with the safety cars towards the end the water temperatures started to get high and the gap to the car in front was over one minute and we got left behind. There wasn't much left to do at that stage, just bring the car home.
How uncomfortable were the in-car temperatures today?
That last stint was very hot, I have to say, but I did expect it to be worse.
You mentioned yesterday after practice that traffic would play a part in the race. Did you get much clean air today?
There was a lot of traffic yesterday and it was very hard to get a clean lap, but this morning the first stint in the car after the start was quite OK. My second stint, however, I didn't get one free lap for the entire hour I was out there. There was a lot of traffic. Towards the end was the same, and with the slower cars you have to be really careful because sometimes you think they've seen you, you dive in and they close the apex. It's pretty dangerous when that happens here because at most of the turns on The Mountain you have the wall either side. The speed difference with the Fiats was quite big so it wasn't easy sometimes.
Is that kind of thing unique to Australia?
This is quite similar in Europe. The 24 Hour at the Nurburgring Nordschleife there are a lot of Polos and Volkswagen Golfs and we are running in the GT 3 cars, so the speed difference is quite big. If the drivers in the slow cars are experienced and they know what they are doing and where they are going when they are getting out of way of the fast cars, then everything is OK. When they aren't very experienced, you have to be very careful.
What is the main difference across the globe?
Temperatures in the car! In Germany it's not all that hot. Apart from that, the atmospheres everywhere are a bit different and it's quite nice to experience the differences between the tracks and the crowds. In Australia the whole atmosphere was really nice, the fans and everyone was just so friendly and this is something I really liked. This is different again in America, which is also great to experience for me because it's something new.
Speaking of America, you've just come off a bit of disappointment there at Daytona. How did that leave you feeling?
Yes of course, it's not good to lose hours after the race, but at the end of the day I have to say that I think the decision was OK. We didn't touch. He tried to push me a little to the outside, but I would have tried to do the same in his position. We were fighting for the victory… it was a tough fight, a hard fight, but the rules are if you don't touch it's OK. I don't want to be a sore loser.
We heard a rumour that you got to keep the Rolex…
Maybe… (laughing).
[email protected] Feb 21, 2014


Tanya Davies MP, State Member for Mulgoa, visited 4 grassroots sporting organisations in her community last week pledging that a re-elected Baird Liberal Team will support them to encourage greater sporting participation and quality of experience.
"It takes many years for smaller clubs to fundraise enough money to tackle large infrastructure, drainage or lighting works and a re-elected Baird Government will continue to support local sporting organisations to achieve their infrastructure and resource needs" said Tanya Davies.
Tanya visited St Clair "Comets" Junior Rugby League Club at Peter Kearns Reserve and met with Club officials and junior rugby league players from the club's Under 8s team to offer funding support of $30,000. These funds will be put to great use by the club to improve drainage of the fields to prevent flooding, provide shelter for spectators and players, especially in bad weather and summer months.
"Thank you Tanya for supporting our club, we very much appreciate the efforts you go to" said Club President Mick Higgins. He was joined by fellow committee members Bill Borg, Secretary, Dave Brown, Senior Vice President, and Colin Armstrong, Saturday President.
Tanya visited Kemps Creek United Soccer Club at Bill Anderson Reserve in Kemps Creek and met with committee members Peter Maltese, Secretary, Michael Furfaro, Treasurer and club co-founder, John Elasi and players during their mid-week training session to offer funding support of $20,000. These funds will be used for additional lights to field 2 for improved safety of training, upgrade of canteen with an exhaust fan, air conditioning and equipment.
Tanya visited St Clair United Soccer Club at Mark Leece Oval in St Clair and met with committee members Richie Mazurkiewicz, President, Joseph Khalifeh, Vice President/Secretary and juniors from the Under 5s alligators and bears teams to offer funding support of $25,000. These funds will be used for additional training fields with lighting as the existing training fields were on St Clair High School premises, now being used for demountable classrooms in lieu of the massive fire that destroyed 80% of the school last year.
Finally, Tanya visited Horsley Park United Soccer Club at Horsley Park and met with club President and Secretary Warren and Elaine Gaffney and players during their mid-week training session to offer funding support of $25,000. These funds will be used to provide power to canteen, drainage, modernising their storage container and AED equipment.


text:
Q: Should model objects be created by view in MVC pattern? In the MVC pattern I see a distinction between the classes that comprise the data model and the instances of these classes that drive the system. My team respectfully disagrees with me, and I would like to have some clarification.
I have an Employee class that is the only class in the model. The controller has one instance of the class, and that instance drives the view.
I would call the one instance of the Employee class that is owned by the controller "the model", and I would call any other instance of the Employee class that does not drive the system "not the model".
Why I make this distinction is because my team argues that the view shouldn't create the model. I agree, but I think the view should be able to create instances of the Employee class to pass to the controller.
For example if I had a method setCoworker(employee : Employee) in the controller, I think it would be perfectly okay for the view to create a new instance of Employee and pass that to the controller.
What do the MVC pattern best practices dictate? Should I not be creating instances from the view?

A: It depends a little on which MVC pattern you're following (there's a lot of flavors).  In general, though, the View's only responsibilities should be to translate from human input into calls to the Controller, and from whatever data state the Model holds into the output to the human.
So I have to agree with your team.  You might have a button OnClick handler or the like in the view which then calls controller.BuildANewModel(), but you wouldn't have the view instantiate the new model on it's own.
That said, last time I checked, the Gang of Four had hung up their baseball bats and tire irons and weren't in the business of laying the smack-down on folks who don't follow the patterns to the letter, so whatever works for you. . . :)

A: I'd agree with your team:
to limit the dependencies the view should not even be aware of the controller and its internal implementation, so it won't be able to pass created employees to the controller.
There should be just an notification mechanism — delegation or some other loose coupling mechanism — where the view informs the controller, that it should create a new employee, or differential phrased: the view would inform the controller of some certain input or event and the controller would decide to create a new employee.
In your solution view and controller would be tightly coupled together that it actually could be seen as on component: the MVC pattern would be destroyed.

MVC in short: Model holds the data, controller has the logic, view interacts with the user. the only components that knows both other is the controller. the model know nothing about the view or the controller, the view knows nothing about the model and is only coupled very loosely with the controller. just informing it about input and a-like. you can certainly create other constructs, but that isnt MVC anymore. and your question was about MVC.
This describes the MVC Pattern in Cocoa, the vocabulary might be unfamiliar, but more or less MVC should look like this. Green indicates the knowledge of controller about Model and View, while yellow show different loose-coupling mechanisms. That might be called different in different languages and frameworks.

found here: What should own the model in an MVC pattern?

A: Views should not be passing anything to the controllers. Controllers should not be passing anything to the views. And model layer should not be returning anything to the controllers. Here is how information flow should be implemented in MVC:

Source: wikipedia
Also, model is a layer. Not a class or object. A layer that contains multitude of structures, each with a different responsibility. What you call Employee is not the model (or even "a model"). Instead it is simply one of many domain objects.
Neither your views nor your controllers should have any direct access to the domain objects. Instead they should interact with model layer through service layer, that contains the "application logic" (interaction between domain and storage structures) within the model layer.

Those would be my two cents on the subject, but I will be flagging this as "too broad" since one could write a book (and some - have) on the subject of MVC implementation.

redpajama_set_name: RedPajamaStackExchange


Steve Mann (via) has produced a sculpture of a chair which downloads a sitting license from the internet. When the license is obtained, the chair retracts the spikes on the seat, and when the license expires, the spikes redeploy.
There's a discussion thread on Slashdot too.


text:
Q: Is there any potential problem when returning a std::future from a local std::promise? Here is the example code snippet:
#include<future>
#include<iostream>

int main()
{
    auto f=[](){
        std::promise<int> promise_;   //Since `promise_` is a local variable, is there any potential problem?
        auto future_ = promise_.get_future();
        promise_.set_value(1);

        return future_;
    }();

    std::cout << f.get() << std::endl;
}


The Ministry of Health is funding a four year bowel screening pilot (2012–2015) in the Waitemata DHB region to inform whether a national bowel screening programme should be introduced. International evidence shows that a national bowel screening programme can reduce both the number of people who develop bowel cancer and the number of people who die from the disease. This report presents the evaluation findings from round one of the bowel screening pilot, based on those people who were invited to participate during the first 18 months. In particular, the report describes how effective, safe, acceptable and equitable the pilot was and provides a preliminary analysis of the round one costings. The key findings from the report are that: the participation rate in round one was higher than the internationally accepted minimum; the bowel cancer detection rate was within the range reported by other, international population-based screening programmes that use the same type of test; participants and stakeholders were positive about their experiences with the pilot. Several areas for improvement were also identified, including the unequal participation rates among Māori and Pacific peoples and the performance of the bowel screening register and database. Waitemata DHB and the Ministry will continue to address these issues as part of the ongoing operations of the pilot.


General news about our company, products and future releases.
MxToolBox is now offering 90-day free trials for Micosoft Office 365. If you have thought about moving to the Cloud, now is the perfect time to try something powerful and new in the new year!
Office 365 delivers business continuity that's easy to set up and manage and doesn't require upfront server costs. With Office 365 you get the best value to fit your changing needs as you grow your business.
This entry was posted in MX News on January 17, 2013 by MxToolbox Blog.


Let your child help to decorate their room with our Personalized Kid's Room Signs. With a sign to fit every boy or girl's interest or personality, your child will love to display their name for all who enter. With it's classic street sign design, the signs are perfect for the door or the wall. Our brightly colored signs are printed directly onto a composite wood base.
This Design: Bump, Set, Spike! Serve up a smile with our Beach Volleyball personalized room sign. Featuring a sandy background and large volleyball image, this sign pays homage to a growing outdoor sport that's a favorite with all ages. Collegiate-style blue and red font features the name of your favorite volleyball fan!
Measurements: Wood sign measures 5.75" x 15.5" x 0.25".
Personalization: Personalize with child's name of up to 12 characters.


Awards that Nolans of Kilcullen have won.
Congratulations to Noel Lambe on winning the Best New Meat Product at the Associated Craft Butchers of Ireland national finals at the K Club.
Noel came up with the idea of combining Nolan's famous sausages with chopped smoked bacon, homemade cranberry black pudding as well as our homemade white pudding in a pastry covered roulade, all combining together to make one delicious Irish Breakfast Roll. Noel was very proud to win both the Leinster Final & All Ireland Final competitions.
The awards were presented by Darina Allen, Ballymaloe Cookery School, Champion of Irish Butchers and Irish Artisan Food Producers.
Darina spoke of her great regard for traditional butchery skills; skills that have been passed down through generations and how wonderful that was and that is what Nolan's of Kilcullen is all about.
Dermott Mitchell, Emily Behan & Colin Behan won the Associated Craft Butchers of Ireland National Speciality Food award as well as the French Fins Goustiers award for the Best Festive Product in Ireland with Nolan's of Kilcullen own Low Salt – Home Baked Ham.
Fred Mitchell also had an amazing year and also won top Irish and European awards for Nolan's Home Made Pork Sausages as well as their Gluten Free Reduced Fat Sausages and Home Made Puddings.
Julie Cahill from the Associated Craft Butchers of Ireland was thrilled to see the incredible results for Nolan's of Kilcullen at both Irish & European competitions. She applauded the uniqueness of Nolan's of Kilcullen which is a 4th generation craft butchers, that was established back in 1886 and still maintains the high standards of craft butchering that makes them one of Ireland's top butcher shops today.
We have been shortlisted in the Top 6 for Retailer of the Year as awarded by Retail Excellence Ireland!


Climb inside the 2019 Nissan Pathfinder. Smooth gearshifts are achieved thanks to the 3.5 liter 6 cylinder engine, and for added security, dynamic Stability Control supplements the drivetrain. All of the premium features expected of a Nissan are offered, including: front and rear reading lights, variably intermittent wipers, a built-in garage door transmitter, power front seats, blind spot sensor, cruise control, and 1-touch window functionality. Features such as automatic climate control and leather upholstery prove that economical transportation does not need to be sparsely equipped. Rear passengers enjoy the seat heating functionality, keeping them warm during the winter months. Passengers in the third row enjoy seat back reclining functionality, providing an extra level of comfort and convenience. Nissan ensures the safety and security of its passengers with equipment such as: dual front impact airbags, front side impact airbags, traction control, brake assist, a panic alarm, an emergency communication system, and 4 wheel disc brakes with ABS. Our knowledgeable sales staff is available to answer any questions that you might have. They'll work with you to find the right vehicle at a price you can afford. We are here to help you.


In fractionally reserved economies however, when interest rates are manipulated lower artificially and money & credit creation is continuous, lower interest rates benefit those entities that are closest to the central bank first.
This results in high barriers to entry in business and industry, industrial overcapacity thus the misallocation of resources and, eventually, the unnecessary depletion of natural resources. All through this process, the cost of living rises paving the way for gradually more onerous fiscality.
"The Zurich team can. From Orbis 2007, a database listing 37 million companies and investors worldwide, they pulled out all 43,060 TNCs and the share ownerships linking them. Then they constructed a model of which companies controlled others through shareholding networks, coupled with each company's operating revenues, to map the structure of economic power.
In which we are talking about two different processes. Financial corporations purchasing shares or even controlling interests are not 'new entrants', they are purchasing existing [profitable] businesses.
New entrants however are new entrants qua new entrants. Their business model if it is predicated on low costs of capital predispose to mis-allocation of capital and resources as already detailed.
The issue of Corporatism has been around since Rockefeller. They have been careful to smear capitalism with responsibility for their misdeeds.
I would argue that because debt is nominally lower, the barriers to entry are lower. Because there are many new entrants, resources are increasingly used. However, because demand has not driven the creation of the business profit margins are low.
These profit margins will be higher than the low cost of capital [nominal cost of debt] but should the nominal rate rise, the business will be required to liquidate, unless demand for their product rises. A liquidation releases factors of production back to businesses that have higher profit margins – demand.
Do you think we have property of the money we earn?
Ergo, does my argument hold water?
As a banknote is a promissory note that cannot be redeemed, clearly the 'money', which in this case is the gold/silver that underlies the promissory note, viz collateral, is being retained. Possession is being retained, and thus ownership.
If we argue from a different direction, we get the same result. Given that what we get is a promissory note that can be devalued at will through inflationary policy of either monetary or fiscal nature, clearly we cannot control our possession – thus, it was never our property.
So yes, your argument is proven through law and ratiocination.
Nyberg v Handelaar (1892) In sale of goods/services transactions, the ownership of the seller, the transfer of which, for a money consideration is the hallmark of a sale is called the general property [and is being delivered as other than the special property].
Special property is used to signify the possessory entitlement of a pledge.
Possession & ownership together exhausting the category of legal property rights in a chattel. It follows that the general property is the ownership, in view of the identification of special property with possession.
s3(1) A contract for a sale of goods is a contract whereby the seller transfers or agrees to transfer the general property in goods to the buyer for a money consideration, called the price.
Dublin City Distillery v Doherty  delivery means voluntary transfer of possession from one person to another. Delivery is a bilateral matter. The buyer must simultaneously demonstrate an intention to assume control.
Kuwait Airways Corp. v Iraqi Airways Co  (HL): there are many common situations where the owner may not, in fact, be in a position to enjoy the property objrct in question, because the right to possession has been given up.
Young v Hitchens (1844): possession as a legal concept consists of two elements: [i] the exercise of factual control over the chattel [ii] the concomitant intention to exclude others from exercising control.
Analysis: The analytical question of whether a bank note is a chattel or a chose in action may shed a little light on the question.
A banknote was once a promissory pledge: redeemable to a specific weight in gold/silver. As this is no longer the case, the banknote has become a chattel. Thus, money, in the form of a banknote, is capable of becoming general property and being delivered.
Delivery, gives possession, to the other party. Therefore, when I exchange my labour for the chattel money, and it is delivered to my possession, certain elements of the various requirements are made.
The issue that remains is: do I have the intention to exclude others from exercising control? Clearly, the answer in the majority of cases is yes.
As the quality of redemption has been defaulted upon, there is of course an argument that control/possession of 'real' money, viz, an exchangeable commodity good is retained, viz, ownership.
Alternatives to money, are valued in money. The value of bonds, insurance contracts or deposits is expressed in Dollars.
Incidentally, if your reserve currency is the US$, you are merely allowed the decency to call your currency the Pound Sterling or the Yen. But you are arithmetically tied to the US$ so you have, for all intents and purposes, dollarized your economy. The utility of assimilating other economies in your monetary system is due to the diminishing marginal utility of debt. When a country chooses to make its currency convertible to the US$, this effectively constitutes an expansion of US GDP if only by proxy.
Ergo, convertibility is what allows the Federal Reserve to contrast the diminishing marginal utility of debt thereby extending the life of the Have central banks ever pursued their prerogative to enforce their ownership of the currency? Of course they have.
The most recent example was the Euro. But Argentina and Zimbabwe have repeatedly withdrawn their money in circulation and substituted it with a currency of different value. The difference between what Zimbabwe does and what the Fed does is merely a question of size. The Zimbabwe Dollar only circulates in a small economy so the diminishing marginal utility of debt quickly reaches its limits. Think of the first time the US$ monetary system hit the buffers in 1929. The great depression only began to resolve with the Land Lease Act and then WWII.monetary system AND absorbing assets along the way.
Value is an intangible quality, measured by marginal utility, which is unique to each individual. The theory of marginal utility mandates that an increasing quantity of X will reduce the desire to increase the quantity further in relation to marginal utilities of other goods/services.
This was commonly referred to as the paradox of value which sort to understand why water, critical to life, was priced in exchange [money] terms lower than diamonds.
Gold has exchange value based on two very separate properties. The first is it's commodity based useage for dental fillings, jewellery, electronics, etc. The second, is it's use as money, that has endured now for thousands of years.
The consistency of gold as money, is key to understanding the marginal utility, or value of gold, and hence the money price, or exchange value that it commands for other goods/services.
Fiat money can be created at the States pleasure or need. Their need seems to expand infinitely, thus, the exchange value is diluted continuously and is drifting inexorably to zero.
Exchange markets, based on money, are critical to maintain the standard of life that we enjoy. Money as a good and service, is critical to their functioning, barter exchange would put us back to the Dark Ages.
While it is always possible that some other commodity could serve as money, after thousands of years fulfilling that function, it is highly unlikely that gold & silver would relinquish that service. Therefore, while placing a precise value, or marginal utility on gold is not possible, zero is a highly unlikely outcome.
Interest and devaluation are two different dynamics. Although the result is the same, one is overt the other covert.
Both dynamics however are carried out arbitrarily.
Both dynamics are made possible by the fact that we have no ownership of money.
Only in an unencumbered monetary system would interest rise and fall according to time preference.
When interest is manipulated unilaterally and arbitrarily however, it most certainly affects the exchange value of money creating an asymmetrical purchasing power advantage in favour of the earlier recipients of money.
So the only way to manipulate the interest rate is through inflation, creating money to maintain and overcome time preference. So it is more accurate to talk about inflation rather than the interest rate, as the natural rate of interest is not able to be manipulated by Central Bank. The natural rate of interest, eventually, dictates the the trend of the economy.
Constant devaluation leads inevitably to increase cost of living AND hardening of the fiscal framework.
18 U.S. Code § 333 – Mutilation of national bank obligations Whoever mutilates, cuts, defaces, disfigures, or perforates, or unites or cements together, or does any other thing to any bank bill, draft, note, or other evidence of debt issued by any national banking association, or Federal Reserve bank, or the Federal Reserve System, with intent to render such bank bill, draft, note, or other evidence of debt unfit to be reissued, shall be fined under this title or imprisoned not more than six months, or both.
So ownership of bank bills etc is retained by the State. But there is nothing preventing one from immediately converting fiat to a commodity money [silver/gold] and thereby negating the effect of non-legal ownership by oneself, converting possession to legal title.
However possession in law is almost as powerful as ownership of legal title. Possession is defined as the ability to control by oneself, and preventing the assertion of control by all others.
Taxation would be the exception to possession being complete. The State through the coercive power wielded, can demand fiat money to be yielded up, thus effectively retaining legal title.
As previously stated, the issue is not legal ownership per se, it is the ability [through control of the money supply, which is provided through ownership] to create fiat at will, without any legal constraints. This is not 'interest', rather it is an additional hidden tax.
Which rather begs the question…how do you avoid the tax?
Through debt. By holding minimal fiat and the majority in real assets through debt. You use the depreciating fiat cash-flow to service the depreciating debt value. For most, this means a mortgage, as this provides the maximum leverage that the average person can acquire.
So what if you own your own home? Re-mortgage and invest the fiat into real productive assets, common stock being the primary investment vehicle. The cash-flow from dividends can off-set much of the repayment costs of the mortgage.
Ducati… I've had an epiphany in the past few weeks. Appreciate your comments on the thought process if you would indulge me.
Presumably democratic countries are predicated on a fundamental arithmetical problem that, assuming they are aware of it, few want or are ready to discuss.
The money that is imposed by the state is the legal property of the central bank.
There are three major issues here: [a] the vast majority of 'money' is not held as fiat currency at all…it is held as an [electronic] deposit. What about the 'monyness'of: bonds, insurance contracts, alternative currencies? [b] a deposit account in law is a chose in action [intangible property] which consists of an entitlement arising from obligations that are enforceable at law. [c] transfer of [legal] rights of assignment deal with the transfer of choses in action, and thus whether property could be retained by Central Banks for fiat currency. So without undertaking a legal analysis, the answer to that assertion is unclear at the moment.
Would Central Banks, even if in law they retained property rights, actually ever pursue those rights given that the legal right to print fiat currency underlies their power in the first place? A wholesale abandonment of fiat currency for say gold…would likely cause a crisis that would precipitate their collapse.
Since money is the legal property of the central bank, the money that is circulated for use is only lent to society at interest.
Money lent at interest is inherently debt.
Accepting for the sake of discussion that this is true, certainly inflation is a tax on fiat currency's purchasing power. Could it be construed as 'interest'? I think you would need to define 'interest' first and foremost.
If you agree that your ideas and your skills are your natural God given property, then in accepting money in exchange for your work you are inherently exchanging something you own (your skills) for something you do not own (money).
I agree with the premise, I'm not sure that the conclusion follows based on previous objections.
But money requires that interest be paid to the central bank.
Thus, by exchanging something you own outright for something you owe interest on, you are inherently and inevitably in debt.
This is the fundamental iniquity built into the architecture of this monetary system the ramifications of which reach far and wide giving rise to real life, arithmetically preordained results at the social, political and economic levels.
I accept that inflation is a tax. An exchange of values, that depreciates post-exchange is not an equitable exchange.
Interest however does not ceteris paribus affect the exchange value of money. Interest is time preference, which allows for a discounted value of money to be calculated. Taxation through inflation does however alter the value of money through dilution.
Effectively, if you have a basic grasp of arithmetic, you can work out how this dynamic will eventually channel wealth towards the owner of the currency … which brings us to today…. ?
Well certainly government through policy advocates wealth redistribution!
Monday is the third Monday in October, marking the anniversary of "Black Monday," the day of the 1987 stock market crash that saw the Dow fall more than 22%, its worst day in history.
It was sheer panic on Wall Street.
David Rosenberg, now chief strategist at Gluskin Sheff, told Barry Ritholtz on his Masters in Business radio program back in September that "Black Monday" is the scariest thing he's seen in his time on Wall Street.
"I've been through the savings & loan crisis, I've been through what happened in 1994, the tech wreck, I was there on Wall Street between New Century Financial, and Bear Stearns, and Lehman, and AIG, but I'll tell you something: the palpable fear, there was nothing like October 19, 1987," Rosenberg said.
Black Monday also happened to be Rosenberg's first day on Wall Street.
On that Monday, Rosenberg joined the Bank of Nova Scotia as an economist after working for the Canada Housing and Mortgage Corporation, which Rosenberg said is like the Canadian equivalent of Fannie Mae.
Amid this panic, Rosenberg remembers the economists who brought him on to work at Bank of Nova Scotia going around to every part of the bank — including the CEO's office — and remaining totally calm.
This past Wednesday amid choppy trade and historic volatility in the bond market, we highlighted comments from Rosenberg who reminded investors to take a deep breath and remember what is important for building wealth.


text:
Shadow of Memories  (シャドウ·オブ·メモリー Shadou obu Memorīzu), también conocido como Shadow of Destiny en EE.UU., es un videojuego del género aventura gráfica desarrollado, publicado y distribuido por la empresa Konami para la consola PlayStation 2 en 2001. Originalmente apareció sólo en esta consola, pero en 2002 fue versionado para Xbox y Microsoft Windows por la empresa Runecraft.

Una versión para PlayStation Portable fue puesta a la venta en Japón en octubre de 2009 y en enero de 2010 en los EE.UU.. Como novedad, esta versión cuenta con un nuevo doblaje.

Sistema de juego
El objetivo de Shadow of Memories es guiar a Eike Kusch, personaje protagonista que el jugador controla, a través de la ciudad ficticia alemana Lebensbaum (Árbol de la Vida) en su viaje a través del tiempo para prevenir su propia muerte y desenmascarar a su asesino. El juego se desarrolla en tres partes: un prólogo, ocho capítulos y un epílogo. En el prólogo y cada capítulo, Eike muere, resucita gracias a un personaje no jugable llamado Homunculus, y viaja en el tiempo antes de su muerte, con la intención de cambiar los acontecimientos para impedirlo. Shadow of Memories carece de elementos de acción tradicionales, y Eike no puede atacar ni tiene un indicador de salud. Posee un aparato llamado Digipad, una herramienta de viajero en el tiempo entregado a Eike por Homunculus. Requiere unidades de energía para su funcionamiento, que el jugador puede encontrar repartidas por la ciudad. El modo de juego consiste principalmente en viajar por el tiempo través de diferentes épocas, búsqueda de pistas, y la interacción mediante diálogos con los personajes no jugadores. Las acciones y conversaciones efectuadas en un período de tiempo concreto, afectará a las futuras. Por ejemplo, si Eike elimina un sello de la mansión del hacendado en 1580, el sello no aparecerá en la época actual.

Además, el juego muestra continuamente dos relojes digitales: uno muestra la hora de la época actual y otro indica la hora de la etapa temporal en la que el jugador se encuentra. La cantidad de tiempo que Eike pasa en las diferentes épocas también avanza en la actual. Las escenas de video y el diálogos conducen a numerosas variables de tiempo en el juego. Cuando el reloj llega en el momento de la muerte de Eike, los capítulos se reinician. Sin embargo, si Eike no está en su período de tiempo en el momento de su muerte, el juego termina.

Sinopsis
Situado en un pueblo ficticio alemán llamado Lebensbaum (Árbol de la Vida), Shadow of Memories gira en torno a un hombre de 22 años de edad llamado Eike Kusch, quien muere en al principio del juego al ser apuñalado después de salir de un restaurante. Sin embargo, él es revivido por un misterioso personaje llamado Homunculus, que se ofrece a enviarlo de vuelta a tiempo para evitar su muerte y le da el Digipad para poder viajar en el tiempo. Eike puede viajar hasta a cuatro eras (2001, 1980, 1902 y 1580) en su intento de desenmascarar a su asesino y encontrar una manera de evitar su propio asesinato en varios puntos del presente. En el camino se encuentra con varios personajes: Dana, una camarera del presente quien, accidentalmente, viajan juntos al año 1580 y la pierde; la Pitonisa, que le dice a Eike la hora de su muerte; Eckart Brum, un doctor privado dueño de un museo de arte que perdió a su esposa y su pequeña hija en un tiroteo; Dr. Wolfgang Wagner, un alquimista que vive en 1580 con su esposa, Helena, y sus dos hijos, Hugo y Margarette; y Alfred Brum, el bisabuelo de Eckart.

Finales
Shadow of Memories consta de ocho finales, seis de ellos disponibles en un primer momento. Los dos últimos podrán obtenerse al conseguir los seis primeros. Los finales se presentan en formato alfabético (Finales A, B, C, D y E), con la excepción del Final B que tiene dos variantes, y luego dos finales "EX" (extras) que explican o cierran las tramas que quedan sueltas en los anteriores finales.

Desarrollo
Fue desarrollado por Konami Computer Entertainment Tokyo. Una demo jugable de Shadow of Memories fue mostrada en el Tokyo Game Show en septiembre del año 2000. En su etapa de desarrollo, el juego sufrió de varios cambios de nombre: The Day and Night of Walpurgisnacht, Days of Walpurgis y Time Adventure. Konami lanzó Shadow of Memories para PlayStation 2 en Japón el 22 de febrero de 2001, en América del Norte el 5 de marzo de 2001 y en Europa el 30 de marzo de 2001. En 2002, la ahora desaparecida desarrolladora Runecraft hizo una versión del juego para PC, mientras que una versión para Xbox apareció simultáneamente en Europa y Australia. Una versión para PlayStation Portable se lanzó en 2009 en Japón y en América del Norte.

Referencias

Enlaces externos
 Análisis de Shadow of Memories (Meristation)

Videojuegos para PlayStation 2
Videojuegos para Xbox
Videojuegos para Windows
Videojuegos para PlayStation Portable
Videojuegos de 2001
Videojuegos de Konami
Aventuras gráficas
Videojuegos con finales alternativos
Viajes en el tiempo en videojuegos