text:
'use strict';

var helper = require('./test-helper'),
    Schema = require('../lib/schema'),
    Scan   = require('../lib/scan'),
    _      = require('lodash'),
    chai   = require('chai'),
    expect = chai.expect,
    Joi    = require('joi');

chai.should();

var internals = {};

internals.assertScanFilter = function (scan, expected) {
  var conds = _.map(scan.request.ScanFilter, function (c) {
    return c.format();
  });

  if(!_.isArray(expected)) {
    expected = [expected];
  }

  conds.should.eql(expected);
};

describe('Scan', function () {
  var schema,
      serializer,
      table;

  beforeEach(function () {
    serializer = helper.mockSerializer(),

    table = helper.mockTable();
    table.tableName = function () {
      return 'accounts';
    };

    table.docClient = helper.mockDocClient();

    var config = {
      hashKey: 'name',
      rangeKey: 'email',
      schema : {
        name : Joi.string(),
        email : Joi.string(),
        created : Joi.date()
      },
      indexes : [{ hashKey : 'name', rangeKey : 'created', type : 'local', name : 'CreatedIndex'}]
    };

    schema = new Schema(config);
    table.schema = schema;
  });

  describe('#exec', function () {

    it('should call run scan on table', function (done) {
      table.runScan.yields(null, {ConsumedCapacity: {CapacityUnits : 5, TableName: 'accounts'}, Count: 10, ScannedCount: 12});
      serializer.serializeItem.returns({name: {S: 'tim'}});

      new Scan(table, serializer).exec(function (err, results) {
        results.ConsumedCapacity.should.eql({CapacityUnits: 5, TableName: 'accounts'});
        results.Count.should.equal(10);
        results.ScannedCount.should.equal(12);

        done();
      });
    });

    it('should return LastEvaluatedKey', function (done) {
      table.runScan.yields(null, {LastEvaluatedKey: {name : 'tim'}, Count: 10, ScannedCount: 12});
      serializer.serializeItem.returns({name: {S: 'tim'}});

      new Scan(table, serializer).exec(function (err, results) {
        results.Count.should.equal(10);
        results.ScannedCount.should.equal(12);

        results.LastEvaluatedKey.should.eql({name : 'tim'});

        done();
      });
    });

    it('should return error', function (done) {
      table.runScan.yields(new Error('Fail'));

      new Scan(table, serializer).exec(function (err, results) {
        expect(err).to.exist;
        expect(results).to.not.exist;
        done();
      });
    });

    it('should run scan after encountering a retryable exception', function (done) {
      var err = new Error('RetryableException');
      err.retryable = true;

      table.runScan
        .onCall(0).yields(err)
        .onCall(1).yields(err)
        .onCall(2).yields(null, {Items : [{name : 'foo'}]});

      new Scan(table, serializer).exec(function (err, data) {
        expect(err).to.not.exist;
        expect(data).to.exist;
        expect(data.Items).to.have.length(1);

        expect(table.runScan.calledThrice).to.be.true;
        done();
      });
    });

  });

  describe('#limit', function () {

    it('should set the limit', function () {
      var scan = new Scan(table, serializer).limit(10);

      scan.request.Limit.should.equal(10);
    });

    it('should throw when limit is zero', function () {
      var scan = new Scan(table, serializer);
      expect(function () {
        scan.limit(0);
      }).to.throw('Limit must be greater than 0');
    });

  });

  describe('#attributes', function () {

    it('should set array attributes to get', function () {
      var scan = new Scan(table, serializer).attributes(['created']);
      scan.request.AttributesToGet.should.eql(['created']);
    });

    it('should set single attribute to get', function () {
      var scan = new Scan(table, serializer).attributes('email');
      scan.request.AttributesToGet.should.eql(['email']);
    });

  });

  describe('#startKey', function () {
    it('should set start Key to hash', function () {
      var key = {name: {S: 'tim'}};
      serializer.buildKey.returns(key);

      var scan = new Scan(table, serializer).startKey('tim');

      scan.request.ExclusiveStartKey.should.eql(key);
    });

    it('should set start Key to hash + range', function () {
      var key = {name: {S: 'tim'}, email : {S: 'foo@example.com'}};
      serializer.buildKey.returns(key);

      var scan = new Scan(table, serializer).startKey({name: 'tim', email: 'foo@example.com'});

      scan.request.ExclusiveStartKey.should.eql(key);
    });
  });

  describe('#select', function () {

    it('should set select Key', function () {
      var scan = new Scan(table, serializer).select('COUNT');

      scan.request.Select.should.eql('COUNT');
    });
  });

  describe('#ReturnConsumedCapacity', function () {

    it('should set return consumed capacity Key to passed in value', function () {
      var scan = new Scan(table, serializer).returnConsumedCapacity('TOTAL');
      scan.request.ReturnConsumedCapacity.should.eql('TOTAL');
    });

    it('should set return consumed capacity Key', function () {
      var scan = new Scan(table, serializer).returnConsumedCapacity();

      scan.request.ReturnConsumedCapacity.should.eql('TOTAL');
    });
  });

  describe('#segment', function () {

    it('should set both segment and total segments keys', function () {
      var scan = new Scan(table, serializer).segments(0, 4);

      scan.request.Segment.should.eql(0);
      scan.request.TotalSegments.should.eql(4);
    });
  });

  describe('#where', function () {
    var scan;

    beforeEach(function () {

      var config = {
        hashKey: 'name',
        rangeKey: 'email',
        schema : {
          name : Joi.string(),
          email : Joi.string(),
          created : Joi.date(),
          scores : Schema.types.numberSet()
        },
        indexes : [{ hashKey : 'name', rangeKey : 'created', type : 'local', name : 'CreatedIndex'}]
      };

      schema = new Schema(config);
      table.schema = schema;

      scan = new Scan(table, serializer);
    });

    it('should have equals clause', function() {
      scan = scan.where('email').equals('foo@example.com');

      internals.assertScanFilter(scan, {AttributeValueList: [{S: 'foo@example.com'}], ComparisonOperator: 'EQ'});
    });

    it('should have not equals clause', function() {
      scan = scan.where('email').ne('foo@example.com');

      internals.assertScanFilter(scan, {AttributeValueList: [{S: 'foo@example.com'}], ComparisonOperator: 'NE'});
    });

    it('should have less than or equal clause', function() {
      scan = scan.where('email').lte('foo@example.com');

      internals.assertScanFilter(scan, {AttributeValueList: [{S: 'foo@example.com'}], ComparisonOperator: 'LE'});
    });

    it('should have less than clause', function() {
      scan = scan.where('email').lt('foo@example.com');

      internals.assertScanFilter(scan, {AttributeValueList: [{S: 'foo@example.com'}], ComparisonOperator: 'LT'});
    });

    it('should have greater than or equal clause', function() {
      scan = scan.where('email').gte('foo@example.com');

      internals.assertScanFilter(scan, {AttributeValueList: [{S: 'foo@example.com'}], ComparisonOperator: 'GE'});
    });

    it('should have greater than clause', function() {
      scan = scan.where('email').gt('foo@example.com');

      internals.assertScanFilter(scan, {AttributeValueList: [{S: 'foo@example.com'}], ComparisonOperator: 'GT'});
    });

    it('should have not null clause', function() {
      scan = scan.where('email').notNull();

      internals.assertScanFilter(scan, {ComparisonOperator: 'NOT_NULL'});
    });

    it('should have null clause', function() {
      scan = scan.where('email').null();

      internals.assertScanFilter(scan, {ComparisonOperator: 'NULL'});
    });

    it('should have contains clause', function() {
      scan = scan.where('email').contains('foo@example.com');

      internals.assertScanFilter(scan, {AttributeValueList: [{S: 'foo@example.com'}], ComparisonOperator: 'CONTAINS'});
    });

    it('should not pass a number set when making contains call', function() {
      scan = scan.where('scores').contains(2);

      internals.assertScanFilter(scan, {AttributeValueList: [{N: '2'}], ComparisonOperator: 'CONTAINS'});
    });

    it('should have not contains clause', function() {
      scan = scan.where('email').notContains('foo@example.com');

      internals.assertScanFilter(scan, {AttributeValueList: [{S: 'foo@example.com'}], ComparisonOperator: 'NOT_CONTAINS'});
    });

    it.skip('should have in clause', function() {
      // TODO there is a bug in dynamodb-doc lib
      // that needs to get fixed til this test can pass
      scan = scan.where('email').in(['foo@example.com', 'test@example.com']);

      var expected ={
        AttributeValueList: [{S: 'foo@example.com'}, {S: 'test@example.com'}],
        ComparisonOperator: 'IN'
      };

      internals.assertScanFilter(scan, expected);
    });

    it('should have begins with clause', function() {
      scan = scan.where('email').beginsWith('foo');

      internals.assertScanFilter(scan, {AttributeValueList: [{S: 'foo'}], ComparisonOperator: 'BEGINS_WITH'});
    });

    it('should have between clause', function() {
      scan = scan.where('email').between('bob@bob.com', 'foo@foo.com');

      var expected = {
        AttributeValueList: [
          {S: 'bob@bob.com'},
          {S: 'foo@foo.com'}
        ],
        ComparisonOperator: 'BETWEEN'
      };

      internals.assertScanFilter(scan, expected);
    });

    it('should have multiple filters', function() {
      scan = scan
        .where('name').equals('Tim')
        .where('email').beginsWith('foo');

      var expected = [
        {AttributeValueList: [{S: 'Tim'}], ComparisonOperator: 'EQ'},
        {AttributeValueList: [{S: 'foo'}], ComparisonOperator: 'BEGINS_WITH'}
      ];

      internals.assertScanFilter(scan, expected);
    });

    it('should convert date to iso string', function() {
      var d = new Date();
      scan = scan.where('created').equals(d);

      internals.assertScanFilter(scan, {AttributeValueList: [{S: d.toISOString()}], ComparisonOperator: 'EQ'});
    });

  });

  describe('#loadAll', function () {

    it('should set load all option to true', function () {
      var scan = new Scan(table, serializer).loadAll();

      scan.options.loadAll.should.be.true;
    });
  });

  describe('#filterExpression', function () {

    it('should set filter expression', function () {
      var scan = new Scan(table, serializer).filterExpression('Postedby = :val');
      scan.request.FilterExpression.should.equal('Postedby = :val');
    });
  });

  describe('#expressionAttributeValues', function () {

    it('should set expression attribute values', function () {
      var scan = new Scan(table, serializer).expressionAttributeValues({ ':val' : 'test'});
      scan.request.ExpressionAttributeValues.should.eql({ ':val' : 'test'});
    });

  });

  describe('#expressionAttributeNames', function () {

    it('should set expression attribute names', function () {
      var scan = new Scan(table, serializer).expressionAttributeNames({ '#name' : 'name'});
      scan.request.ExpressionAttributeNames.should.eql({ '#name' : 'name'});
    });
  });

  describe('#projectionExpression', function () {

    it('should set projection expression', function () {
      var scan = new Scan(table, serializer).projectionExpression( '#name, #email');
      scan.request.ProjectionExpression.should.eql('#name, #email');
    });
  });

});

redpajama_set_name: RedPajamaGithub


We've put together a quick guide to take you from a rookie to a skilled poker player in no time! Whether you're playing for small or large stakes online poker is a fun and entertaining casino game that can be frustrating but also very rewarding. At first it can take a short time to understand the game and rules, however once you start to understand the game it can become enjoyable and profitable.
Before you start throwing your chips on the table, it's important to know the winning poker hands! At the start of the poker game every player will be dealt two cards, it's extremely important that you don't reveal these cards to your opponents. During the game five more cards will be dealt to the center of the table, combine these five cards with your two cards to try and make the best 5-card poker hand.
Think you're ready to take the tables? If you're still not 100% confident with your poker skills, you can always play for fun money until you feel ready to play for real. With over 5 different variety of online poker at Slotastic, including Texas Hold 'Em, Jacks or Better, Joker Poker and All American Poker, there are plenty of chances for you to try your new poker strategy and find the game that suits you!
Pull up a chair at the table today, stack your chips and get ready to unravel hours of thrills with this fun and skilled casino game!


text:
T.J. the Sports Geek's 2017 MLB Season Preview
Welcome to my 2017 MLB Season Preview. Last year we saw the Chicago Cubs win their first world championship in 108 seasons,beating the Cleveland Indians in seven games. Can they do it again this year and make it back-to-back? Will it be a different National League team like the Nationals or the Dodgers? Will it be the Giants? Will it be the American League taking the trophy home? Do the Indians have a chance to return to the show? Will it be the Rangers? Will it be the Red Sox? Will it be someone else? Here is my season preview to show who I think will be doing well and who will be drafting high.
Texas Rangers (91-71)
Texas' World Series hopes ended early last year when they were swept by the Blue Jays in the ALDS. Manager Jeff Banister's squad looks to repeat as division champions as well as get further in the postseason. The Rangers added Mike Napoli and James Loney to an already outstanding outfield and bolstered their rotation by signing Andrew Cashner. Can Adrian Beltre,Cole Hamels,Yu Darvish and company get back to the playoffs and even a World Series? We're about to find out!
Houston Astros (87-75)
Last season,the Astros were not able to duplicate their success of the 2015 season,winning just 84 games. But Houston has big hopes to get back to not just the playoffs,but to try to win the division. Josh Reddick comes over from the Dodgers and joins George Springer in the Astros outfield while veteran catcher Brian McCann will add leadership to this team and joins a star-studded infield with Carlos Correa and Jose Altuve. I think this team will look a lot better and though I'm projecting them to finish in second place, it wouldn't surprise me if they made a deep postseason run.
Seattle Mariners (85-77)
The clock is ticking for this Seattle team to make the postseason and the front office knows it. They added to their core a lot of quality,serviceable players like Yovani Gallardo, Jean Segura,Danny Valencia and Drew Smyly. Chris Heston also joins the M's where he spent a year in the minors and has major league starting experience. Felix Hernandez,Robinson Cano,and Nelson Cruz aren't getting any younger,so if the Mariners are going to make their first postseason splash in a decade and a half,this is the time.
Oakland Athletics (76-86)
The wheels of the A's have been falling off ever since Yoenis Cespedes was traded in the summer of 2014. Since then,the team has played subpar baseball and traded everyone who is good like they always do.A Added to the A's line-up this year are Matt Joyce,who is good at times but has had health issues, Rajai Davis,and Trevor Plouffe. The bullpen adds Santiago Casilla,who in 2016 blew 10 saves for the Giants. Khris Davis was a huge bright spot for Oakland last season,mashing 42 home runs. Fans are hoping for a duplicate performance. Sonny Gray looks to have a better season and Stephen Vogt looks to continue his All-Star form. All in all, I think the A's are gonna be a little better,but not by much.
Anaheim Angels (73-89)
Gone are the days when the Halos scored more runs than anyone in baseball. Yes,they have Mike Trout,and yes,he is arguably baseball's best player,but even he isn't able to win on his own. Albert Pujols is 37 and on the downslope of his career and making way too much money ($28 million). They did add Cameron Maybin and Ben Revere to bolster the outfield and they do have Andrelton Simmons and Yunel Escobar in the infield. They have some talent and are great defensively,but I don't see much noise coming from them this year. Trout deserves a better supporting cast.
Cleveland Indians (95-67)
The Indians had a 3-1 World Series lead before the Cubs came back to win it and they now have baseball's longest championship drought as a result. Terry Francona's team hopes to rectify that this year and do what they should have done last year. Joining the Tribe in that quest are Edwin Encarnacion,Austin Jackson,and Boone Logan. They hope to help Francisco Lindor, Jason Kipnis,Michael Brantley and Carlos Santana in ending the Indians' title drought. Corey Kluber,Carlos Carrasco,and Danny Salazar head Cleveland's starting rotation and Andrew Miller will be tapped to close them out. I think the Indians are still very good enough to win it all and should've done so last season. They're too good not to.
Kansas City Royals (86-76)
After winning it all in 2015, the Royals had a disappointing season winning only 81 games. They do,however,have their core players from that team still and that group is hoping to make a run at the postseason once more. This team suffered a major loss when starting pitcher Yordano Ventura died in a car accident. Jason Hammel was signed in the wake of Ventura's passing. He,along with Travis Wood and Ian Kennedy will headline the rotation. Brandon Moss joins the Kansas City line-up with Eric Hosmer, Alex Gordon, Alcides Escobar,Lorenzo Cain,and Mike Moustakas. I think this team's core is very good still,but if they're going to be a playoff team,this year is it. Hosmer,Cain,and others hit free agency next year.
Detroit Tigers (84-78)
The Tigers are a confusing bunch to me. On one hand,they could make some noise once/if they make the playoffs, on the other hand things could go south and a fire sale could happen at midseason. They still have Justin Verlander who is one of the league's best pitchers and they're hoping Jordan Zimmermann can have a productive year as well. They still boast a stellar line-up with Ian Kinsler,Miguel Cabrera,Victor Martinez,and Justin Upton. Detroit,like I said,could do some amazing things this year if all cylinders are firing, but to play it safe,I have them finishing just shy of the last Wild Card.
Chicago White Sox (73-89)
The White Sox are in a bit of a rebuilding mode,but they did have a fair offseason when they added starting pitchers Derek Holland and James Shields to the mix. Veteran catcher Geovany Soto comes over to provide a presence behind the dish. One player who Chicago fans are waiting for is infielder Yoan Moncada,who is their top prospect and could come up sometime this season. Jose Abreu and Todd Frazier will be the stars of this team,a team that I think is going to need a season or two before they're really competitive.
Minnesota Twins (71-91)
After a nightmare of a season in 2016, the Twins can only go up from here,and they will do so with one of baseball's youngest squads. Brian Dozier is still in the Twin Cities after rumours that was on the trading block in hot stove season. He still could be,but for now,he's still here. Add in Brian Buxton,Miguel Sano,and Max Kepler and you have a good young mix of players who should be productive for years to come. Ervin Santana and Phil Hughes head a young rotation with Jose Berrios hoping to make a splash. Minnesota isn't a good team yet,but they're getting there.
Boston Red Sox (93-69)
The Red Sox finished with the exact same record I have them projected at this year. Yes,even without Big Papi. They added Chris Sale to their rotation in the offseason and first baseman Mitch Moreland. They join an outstanding group of players such as David Price,Craig Kimbrel,Rick Porcello who round out the rotation and veterans Hanley Ramirez,Dustin Pedroia,and Pablo Sandoval. Jackie Bradley,Jr. and Mookie Betts hope to continue to produce for Boston. I think they are by far the best team in the division and should win it again this season.
Toronto Blue Jays (89-73)
The Jays have made two straight postseasons and hope to make it three in a row. They added some great veterans to try and make that happen like Kendrys Morales,Steve Pearce,and J.P. Howell. One thing that's going to be hard is replacing Edwin Encarnacion, but they still have a lot of pop in the line-up with Josh Donaldson,Troy Tulowitzki and Jose Bautista. Melvin Upton,Jr. will platoon in left field with Ezequiel Carrera. I think these guys are very much in the fold for another playoff berth,but not a division crown unless they make a move at the deadline to make it happen.
Baltimore Orioles (84-78)
Last season,the Orioles made their third postseason trip in five seasons. Unfortunately they bungled a chance to beat the Blue Jays in the Wild Card game by not having their closer,Zach Britton, come out to pitch when he was fresh and available. In any case,Baltimore is going to have to mash that ball into the outfield stands to get back to the postseason because the starting rotation was among the worst of all of the 2016 postseason teams and it doesn't look any better than it was last season. Mark Trumbo looks to continue to his 2016 success as he led the majors in home runs with 47. He leads a great cast of hitters like Adam Jones,Manny Machado,and Chris Davis. I think the O's fall short of the postseason unless they can get some better starting pitching at the deadline.
New York Yankees (82-80)
The youth movement in the Bronx is starting to begin and Joe Girardi is counting on his younger squad to get back to postseason play. They did add some veterans in the offseason in Matt Holliday,bringing back Aroldis Chapman,and Chris Carter. Gary Sanchez had an incredible season in 2016 and he hopes to have just as good of a season,if not better. What I'm skeptical of is the starting pitching. Is it going to be better? Is CC Sabathia going to prove to be as serviceable as he was last year? Is Masahiro Tanaka going to stay healthy? Overall,I think the Yankees will start off hot,but in the end will have to make do with a paltry just over .500 record.
Tampa Bay Rays (70-92)
The Rays haven't been very good the last few seasons and the days where they were in the postseason are in the rearview mirror. I think they're rebuilding continues,but with some veterans in the mix,the key one being Wilson Ramos. Colby Rasmus also comes to St.Petersburg from Houston via free agency. While the Rays did finish sixth in the majors in home runs and guys like Corey Dickerson and Evan Longoria were launching them out, that alone won't get them back to prominence. I'm also interested to know if Chris Archer is going to even be on this team by the time the trade deadline comes around. In any case,it'll be a long season for the Rays and the 120 fans who show up to the games.
Los Angeles Dodgers (93-69)
The Dodgers made it to the NLCS last season only to be upended by the Cubs on their quest to end a century-long championship drought. The quest to get back and get further continues. Kenley Jansen returns to be the bullpen's ace and the rotation boasts great aces Clayton Kershaw,Rich Hill,and Scott Kazmir. The batting order is quite robust as well with Adrian Gonzalez,Yasmani Grandal, Justin Turner,and Joc Pederson. As much as I want the Dodgers not to win a division title,I don't see anything less for them this year.
San Francisco Giants (90-72)
The Giants had a bad second half to the season,which saw them get bounced by the Cubs in the NLDS. Ailing them was their bullpen and Mark Melancon comes to the team to close out the close ones.The infield is among baseball's best and Brandon Crawford and Buster Posey should have great seasons. The outfield is a little shakier,but the ever-reliable (when healthy) Hunter Pence is there to anchor it. The starting rotation is solid with Madison Bumgarner and Johnny Cueto as your 1 and 1A aces,Jeff Samardzija,and Matt Moore. I like the Giants' chances to return to the playoffs this season,but a championship? That remains to be seen and wished for.
Colorado Rockies (81-81)
The Rockies actually had a pretty good offseason signing some quality free agents. Ian Desmond comes over to play first and joins a solid infield with Nolan Arenado,Trevor Story,and D.J. LeMahieu. Carlos Gonzalez and Charlie Blackmon anchor the outfield.The pitching rotation headed by Jon Gray and Chad Bettis will have to give Colorado the best they got. Their best pitching strength may be their bullpen as Adam Ottavino looks to get the closer spot and there are quality arms like Chad Qualls,Jason Motte,and Greg Holland in relief. I think Bud Black's team will be a lot better than years past,but they're not quite ready for the postseason yet.
Arizona Diamondbacks (75-87)
The Diamondbacks were a colossal disappointment last season after some big free-agent signings didn't get them anywhere. Under new management,they hope to have a bounceback year with A.J. Pollock leading off with the bat and playing great defense in the outfield with Yasmany Tomas and David Peralta. Paul Goldschmidt should continue to mash and is part of a good infield with Jake Lamb and Chris Iannetta. Zack Greinke and Shelby Miller hope to regain their form after having disappointing seasons where high expectations were placed on their shoulders. I expect Arizona to continue their rebuild of-sorts,but they will look better as a team.
San Diego Padres (69-93)
The city's only professional sports team is in rebuild mode,but should be an exciting team to watch as they do just that. Leading the way is Wil Myers who had his best year in his first full year as a pro with 28 home runs. He leads a young San Diego squad consisting of Hunter Renfroe,who some think may be a Rookie of the Year candidate,and Austin Hedges may get a shot as the everyday catcher. Manuel Margot and Travis Jankowski should be exciting to see in the outfield. Veterans Jered Weaver and Clayton Richard anchor the rotation for the Padres and Carter Capps could be an interesting add as closer. While the wins won't come as often as fans would like,they will see something good brewing.
Chicago Cubs (100-62)
The North Siders finally ended their 108-year title drought and won it all. Can they do it again? They're certainly look like the favorites to do so. Leading the way is their stellar pitching rotation of Jake Arrieta and Jon Lester as the top two arms with John Lackey as a great third option. Anthony Rizzo and Ben Zobrist make up half of a great infield that is led by NL MVP Kris Bryant. Jon Jay joins the outfield with Kyle Schwarber and Jason Heyward. They also added Wade Davis to the bullpen to be their new closer. Joe Maddon's bunch is still an absolutely deep team who I think have what it takes to repeat. The only question is if they will.
St. Louis Cardinals (89-73)
The Cards didn't make their usual postseason trip in 2016, but they hope to change that. They added Dexter Fowler to be their lead-off hitter and to play great defense in center field. The infield looks pretty good with Yadier Molina,Matt Carpenter,Kolten Wong,and Jhonny Peralta. I also like this rotation with Adam Wainwright,Lance Lynn,Carlos Martinez,and Michael Wacha. Brett Cecil comes over to give the bullpen a boost. I think the Cardinals have a good chance of getting back to the postseason despite being light years away from being the best team in this division.
Pittsburgh Pirates 82-80
Last season wasn't very good for the Pirates as they missed the postseason for the first time since 2012. The Bucs didn't have the most active of offseasons,but they are hoping that Andrew McCutchen can return to form after a lackluster 2016 season. He and Starling Marte will lead the outfield. Francisco Cervelli will put down the signs for the pitching staff,which consists of Gerrit Cole and Jameson Taillon. There are a lot of young players who are on their way to Pittsburgh,so the youth movement is coming. I think the Pirates will look better on the field and will win a few more games,but a postseason return is asking a little too much right now.
Milwaukee Brewers (75-97)
We're long past the days where the Brewers were gunning for a playoff spot. It is a team who is rebuilding and has a loaded farm system with talent that will be exciting to watch come up when the time comes. For now,it's a bunch led by Ryan Braun who still has a quality middle-of-the order bat in the line-up. One player I'm interested in seeing how well he does is Andrew Susac,the former Giant is vying to be the everyday catcher. Joining Susac in the infield is Jonathan Villar at second base,projected to lead off. The pitching rotation,led by Matt Garza,is looking better with Zach Davies and Junior Guerrera. Neftali Feliz,the former Ranger,looks to be the closer for Milwaukee. I think this will be another long season the Brewers,but in seasons to come the future looks bright.
Cincinnati Reds (66-96)
The Reds have had three straight losing seasons and will have to rely on their veterans and youngsters to put together a surprise season. They still have Joey Votto and they do have the ever-speedy Billy Hamilton. Adam Duvall had a monster season and should continue to be productive. The rotation has a few no-names on it,but is led by Brandon Finnegan and Robert Stephenson as the young pitchers in the farm system are a season away from coming to Cincinnati. They do have a nice bullpen with Drew Storen and Raisel Iglesias. It wouldn't surprise me,though,to see another near-100 loss season for the Big Red Machine.
Washington Nationals (93-69)
The Nationals had a better 2016 after missing the playoffs the year before and now Dusty Baker's bunch has bigger expectations. One of the key's to DC's World Series hopes is Bryce Harper having a bounce back season. Matt Wieters comes across the beltway to be behind the dish and in a leadership role on the team. Adam Eaton was acquired from the White Sox to get better in center field. The infield will continue to produce defensively with Daniel Murphy,Anthony Rendon,and Ryan Zimmerman. The rotation is one of baseball's best with Stephen Strasburg, Max Scherzer,and Gio Gonzalez. The closer at the moment is Shawn Kelley,but the role could go to Koda Glover at some point. The Nats will definitely be in the postseason fold and we'll see how far they'll go.
New York Mets (87-75)
The Mets were able to make a second straight postseason,but they didn't make it as far as they did the year prior. They do hope to change their fortunes this year with the same basic roster as 2016,but with David Wright on the shelf with a shoulder injury and Jose Reyes filling in for him. He is part of a great infield with Asdrubal Cabrera,Neil Walker,and Lucas Duda. The outfield has big bats in Jay Bruce, Curtis Granderson,and Yoenis Cespedes who re-signed in th offseason to stay in Queens. The rotation led by Noah Syndergaard will continue to shine with Jacob deGrom and Matt Harvey as the guys who start behind Thor. Jeurys Familia,the closer,may miss a lot of games to start the year due to domestic violence issues in the offseason. I think New York will be competitive and may get another crack at the postseason,but it'll be tougher.
Miami Marlins 77-85
Despite an eight-game improvement from the year before,the Marlins didn't make a good enough playoff push. If they are to do that,having a healthy Giancarlo Stanton is key. Stanton,along with Christian Yelich and Marcell Ozuna make up what may be baseball's best outfield. Dee Gordon is back after missing time last season after getting suspended for testing positive for steroids. The biggest question mark is how they'll perform after Jose Fernandez was killed in a boat accident near the end of last season. They did add Edinson Volquez and Dan Straily to help fill the void. They join Wei-Yin Chen in that rotation. The bullpen looks really good with A.J. Ramos as the closer and Brad Ziegler as the set-up man. Miami has the components to make some noise in the division,but I think they fall very short.
Atlanta Braves (76-86)
The Braves move into SunTrust Park and have a new cast of players joining them. Two of them are over 40 in pitchers Bartolo Colon,43,and R.A. Dickey,42. They join Jaime Garcia and Julio Teheran in a new-look rotation for Atlanta. Freddie Freeman leads the Braves' new look line-up with former Reds second baseman Brandon Phillips joining the infield along with Dansby Swanson,Tyler Flowers and Adonis Garcia. Matt Kemp returns along with Ender Inciarte and Nick Markakis to complete the outfield. All signs point to Jim Johnson being the team's closer. I expect the Braves to be much better than they were last season.
Philadelphia Phillies (67-95)
The Phils are in Develop Young Talent mode as they won 71 games last year. They'll need to start producing runs as they were dead last in the NL in that department. They did pick-up Howie Kendrick in the offseason to help bring a veteran presence to guide guys like Maikel Franco,Cameron Rupp,and Odubel Herrera. The pitching,led by Clay Buchholz and Aaron Nola will only continue to try and get better. I could definitely be wrong about Philadelphia finishing last in the division this year,but like I said,it's a year where young talent is going to try and develop,nothing more,nothing less.
Wild Card Game
Toronto over Houston
San Francisco over St. Louis
American League Divisional Series
Toronto over Cleveland
Texas over Boston
National League Divisional Series
Chicago over San Francisco
Washington over Los Angeles
American League Championship Series
Toronto over Texas
National League Championship Series
Chicago over Washington
Chicago over Toronto
ALCS, ALDS, American League, baseball, championship, division, divisional, MLB, National League, NLCS, NLDS, opinion, picks, playoffs, predictions, preview, prognostications, review, season, Series, sports, Wild Card, winners, World Series

redpajama_set_name: RedPajamaCommonCrawl


I have purposely tried to not comment about the Healthcare.gov website and it's issues, but the landslide of wrong-headed information written on the subject has prodded me into adding my small voice on the upside that someone reading my this post will learn from this software development fiasco that we all have paid so dearly for.
Most unfortunate for those trying to learn from this is that the issue is so politically charged that to discuss it objectively is nearly impossible. The desire to place blame is too deeply ingrained in the human psyche to not point fingers – and this, for anyone capable of laying politics aside is the second lesson – the lesson that assigning blame is a human instinct that is not always productive in solving problems. Root cause analysis is essential to fixing systemic issues and may tangentially point to individual failings, but placing blame should not be primary.
And this leads to the first problem – the fact that this issue can rarely be discussed without politics. Once we have chosen sides, not only do we move from objective root cause analysis to finger pointing, but we begin to be tainted with confirmation bias in that everything we hear, read, experience is pulled through this lens. Therefore, this means that anything contrary to our preconceived political leanings are completely ignored or logically forced into their respective procrustean bed.
In my agile world the cautionary tale is about how office politics can certainly derail our best efforts to be agile. It is only in an apolitical atmosphere where true organizational change can occur. Where facts are not valued and the truth depends on the individual posting it, then the frank, brutally honest conversations (borrowing from Jim Collins's saying in his book Good to Great) that are necessary to effect real change are never had. In some cases the only people capable of such brutal honesty are consultants with no vested interest or employees so fed up with the politics that they no longer fear losing their job.
One other political struggle that this instance has exposed is the continual struggle between the agile and waterfall camps. Each side has cherry picked their arguments in attempt to bolster their claims and for me to weigh in on one side or the other does little to further understanding. Of course, I come down on the agile side and believe that this project's failures can be tracked fundamentally to the fact that the project was in no discernible way agile. This argument is not even vaguely interesting to me.
The most interesting point I have heard (and agree wholeheartedly with) is that there are a number of individuals, myself included, who feel, given the proper non-political circumstances could accomplish this work for a small fraction of the cost with a much smaller team. The reason for our confidence is that most of us already have. interestingly not a single soul who has accomplished something of this magnitude has done so using anything other than agile methodologies.
While the political right claim it is big government's fault, this argument is somewhat disingenuous because the entities that failed are precisely the private sector companies that are supposedly our economic white knights. The real problem, when all the red herrings are swept away, is the procurement process itself that only allows for the largest, bureaucratic and bloated from the private sector to win contracts. Those companies who, by the very necessity of being small, are nimble will never get these contracts so failure is to actually be expected at the same rate (or worse) identified over the years by The Chaos Report.
A long time ago, government misinterpreted Winston Royce's "waterfall paper" and all contracts are written to favor waterfall development which has been shown to be a poor methodology in delivering complex software. Again and again we run into the core issue that the nature of software development is fundamentally misunderstood as being merely complicated so that throwing money and bodies at a problem (and these bodies can reside anywhere, with any company like interchangeable widgets) will lead to success. Because software development is complex it works best under agile which emphasizes feedback and communication. Simply the fact that so many vendors were working this project shows the complete lack of knowledge and gross incompetence of people who are paid well to supposedly understand software development. In fact, if people in charge actually understood software development then they would have known the job would have been done much better with a small band of government workers and not the disaffected armies of "private" companies.
The reason I and my agile friends know we could have done the work for much less and with infinitely better quality is because we know what software development is and we would have used smaller teams, fewer teams and co-located teams. We would have increased feedback and communication. We would have completed the most critical scope first and phased in improvements. We would have used test driven development and continuous integration and testing to ensure performance all along the way. In other words, we would have operated in a completely egalitarian, non-political manner and achieved success.


text:
Benjamin L. Cardin
Cardin Says All Leaders Should Speak Out Against Hate and Antisemitism[...]
DTCC - The Depository Trust and Clearing Corporation
SIFMA, ICI and DTCC Lay Out Path to Shorten U.S. Securities Settlement Cycle to T+1
New report details changes market participants need to consider and implement to move to T+1
Washington, DC/New York/London/Hong Kong/Singapore/Sydney, December 1, 2021 - The Securities Industry and Financial Markets Association (SIFMA), the Investment Company Institute (ICI), and The Depository Trust & Clearing Corporation (DTCC) today published a report targeting the first half of 2024 to shorten the U.S. securities settlement cycle from trade date plus 2 days (T+2) to trade date plus one day (T+1).
The report, Accelerating the U.S. Securities Settlement Cycle to T+1, provides firms with a roadmap for shortening the settlement cycle, including considerations, recommendations, and next steps for moving to T+1. Shortening the settlement cycle will reduce risks and costs for the industry while building upon the benefits achieved in the successful move to T+2 in 2017.
"Shifting to T+1 will strengthen the financial system and offers tangible benefits to investors by reducing their risk exposure and enabling them to more quickly leverage investment opportunities," said ICI President and CEO Eric J. Pan. "Regulated funds are a primary source for daily trading transactions, occupying a prominent place at the intersection of trading and settlement. This report provides a roadmap to help funds and their investors realize the benefits of moving to T+1, and we look forward to working with our members and the SEC on implementing the recommendations."
According to the report, implementing T+1 in the first half of 2024 will allow enough time for firms to assess the changes they need to undertake, for the industry to conduct comprehensive testing, and for regulators to make the necessary regulatory changes.
"As we saw during the industry move from T+3 to T+2, shortening the settlement cycle requires a collaborative effort from market participants across the industry, and the development of this report is a key step in making the vision of accelerated settlement a reality," said SIFMA President and CEO Kenneth E. Bentsen, Jr. "We thank the industry representatives who participated in hundreds of hours of daily, remote working sessions to help us evaluate potential risks, understand the impacts, and develop a sound approach for implementation."
As part of ongoing efforts to decrease risk in the system, SIFMA, ICI and DTCC started discussions around accelerating the settlement cycle in 2020. SIFMA, ICI and DTCC formally initiated the effort to accelerate the settlement cycle to T+1 following a February 2021 DTCC whitepaper outlining the benefits that such a move would bring to the industry and investors. In April 2021, the industry engaged Deloitte & Touche LLP to lead working group sessions with more than 800 participants from 160 organizations, including buy-side and sell-side firms, custodians, vendors and clearinghouses. An Industry Steering Committee oversaw the process and report.
"From our on-going conversations with market participants and stakeholders, we're in broad agreement on shortening the settlement cycle to T+1 to deliver significant capital efficiencies and risk mitigation benefits to the entire industry," said DTCC President and CEO Michael Bodson. "We look forward to continuing to work closely with the industry on this important initiative to modernize market structure, as we did during the move from T+3 to T+2 in 2017, to increase the overall efficiency of the securities markets and remove costs and risks."
As next steps, the Industry Steering Committee recommends that firms begin to work with their counterparties, custodians, vendors, regulators, and clients to better understand internal impacts related to timing requirements and deadlines, system requirements and improvements, and process changes. Firms are also encouraged to continue to engage with the Industry Steering Committee as the initiative progresses.
While the paper confirms that the industry achieved consensus around T+1, it also indicated that further shortening the settlement cycle is not feasible in the short term. The report explains that moving beyond T+1 would require an extensive overhaul of current-day clearance and settlement infrastructure, changes to business models, revisions to regulatory frameworks, and potentially the implementation of real-time currency movements.
About SIFMA
SIFMA is the leading trade association for broker-dealers, investment banks and asset managers operating in the U.S. and global capital markets. On behalf of our industry's nearly 1 million employees, we advocate for legislation, regulation and business policy affecting retail and institutional investors, equity and fixed income markets and related products and services. We serve as an industry coordinating body to promote fair and orderly markets, informed regulatory compliance, and efficient market operations and resiliency. We also provide a forum for industry policy and professional development. SIFMA, with offices in New York and Washington, D.C., is the U.S. regional member of the Global Financial Markets Association (GFMA). For more information, visit http://www.sifma.org.
Contact: Katrina Cavalli, SIFMA +1 212 313 1181 [email protected]
About ICI
The Investment Company Institute (ICI) is the leading association representing regulated funds globally, including mutual funds, exchange-traded funds (ETFs), closed-end funds, and unit investment trusts (UITs) in the United States, and similar funds offered to investors in jurisdictions worldwide. ICI seeks to encourage adherence to high ethical standards, promote public understanding, and otherwise advance the interests of funds, their shareholders, directors, and advisers. ICI's members manage total assets of US$31.5 trillion in the United States, serving more than 100 million US shareholders, and US$10.0 trillion in assets in other jurisdictions. ICI carries out its international work through ICI Global, with offices in Washington, DC, London, Brussels, and Hong Kong.
Contact: Matthew Beck, ICI +1 202 326 5891 [email protected]
About DTCC
With over 45 years of experience, DTCC is the premier post-trade market infrastructure for the global financial services industry. From 21 locations around the world, DTCC, through its subsidiaries, automates, centralizes and standardizes the processing of financial transactions, mitigating risk, increasing transparency and driving efficiency for thousands of broker/dealers, custodian banks and asset managers. Industry owned and governed, the firm simplifies the complexities of clearing, settlement, asset servicing, data management, data reporting and information services across asset classes, bringing increased security and soundness to financial markets. In 2020, DTCC's subsidiaries processed securities transactions valued at more than U.S. $2.3 quadrillion. Its depository provides custody and asset servicing for securities issues from 170 countries and territories valued at U.S. $73.5 trillion. DTCC's Global Trade Repository service, through locally registered, licensed, or approved trade repositories, processes 15 billion messages annually. To learn more, please visit us at www.dtcc.com or connect with us on LinkedIn, Twitter, YouTube and Facebook.
Contact: Steve LaMarca, DTCC +1 212 855 4855 [email protected]
Smartlinks | DTCC - The Depository Trust and Clearing Corporation | News | Local News | Politics and Policy | Policy and Regulation | Finance | Security Markets | Derivative Securities | Security Markets | Financial Services | Investment Funds | Mutual Funds | Investment Services | Professional and Business Services | Audit and Accounting Services | Private Companies | Investment Service Companies


Buy Multi Colour Terracotta Jewellery Set from jewellery artist Devika Jacob. The multi coloured terracotta jewellery set is one of the most unique piece of art you can wear, making it perfect for unique, strong, elegant women. You'll feel elegant in this amazing terracotta craft and proud of the beautiful design.


World-famous guitarists depend on Line 6 POD multi-effects for amazing tone in the studio and on stage. The free Mobile POD app brings these legendary tones to your iOS device. Mobile POD includes over 10,000 presets designed by artists, Line 6 and other players, so you can call up the right tone in an instant.
If you want to go further, you can mix and match 32 amps, 16 stompbox and rack effects, and 16 speaker cabinets for an impressive array of sounds. The intuitive interface makes it easy to tweak and save your custom tones. Mobile POD also lets you play along with your iTunes® library* using your custom tones.
Sonic Port works with the award-winning Jammit app—the first to let you play along with real, multi-track master recordings from major artists. Jammit isolates individual audio tracks within original master recordings, so you can learn, jam and record along with your favorite songs as played by the original artists.
You can isolate your instrument from the track for closer scrutiny, loop the track for extended practice or slow it down to a comfortable pace for learning. With Sonic Port as the guitar interface, Jammit loads perfectly matched Line 6 tones for a variety of its jam tracks, automatically changing the sound when needed as the song plays.
Sonic Port makes it easy to connect your guitar or bass to your iOS device and start making music. Simply plug your instrument into the 1/4" guitar input, launch GarageBand, the free Line 6 Mobile POD app, or another CoreAudio app, and start playing. Pro specs—up to 24-bit/48kHz audio quality throughout, and 110dB dynamic range on the guitar input—translate to full, powerful guitar tones.
Sonic Port also transforms your iPod touch, iPhone or iPad into a complete mobile studio. Track keyboards, mixers, CD players and other iOS devices using the 1/8" stereo line input. Plug in your favorite headphones and hear your audio in stunning clarity. You can even connect powered studio monitors via the 1/4" mono/stereo guitar/line-level output.
With Sonic Port and your iOS device, you can take the exact same tones from your home studio to the stage. Dial in your Mobile POD presets in the studio, then use Sonic Port and your iOS device to replace a heavy, cumbersome pedalboard when you perform live.
Simply connect Sonic Port between your guitar and your amp using standard 1/4" cables—then use the Mobile POD app to instantly recall your whole effects chain for every song in your set list. It's the easiest way to get the exact same tones every time.