text:
This Stove Gets Hot Quickly.
As I wrote last time, "If the Royals make some significant moves over the winter…I might show up here with some brief commentary." Well, they made a significant move, so here's some brief commentary. Okay, maybe not brief. If it was brief, you ought to be concerned that an imposter hacked into my blog. It may be while before I post again, so I figured I'd get all my thoughts down at one time.
Dayton Moore likes to get started early. For the second year in a row, Moore made a trade on the first day of the off-season – or at least the trade leaked the day after the World Series. You can't talk about the particulars of the deal without discussing the rather bizarre way that the trade unfolded.
Bill Madden of the New York Daily News broke the story just hours after the World Series ended. On Thursday morning, Buster Olney reported that trade talks were "not that far along". An hour later, the Chicago Sun-Times confirmed the deal, even though both Chris Getz and Mark Teahen had denied that they had heard anything about a deal.
Thursday afternoon, Dick Kaegel reported that neither team had confirmed anything, and Teahen tweeted that night that "After a long day of rumors & questions, I haven't heard anything official. Heading 2 bed comfortable in knowing I'm a Royal 4 another day."
Just past noon on Friday, the Royals finally issued a press release confirming the trade as initially reported; the only difference being that the Royals were including "cash considerations" (reported to be around $1 million) in the deal. (Many thanks to mlbtraderumors.com for helping with the timeline.)
Now in the grand scheme of things, the fact that a trade that wasn't confirmed until Friday afternoon leaked Thursday morning isn't a big deal. What is a big deal is that this continues a very troubling trend for the Royals, which is that despite – or perhaps because – they have instituted an almost-paranoid level of secrecy on all the team's dealings, their trade talks continue to leak out before all the i's are dotted and t's are crossed. Remember, it was just over a year ago when multiple newspapers reported that the Royals and Indians were close to a deal that would send Teahen to Cleveland in exchange for an outfielder, one of Trevor Crowe, Ben Francisco, or Franklin Gutierrez*. Publicly, Dayton Moore denied the rumors vociferously; privately, he went ballistic, going so far as to threaten to obtain cell phone records from employees to discover (and fire) the person responsible for the leak.
*: I don't like to play what-if scenarios too often…but what if the Royals had traded Teahen for Gutierrez? The Indians wound up trading Gutierrez to Seattle in a 3-team, 11-player deal with the Mets, and Gutierrez hit .283/.339/.425 with 18 homers and 16 steals for the Mariners – and also had the most impressive defensive statistics of any outfielder in baseball. It's not clear that the Royals were ever close to getting Gutierrez specifically, but if they had, they probably never trade for Coco Crisp, meaning they would have kept Ramon Ramirez, they might not have needed to sign Kyle Farnsworth and/or Juan Cruz…the debacle of last winter might well have been avoided. On the other hand, without Teahen, the Royals would have been caught flat-footed when Alex Gordon went down with his hip injury.
This time, there was fire to go along with the smoke, which led to yet another embarrassing situation for the Royals, as once again one of their players learned he had been traded away from a reporter instead of from the front office.
A few years back I formulated Jazayerli's Law of Fundamentals, which states that "A team's ability to execute the "fundamentals" is inversely correlated to the time spent discussing the importance of executing them." In the same vein, here's a new rule I've made – call it Jazayerli's Law of Public Relations: "The less forthcoming an organization is regarding personnel decisions that are made, the more likely it is that those personnel decisions will come to light in a messy and embarrassing way."
Information yearns to be free, and it's madness to think that in today's 24-hour-news-cycle, mobile-internet, Twitter-and-Facebook world, that you can expect trade negotations to be kept secret indefinitely. The Royals' attempts to do so of late have been laughably pathetic, but what's more pathetic is that the Royals actually waste time looking for scapegoats when their private dealings inevitably become public. Moore's tantrum last winter when the Teahen trade talks leaked is well known. More recently, the Royals berated members of the local media this September for telling prospect Danny Gutierrez that he had been traded to Texas before they had the chance to do so. This was ridiculous on so many levels: 1) it's not the media's fault when the Royals drop the ball and let their players hear from someone else that they've been traded; 2) Gutierrez had already been tipped off – he had already announced on his Facebook account that he was traded; 3) IT'S THE MEDIA'S JOB TO TALK TO PEOPLE.
The Royals aren't wasting as much effort try to run down the leak this time, probably because even they can figure out that Bill Madden probably got his information from sources with the White Sox. Regardless, once again they've allowed what should be a quick, cut-and-dried trade announcement to turn into a drawn-out, confusing, will-they-or-won't-they drama. It's a small thing, but it's a revealing thing.
Enough about the presentation – let's talk about the substance of the deal. My initial reaction to the news that the Royals were trading Teahen for Chris Getz and Josh Fields was positive. In blunt terms, the Royals were trading two years of a league-average (and highly-paid) hitter for two players who could be league-average players as soon as 2010, and who are both under contract for five more years. My seven-second reaction was very favorable.
The consensus of the sabermetric community is…well, there is no consensus, really. Keith Law, oftentimes the Royals' harshest critic, wrote "Love the trade for Kansas City. They will have traded a 45/50, who is close to free agency for two 45's with several more years of control." (50 being scout-speak for a league-average player.) Over at fangraphs.com, Dave Cameron called this "a fantastic deal" for the Royals. On the other hand, Christina Kahrl's transaction analysis was not nearly as sanguine, as she wrote, "It might be more appropriate to wonder what the point was, since this doesn't advance the Royals in any particular direction beyond 'staffed'". (If you read Kahrl's analysis regularly, you know how inadequate any single sentence of hers is in conveying her complete thoughts.) Joe Sheehan's analysis was even more negative, and much more terse, conveyed in a five-word text message Thursday morning: "Your GM is an idiot."
I love it when a trade is evaluated objectively by two of the most capable analysts I know and they reach completely different opinions. If nothing else, this means that no matter what conclusion we reach about this trade, it's important to hold that conclusion with all due humility, realizing that smart people are holding the other end of our position.
In Mark Teahen, the Royals gave up a player with a great attitude, who started at six different positions with the team without complaint – even when moving from third base to right field and back on a daily basis – and who was arguably the funniest Royal of his generation. (Teahen might have been the most consistently funny Royal since Dan Quisenberry.) What they didn't give up was a great hitter. Teahen hit .271/.325/.408 last year, and his career numbers are an almost identical .269/.331/.419. The memory of his 2006 power surge is a distant one now. He's a league-average hitter, one who just turned 28, and is more likely to stagnate than to take a big step forward.
While he has tremendous versatility, he's never shown much proficiency at any specific position. According to UZR, he's about 10 runs below average per season and third base, and while he's been an average outfielder over his career, his numbers last year were terrible – he was 5 runs below average in right field despite playing just 32 games out there.
Teahen has value, particularly at third base, where the White Sox have wisely indicated will be his full-time position (with phenom Gordon Beckham moving over to second base). It's quite possible, even likely, that his glove will improve with an off-season to prepare – remember, Teahen spent most of last spring training working at second base. It's possible that a new organization and a much more favorable home park will be a tonic to Teahen's homer numbers. But it's very clear to me that none of that improvement was likely had the Royals kept him. Last Monday I was on radio with Soren Petro, and when Petro asked me what I thought was the most likely move of the Royals' off-season, my answer was a Mark Teahen trade. As much as I like Mark, he had considerably less value on the Royals' roster than he did on the trade market. Credit Moore for realizing that the obvious move is usually the right move – otherwise it wouldn't be so obvious.
The key player the Royals received in return is supposed to be Chris Getz, who as a rookie second baseman last season hit .261/.324/.347. Those numbers are pretty lousy, but they're mitigated somewhat by his 25 steals in 27 attempts. Most defensive metrics rated his defense as below-average, but he has a good reputation and no metric is ultra-reliable over a sample size of just one season – let's call his defense average. In 2008, he hit .302/.366/.448 with 11 homers in Triple-A (he's hit just eight homers in his other four pro seasons combined), and in 2007 he had a .382 in an injury-marred Double-A campaign. So there is some upside here, but by "upside" I mean he could into, I don't know, Mickey Morandini or someone like that. A second baseman who makes up for a lack of power by being a tough out, stealing the occasional base, and playing a workman-like second base. The kind of guy who makes the opposing starter work hard out of the #8 spot in the lineup.
Even after giving Getz bonus points for coming out of the University of Michigan (I believe he's the first Wolverine to suit up for the Royals since Hal Morris in 1998), it's hard to credit him with being more than a utility player at this point. That has value, but not typically enough value to actually trade for. Which is why I think that Josh Fields is the key to the deal, or at least that the Royals hope he's the key to the deal.
Fields has a lot of the traits of the perfect buy-low trade candidate. He has an excellent pedigree – he was a first-round pick in 2004 out of Oklahoma State, where he was also the starting quarterback (and still holds the university record for touchdowns thrown). By 2006 he was in Triple-A and hit .305/.379/.515; the following year he hit 23 homers as a rookie for the White Sox in just 100 games, slugging .480. No one would have thought that he'd be reduced to being a throw-in in a relatively minor trade two years later.
Even as a rookie Fields had a .308 OBP, and his career mark is just .302, which makes it easy to label this as just another low-OBP grab by clueless Royals management. I think the reality is a little more complicated. Fields' problem isn't that he doesn't draw walks – he actually has 68 career walks in 664 at-bats, and a ratio of more than one walk per 10 at-bats is pretty good. The reason his OBP is so low is pretty obvious – it's because his lifetime batting average is .229. And the reason his batting average is just .229 is also pretty obvious – it's because he's struck out 226 times in those 664 at-bats.
Fields, basically, is a poor man's Mark Reynolds. Only one guy in the majors can succeed while striking out 200 times a season, and Fields isn't him. But if Fields can cut his strikeout rate by 20-25% - which still works out to 150 strikeouts a season – he's a breakout candidate. That's a tall order for Kevin Seitzer, but after sticking Seitzer with the likes of Mike Jacobs, Miguel Olivo, and Yuniesky Betancourt over the past year, a project like Fields must feel like a remedial assignment. It's a lot easier to teach a major league hitter to cut his strikeouts than it is to get him to raise his walks. Fields is a project, but one worth taking on. He's already shown he can hit lefties – he has a career .285/.356/.580 line against southpaws – so the Royals have a base of success with which to build. I'll predict right now that Fields, not Getz, proves to be the more successful of the pair with Kansas City. (Even though Getz was a rookie last year, he's already 26 – he's just eight months younger than Fields.)
You can't talk about this deal without touching on the finances of it, and certainly that played a big part in the trade. Even with the $1 million the Royals sent to Chicago, they saved millions, given that Teahen will likely command close to $5 million in arbitration this winter, and that both Getz and Fields are pre-arbitration players who will make just over the league minimum of $400,000. Counting the extra roster spot, the Royals save roughly $3.5 million on the deal.
But I think the financial implications of the deal are less important than the service time implications. Teahen will be a free agent after the 2011 season. Both Getz and Fields have between one and two years of service time – neither would be a free agent until after the 2014 season. Getz won't even be arbitration-eligible next year. The Royals acquired two players who are ready to contribute right away, but whose free agent horizons are well into the future. As Moore said, "Our motivation behind this deal – and any deal that we make this winter – is to acquire as many zero-to-three service-time players as we can. That was certainly what we did here."
If for no other reason than that quote, this trade makes sense, because in making this trade Moore finally acknowledged something he should have last season: that while the Royals might be ready to contend in the near future, "the near future" does not mean "next year". The Royals, barring divine intervention, are not going to win anything in 2010. Teams just don't go from 97 losses one season to the playoffs the next. (Although I'm sure Moore knows all about the 1991 Braves.)
But the Royals can realistically think about contention in 2011, so long as they use 2010 wisely. That means jettisoning league-average guys like Teahen for lottery tickets like Fields, and using 2010 to see which of the new guys can play and which can't. It might mean a few more losses next year while the Royals sort through their options – but I'd gladly sacrifice a few wins in 2010, when the Royals won't need them, for a few wins in 2011, when they just might.
Or to put it another way, as Moore said, "The bottom line is it hasn't worked here. It hasn't worked. We have to do what we have to do to shake up our team and generate as much competition as we can. We have to put the pressure on (players) to go out and perform."
It. Hasn't. Worked. Here.
It. Hasn't. Worked.
If I didn't know better, I'd say that Moore almost sounds contrite. That he's almost admitting that he's made mistakes.
So if that's what this trade is about – admitting that The ProcessTM is in need of refinement, and that the Royals need to rethink how they put together a team – then I'm all in favor of it.
I'm just not sure it's that simple. Taken in isolation, trading Teahen for Getz and Fields makes sense. But this trade can't be fully evaluated until we see the other moves it triggers, because as it stands Getz and Fields are both without positions to play. Getz's primary position is second base, where the Royals have Alberto Callaspo. Fields's primary position is third base, where they have Alex Gordon. Taking playing time away from Callaspo and/or Gordon for the sake of Getz and/or Fields is so dumb that not even the Royals would consider it. Which means more moves are afoot.
The dilemma with Fields is, to my mind, an easy one to fix. Fields's defensive reputation at third base is pretty lousy, and he has a fair amount of experience in the corner outfield. I could see him moving directly into the Teahen role, rotating between third base and the corner outfield, but my hope is that the Royals see him, in a best-case scenario, as their future right fielder.
Getz is a trickier problem to solve, because like most second basemen, he doesn't have the skills to be a utility player – he played a little third base and left field in the minors, but he really should only be moved off the keystone in an emergency situation.
Now, I've been advocating for months now that the Royals should seriously explore the possibilities of an Alberto Callaspo trade. His bat ought to make him a highly-prized commodity on the trade market, while his glove is likely to be better-tolerated on a team that doesn't have defensive liabilities at multiple other positions like the Royals have.
But it's one thing to trade Callaspo if the right offer comes along, and it's quite another to trade him simply because you can't stomach his defense and you've finally found a decent replacement in Getz. Getz allows the Royals to trade Callaspo. He does not force the Royals to trade Callaspo, particularly since Getz (unlike Fields) actually has an option left, so he can be sent to Omaha to start the year if a suitor for Callaspo has not materialized.
Ultimately, this trade is going to be judged by the moves that it emboldens the Royals to make. I honestly think that Moore didn't have any grand plan in mind for how to resolve the logjam of talent at third base and second base when he made this move. I think he made this move precisely because he doesn't know where this off-season will lead, and so by bringing Fields and Getz into the fold, he puts the Royals in a position where they can pull the trigger if the right deal for someone like Callaspo comes along, but they don't feel obligated to make a deal just for the sake of making one. At least I hope that's true. When the Royals have made a deal just for the sake of making one, the casualties have been hard to bear.
If Moore decides to give away Gordon for whatever he can get and install Fields at third base, and then makes room for Getz by moving Callaspo to DH (which would be a waste of his talents), we'll rue the day that Kenny Williams picked up the phone. But if Fields winds up taking playing time away from Jose Guillen in right field, and if the Royals get a bushel of prospects for Callaspo, this trade may be looked back at as the day the Royals started to rebuild the right way. The trade looks good in isolation. But I want to see the next few dominoes before I pronounce judgment.
We may have gotten a glimpse of the next domino the other day, when Bob Dutton reported ahead of the GM Meetings that "One rumor to watch: A deal sending second baseman Alberto Callaspo to the Los Angeles Dodgers for catcher A.J. Ellis, a 28-year-old rookie who currently projects as a backup to Russell Martin following the anticipated free-agent departure of veteran Brad Ausmus."
If I were to draw up a list of teams that Moore should be talking to regarding Callaspo, the Dodgers would be very, very high up. The Dodgers are the perfect storm for a potentially lopsided trade:
- Thanks to their scouting director, Logan White, the Dodgers perennially have one of the most bountiful farm systems in baseball. It's not as strong as it used to be, but there's still plenty of talent there.
- Thanks to their highly overrated GM, Ned Colletti, the Dodgers have no problem with overpaying in prospects for a player who can help them today.
- As you may have heard, the owners of the Dodgers (Frank and Jamie McCourt) are in the opening stages of a messy, nasty, tabloid-filling divorce. The financial pressures on the team are likely to be as strong as the financial pressures were on the Padres when their owner was getting divorced a few years ago. Given those pressures, an everyday player like Callaspo who makes close to the league minimum (Callaspo figures to miss arbitration by just a few days of service time) ought to be particularly enticing.
Add it all up, and Moore should be putting the full-court press on the Dodgers. Look at some of the talent that LA has given up recently:
- Traded Tony Abreu for one month of Jon Garland
- Traded Josh Bell and Steve Johnson for 2+ years of George Sherrill
- Traded Carlos Santana and Jonathan Meloan for 2 months of Casey Blake (!)
- Traded Willy Aybar and Danys Baez for Wilson Betemit
- Traded Dioner Navarro and other prospects for Toby Hall and Mark Hendrickson
The Santana trade kills me. The Indians turned a mediocre free agent-to-be into Santana, who's now one of the best catching prospects in baseball. (Say what you want about the Indians, but no team does a better job of trading for prospects. They also turned Eduardo Perez into Asdrubal Cabrera, and Ben Broussard into Shin-Soo Choo. And let's not even recount the Bartolo Colon trade, or how they turned Einar Diaz into Travis Hafner.)
So absolutely, the Dodgers are a perfect destination for Callaspo. But…A.J. Ellis?
The same A.J. Ellis who slugged .375 last season – in Albuquerque, one of the best hitters' parks in the game?
The same Ellis who is 28 years old – more than two years older than Callaspo?
I'm sorry, but I can't take this trade rumor seriously. Maybe Ellis is a throw-in to a larger package of prospects that the Dodgers and Royals are talking about. But there's no way that even Dayton Moore would consider trading a 26-year-old second baseman who hit .300 with 60 extra-base hits last season, who's under contract for four more seasons, for a 28-year-old slow, singles-hitting backup catcher wannabe.
There's no way.
If the Royals are interested in Ellis at all, it's because they've decided to overhaul their catching corps. The Royals spent 100 grand on a buyout to Miguel Olivo, despite his 23 homers and .490 slugging average, just to keep him from activating the $3.3 million option on his contract. You could make a persuasive case that the Royals should have kept him at that price – and it will be interesting to see if they can work out a deal to offer him arbitration (and for him to decline)* in order to grab a compensation pick, as Olivo qualified as a Type B free agent – but ultimately it was the right move for two reasons. One, he had a .292 OBP in his career season, and two, he's probably the worst everyday defensive catcher in baseball.
*: It just occurred to me: is it possible the Royals and Olivo have already worked out a handshake agreement for him to decline arbitration? Olivo was widely expected to forgo his player option, because he's likely to earn more than $3.3 million on the open market. So why would the Royals pay him $100,000 to go away when they didn't have to? Is it possible that they gave him a free 100 grand with the understanding that when they offer him arbitration, he'll decline, netting the Royals a compensation pick? Stay tuned. It's just a conspiracy theory, but everyone loves a good conspiracy theory.
But I don't think Ellis is the answer, even if he's just a throw-in in a Callaspo deal. Ellis is the exact opposite of Olivo offensively, in that he has no power but is an on-base machine, with a .438 OBP this season and a .436 OBP last season. On the surface, that sounds great. But I worry that Ellis' on-base skills won't translate to the majors for a couple of reasons.
First, he has no power to speak of – he didn't hit a home run in all of 2009, and just four in 2008. The ability to draw walks at the major league level depends at least in part on the threat of power – one difference between major and minor league pitchers is that major leaguers can throw strikes when they have to, and without the threat of power, Ellis won't be able to keep pitchers from just pounding him in the zone. Secondly, his high batting averages the past two years (.321 and .314) are almost certainly a ballpark illusion. Right-handed hitters without power are not going to hit .300 in the majors unless they have speed. Ellis doesn't. It's almost impossible to maintain a high OBP in the majors as a right-handed hitter with neither speed nor power.
Ellis' OBP numbers in the minors look like those of a young Jason Kendall. But the young Kendall had a lot of speed and a fair amount of power, and he had a .402 OBP his first five years in the majors. The old Jason Kendall has neither speed nor power, and also has a .336 OBP the last five years. I fear that Ellis' numbers in the majors will look a lot like Old Jason Kendall, and that's not worth playing, let alone trading for.
I worry that the Royals, having finally seen up-close what ignoring OBP can do to your offense, have swung the pendulum clear the other way, and are suddenly interested in players whose OBP represents their only true skill. Ellis' .438 OBP looks beautiful on paper. I just think he won't come close to replicating that in the majors.
I particularly don't see the appeal of Ellis since the Royals still have a better option in-house. I speak of John Buck, whose fan club has dwindled down to...(looks around)...just me, I guess. Take a look at these two lines from 2009:
Player A: .249/.292/.490, 103 OPS+
Player B: .247/.299/.484, 103 OPS+
Player A is the aforementioned Olivo. Player B is Buck. At-bat for at-bat, you could not construct two more similar hitters than these two. But because Olivo got more than twice as many at-bats last season, he has the counting numbers (23 homers, 65 RBIs) that impress people, while Buck doesn't. But frankly, I'd rather have Buck. He's two years younger, has a better idea of the strike zone, and while he has a much weaker arm, he's much more sure-handed at blocking pitches in the dirt than Olivo. He makes a perfect complement to Brayan Pena, given that Pena is a switch-hitter and a contact guy, and he's already on the roster. There may be better catchers than Buck on the market, but why the Royals would want to replace him with Ellis – who, again, is already 28 years old and has all of 10 at-bats in the majors – is beyond me.
Finally, I can't write about the Royals for the first time in two months without mentioning the fact that they completely turned over their training staff.
I take no particular joy in the fact that three men are out of a job. But as you know, I think this was absolutely the right move to make. I confess to being quite surprised at the news; if anything, I was concerned that the snit I had with the Royals this summer would have discouraged the Royals from making a move even if they wanted to, if only to avoid accusations that they were letting the inmates (i.e. the media) run the asylum. I felt like Professor Zarkov in Flash Gordon, in that by speaking out I had insured that the very thing I warned against would come to pass from Dayton Moore/Emperor Ming. (And you guys thought my "V" references were geeky.)
But the Royals made the right move anyway, and they deserve credit for that. Yes, officially Swartz retired, and for his sake I hope the move was voluntary. At the same time, you know the old adage about issuing bad news on a Friday afternoon? The press release announcing Swartz' retirement entered my mailbox on a Friday at 5:59 PM.
To replace Swartz, the Royals hired Nick Kenney, who was the assistant head trainer for the Indians. (The Royals then cleaned house by letting assistant trainers Frank Kyte and Jeff Stevenson go, and replacing them with Kyle Turner, who was previously the Royals' Minor League Medical Coordinator.) The Indians' training staff has an excellent reputation, and in fact two years ago they won Baseball Prospectus' Dick Martin Award that is given out to the best training staff in the majors. I have nothing but praise for this decision.
At over 4900 words, this might be my longest column ever. So now that the Royals have a training staff that might be able to keep injury-prone players healthy, I'll leave you with two final words as the free-agent season gets underway.
Rich Harden.
Posted by Rany at Tuesday, November 10, 2009
Justin said...
Welcome back Rany... you've been away too long.
Nice column. Good to have you back. Agreed this offseason is just getting started and there are more moves coming. Curious as to why DH'ing Callaspo is such a bad idea? The man gets on base, hits extra base hits and drives in runs. Why is that not a feasible option for a DH?
fire dayton said...
wow, welcome back
ericm said...
Rany--
Rich Harden? With the way Hillman/McLure use their pitching staff there is no way he would make it to the regular season. A new training staff may be able to better handle injuries but they can't fix stupid---sorry---Rich Harden's career would end in Kansas City. Just ask Gil Meche!
Sean DeCoursey said...
You mentioned Flash Gordon the movie. You sir, are my hero.
Rany,
First, thanks for coming out of your cave.
Second, what kind of value do you think Alex Gordon could have on the trade market? How far has his stock dwindled?
gbewing said...
I think you have grossly overvalued Fields and slightly undervalued Getz but as you said this one is worthy of debate- Fields in RF should not be a goal.
You are on spot with proposed Ellis trade, I fear DM becomes singuarly obsessed with things, last winter it was power-power at all cost with no thought to how a team fit together, this year clearly it's defense (especially up the middle) and I fear again to the exclusion of any other skill.
Rany, your take on Ellis' OBP is somewhat variable to that of Callaspo. Callaspo was a low power high OBP in the minors and he continues to maintain that at the major league level. Don't get me wrong, I don't wwant Eillis either, for many other reasons.
You also noted in your "I'm Done" article about your displeasure in the Royals for not bringing up Ka'aihue and you also mention his high OBP. Where I disagree with your assessmentis where you believe Ka'aihue's OBP would play in the ML, I believe that that is a product of hitting 20+HR's in the minors thus he will not see that same respect from opposing teams at the ML level.
Other than that, I truly enjoy reading your blog.
Andy said...
Here's hoping for an exciting AND positive offseason filled with many more posts. I'm hoping the next one is celebrating a cy young award winner!
Like a fool, when you said you were done, I removed the "Rany on the Royals" bookmark on my iPhone. I knew you'd be back. Thank you. Hopefully, over the last 2 months you have realized how Royals fans truly enjoy your commentary.
Glad to see you back, Rany. With the spring-like weather and reading your blog it almost feels like the season is upon us. Thanks for your support of John Buck, I just never understood the pure hate directed towards the man. Probably cause he's tied to the Beltran trade. A platoon of him and Pena I think could work until someone like Wil Myers gets to the big leagues. I actually like the thought of Callaspo as DH. I am curious, like Dave, why you think it won't work. He could concentrate on what he does best, hit. I'd love to see Guillen be traded or just released and get on with the remaking of ball club. Maybe a platoon of Fields and Gordon is in the cards also since Fields kills lefties and Gordon righties. A lot needs to play out over the next few months and then and only then can we decide if the moves Moore makes are right or not. Can't wait to read your next blog!!
Rany, welcome back. But, one warning. I know, a bit of advice that you already well know. Don't put any money on your statement: "There's no way."
Its great to have you back Rany. You just made the last 20 minutes my favorite of the day.
Good to have you back. Don't take such a long hiatus this time!
Casper said...
I agree with Gbewing about Dayton Moore's seeming penchant for becoming obsessed with a singular trait with no regard to how to fit the team itself together.
But Rany, 3 things: 1) Good to have you back, 2) The Ellis trade will happen, bro, if only because we don't want it to and it's our lot in life as Royals fans to have these things blow up in our faces, and 3) Rich Harden would be wonderful in Royal blue...but unless you trade for him on one of your X-Box games, it will never happen (see reason 2 for the reasons why).
I'm concerned Fields was acquired just to platoon with Jacobs at DH.
I have not read the post yet, but thank you for coming back into the light.
Welcome back, Rany! These commenters are pretty good aren't they? I mean, they've already noted some of the things I wanted to point out.
Having said that, I do wonder about two things regarding the Royals - - where is the power is coming from next year on this team AND wouldn't it be GREAT to have a DEFENSIVE catcher that can help out the pitchers?
Soooo... is Guillen going to be healthy enough to at least DH and will he be motivated in a "contract year" so that he can actually be productive?
Do you look for Butler to further emerge as a stud with the bat?
Who is playing CF? A name I would consider would be Gary Matthews Jr but with the Angels either eating MOST of his contract or picking up Guillen. But I KNOW that won't happen given their history with Jose. lol
Are we going to trade one or more of Bannister, Davies, or Tejada and get a lefthanded starter?
And we all know the bullpen needs reconstruction (again). Do we really want to rely on Lerew, Rosa, Nichols, or Hayes?
Anyway... those thoughts (and MORE) keep me interested this HotStove Season!
Go Royals!!! C-ya, AusSteveW
BTW... shoule we be at all concerned about Crow's WOEFUL AFL experience?
Just realized the length of my last post. Sorry. Guess I can't put an end to my rambling ways.
I love Flash Gordon. My dog's name is Ming.
140 characters isn't enough. I need more from this relationship. Thanks for the post.
Rich Harden? Do the Royals need more injury prone pitchers?
Otherwise, great article. Thanks for the read.
Benjamin said...
I somehow envision Rany typing in a Howard Hughes-esque fashion: in pajamas with kleenex boxes on his feet and disgustingly long finger nails...working away at the typewriter while using one hand to block the first rays of sunshine to hit his skin in 10 years.
Nice to have you back.
gsmith601 said...
Royalpug said...
I don't know about anyone else, but to me it seems that Moore has inherited one of Baird's more undesireable traits, namely his obsession with a single position.
For Baird it seemed to be SS, and now for Moore it seems to be, well 2 positions I guess, CF and Catcher, and his desire to find one at all costs.
Oh and at Jeff from earlier saying that Kila's OBP was a product of his Power, take a look at these numbers
2002: 3 HR/.381OBP (.260Avg)
2003: 11/.355 (.240)
2005: 20/.428! (.305)
2006: 6/.305 (.205)
2007: 21/.360 (.250)-Note switched leagues and posted nearly identical numbers.
2008: 37/.450 (.315) -again switched leagues, no drop in numbers
Kila has ALWAYS been on on-base machine, even the year he posted a horrible .600 OPS(2006) he still managed an OBP 100 points higher than his average.
There is no reason, at all to assume that he couldn't maintain that at the major league level.
In fact, I would be willing to bet he could put up better numbers in the majors. A big part of why his numbers dropped off, was that he had no one in that lineup to protect him. I'd be willing to bet that a part of cory aldridges performance spike was because he hit being Kila.
Thanks for the blog. Just wondering what indications we'll see that Arbuckle was a good hire. Thoughts? Will they come this off-season, in 3 years, ever?
I have seriously been going through Rany withdrawal symptoms, so welcome back, and please, please, PLEASE don't make us wait another two months for something more from you.
We understand your frustrations, Rany, as we experience many of the same feelings of disbelief at some of the moves (or non-moves) by the Royals. But your writing NEEDS to be part of my week, and I hope you'll return to making somewhat regular contributions.
Thanks for giving us these 4900 or so words, Rany. It's great to know you're still out there paying attention. I can't wait until the day comes when you have a contending Royals team to write about.
It's great to have another post from you. Welcome back.
Good analysis. Welcome back.
Fields and Gretz trade is a hard one to assess, but I think we are better off with two 26 year old players who might develop into above average guys. Fields being enough of a stud to be a Big 12 quarterback means he must have great athletic ability. They also each made the big leagues very fast and started for a Sox team that was significantly better than the Royals.
Seems like it is the time to trade Callapso. He should have as much or greater value than Teahan, so same type of trade - get a couple of young guys who might become above average players. I think Callapso kills them at second base.
Glad to have you back, Rany.
Agree that Callaspo will be traded, and that the results of that trade will (I hope) add to the Teahen trade.
Hate to say this, but what will we get for DDJ? Fields, I believe, will be our left fielder next year, unless Fields is traded also. Pitching, I predict, or a prospect CF will be the target.
That said, it's clear that GMDM gets it, and that we ALL need to understand, that next season will be a prelude to hopefully better things in 2011. Just keep Zack happy.
brucewd3 said...
It's great to hear from you again. I agree it would be a waste to use Callaspo as a DH. His value is 60 extra base hits at second base. He would need a lot more homers, which he isn't capable of, to be an effective DH. Ka'aihue would be much better, certainly better than Jacobs. Butler is fine at first base, and he seemed to improve as the season went on. He'll never be Mark Texeira but there are worst first basemen in the HOF (think Jim Bottomley). I also agree with you on a Buck/Pena platoon. In addition to being a poor catcher with terrible strike zone judgement, Olivo had to be have the worst judgment running bases of anyone in the league.
Again, it was great to hear from you.
Welcome back, Rany. Love your analysis.
I'm not a fan, per se, of Buck, but I have often noted and argued to others what you saw in Buck's numbers being so similar to Olivo's. People get hysterical over Buck, and Olivo seems to get a pass. Don't understand how someone could love one and hate the other.
I posted this on the Star site but check out these numbers:
Royals Catchers Last year:
.270 BA 32 2B 31 HR 99 RBI .814 OPS
Johnny Bench 162 game average:
.267 BA 29 2B 29 HR 103 RBI.817 OPS
Just saying it's going to be hard to find someone to replace Olivo and Buck's production, maligned as it was.
Royalplug -
Yes Kila has had some decent OBP, but not "ALWAYS" as you seem to think. Plus - IT'S IN THE MINOR LEAGUES. Jacobs .344 career minor league OBP surely didn't transfer to the ML, did it?
Welcome back Rany. It's been too long.
Thoughts on the low base salary, incentive-laden contract for CoCo? I was happy with his performance when he was "healthy" (if he truly ever was). I think he could be worth a small gamble again this year.
Thanks for taking the time to post and I look forward to the next one.
Just another thought. If DM is talking to the Dodgers--who seem to have financial problems too--why not Callaspo for Chad Billingsley? Surely his name will come up . . . .
Doug P said...
Sooo glad you are back if even for a moment. Definitely missed reading what you have...
The trade had me scratching my head and your analysis doesn't necessarily make me feel better. I believe trading Teahen was a virtual necessity. I don't understand how this trade was the best they could do. Why not Boston? Lowell is shot and they wouldn't need Teahen to be an anchor in their lineup, just play good third base and put up the same numbers he had in KC. Surely they could have come up with something better.
I'm also not a huge fan of trading Callaspo. I would much prefer cutting Guillen and Jacobs loose and making Callaspo the everyday DH and emergency second/third baseman. The guy can hit and his plate presence seemed to get better as the year went on. He is certainly a better DH option than either one of those other two albatrosses (albatrossi?).
I hope Fields is not considered a replacement for Gordon. We need one more full season to see if Gordon is going to work out and moving him out of position probably isn't going to help figure that out.
I like the Rich Harden suggestion and LOVE that you are back writing, even if just once. You have been missed.
No way the Dodgers give up Billingsley for Callaspo. No way they trade him at all.
Thanks Rany, don't stay away too long.
I think Moore & Hillman are willing take a "little" less back in trades as long as next years roster is rid of all the guys who have become accustomed to losing! They're purging the loser mentality!
As long as they keep the meaningful core of Butler, Greinke & Soria and the truly young prospects everyone else should be replaced with "fresh" players. By fresh I mean free from the rotten losing atmosphere that permeates the Royals organization.
aerobica said...
Wilson Betemit.
Whoever posted the Royals catchers are = to Johnny Bench needs to self inflict a 30 day mute button for further posts- it's ludicrous and shows a poor understanding of looking at statistical measures, era a player played in, how about OPS and don't forget defense- if you really think John Buck and M Olivio are Johnny Bench - you are too lost to be found- in fact the numbers you did cite were not even accurate how does Buck and Olvio both below .250 = .267 of Bench and using a single season versus a catcher's 17 year career average is also extremly misleading-understand the numbers you throw around
Once, just once, I wish somone who cried and had a hissy fit and said they were done would really actually mean it
Can we start a betting pool about how soon it will be before you cry and "give up" again? Think you can make it to spring training?
Bubba said...
I think I speak for everyone when I say that you sire, are what the kids call "a douche". Welcome back Rany. Instead of continuing to tackle Ayn Rand's "Atlas Shrugged"(which although one of the great novel's of the modern era, at certain points can be quite laborious), I read this and it just made my lunch break!
Hope to see another post soon.
Dayton Moore should drink hemlock!
Speaking of douche....
No, Anonymous on November 14 at 5:09 PM is the one who needs to imbibe the hemlock.
Rany never said he was going away for good, just that he was stepping away for a while.
This is either going to be a great day or suck sh*t. I'll tell you at 1:00.
Will we get a special Cy Young post?
"The best season ever by a Royals pitcher has been justly recognized"
...yes it was...20 years ago, when Sabes pitched it.
But Zack was fantastic this year, and was justly awarded as well. Congrats, Zack!
Today is a good day, Dave.
Dayton Moore and the three idiots who didn't vote Greinke for Cy Young should all drink hemlock!
You are a turd, Hemlock guy.
Hemlock Guy said...
So are you, Chris. :-P
Rany Sheikh Mohammed said...
Grienke won! Allahu Akbar!
Karte said...
While I think the Royals made a good trade here, it is ultimately pointless. MLB is broken. The big-market teams can always spend 2-3 times as much as the also-rans. That means that teams like the Royals have no chance to win anything on a regular basis.
Therefore, I have decided to take the logical step of becoming a Yankee fan. I will only buy Yankee merchandise. I will make sure I attend the Yankee games this year at the "K". I get the benefit of rooting for a team that has a very solid chance of winning the WS every year.
I am also tilting the balance of power more in favor of the Yankees. Why? So the system can be fixed. If everyone only buys Yankee merchandise and only attends Yankee games, all the other teams will be facing bankruptcy very soon.
Will MLB allow all the other teams to go bankrupt? NO! They will fix the system!
So join me as a true fan of baseball and root for the Yankees. Let's go Yankees!
Chirs said...
Really, Hemlock guy? Is that the equivalent comeback of "I know you are but what am I?" Quit posting the same retarded line over and over again. It wasn't funny the first time and it still isn't funny the 100th time.
And why am I not suprised the bigot is posting at 3 AM?
sw said...
So Rany, how geeked out are you that "the future of pitching" is now the first guy to discuss FIP at his Cy Young award winner's press conference?
Unknown Royals Fan said...
Two thoughts:
1. John Buck sucks. Still does, and will likely suck more as time goes on.
2. Late last year, the Royals broadcasters made the point that, in the 21st century, only Carlos Beltran, Mike Sweeney, Johnny Damon, and Jermaine Dye had hit .300 with 60 extra base hits. The point, at the time, was that Billy Butler would join them. Well, he did. And nobody noticed that Alberto Callaspo hit .300 with 59 extra base hits - missing that group by one. He is a guy who is clearly still on the ascension, talent wise, and was never projected to hit with any kind of power - and who had an .800 OPS. He's also cheap as dirt. Trading him would be the kind of moronic move that only Dayton Moore of Allard Baird would execute. And of course, Moore is almost assured of getting anti-value for him. Take Callaspo and DH him.
It's a matter of opinion as to whether or not it's funny. I disagree.
Dayton Moore, Chris and the three meatheads who voted against Zack Greinke for Cy Young should...
ALL DRINK HEMLOCK!
And now, since it bothers you so much, I will refrain from suggesting that Mr. Moore drink hemlock in the future.
This blog was a much better read when there were no posts.
Grain of Salt said...
Hmmm... I'm not sure I would classify this trade as "significant?" On a scale of 1-10, I'd give it a 5?... 6 at the highest? Rich Harden? Yeesh. Too much buck for the bang. He's the pitching version of Mike Sweeney.
Dayton will never trade for Ellis. He's never played for the Braves.
Not trying to solicit here, but if anyone is interested in viewing another blog on the Royals I have started one at royalrevival.blogspot.com I'd love the comments so that I can know what you think. Criticism is more than welcome.
Good article about an article about Zack Greinke (mind-bender of a sentence, huh?):
http://fackyouk.blogspot.com/2009/11/does-zack-greinke-really-understand-fip.html
Here's the 2010 ZiPS projections for the Royals, courtesy of Baseballthinkfactory.org. The stat that jumped out at me was that Derrick Robinson was 98% likely to steal more than 30 bases. Wonder how far away the Royals think he is (versus how far he ACTUALLY is):
http://www.baseballthinkfactory.org/files/oracle/discussion/2010_zips_projections_kansas_city_royals/
i'm so glad I have a new place to go in order to find junk mail....get a real job, losers.
I think the Royals should take a look at free agent, Rich Hill, most recently of the Orioles and Cubs. He's super cheap and a southpaw. He's been injured and struggled, but I saw him pitch a couple of years ago, and he has good stuff. Bob McClure is supposed to be good, let him see if he can work some magic with Hill.
Wait - we didn't offer Olivo arb? Um...and why didn't we do that...??? He's going to get a raise, and I'm sure he wants to play somewhere else, it seems to me we had a strong chance at getting that supplemental pick when he signed somewhere else. Dayton, you baffling bastard...
The reason they didn't offer it is because there's always the possibility he accepts it. They didn't feel 100% confident that he'd reject it, so they declined to offer it. If they'd offered and he'd accepted, he'd most certainly get a substantial raise, and then we'd be pretty much forced to start him again this year behind the plate, and they are wanting a better option defensively behind the plate.
I realize that, but - and maybe I came to this conclusion and should not have - I thought it was a given that Olivo wanted a long-term deal, and arb would only bring him a one-year deal, so he'd have to turn it down for him to shop for the multi-year package, which ultimately would net us that pick. It just seems more logical to me - and again, maybe I'm wrong for this line of thought - to have offered it to Olivo than offering it to Grud when he was approaching 40 yrs old when there were many more cheaper options available over Grud (hence him not signing til after the draft). Oh well, I've defended DM fairly earnestly thus far, and I guess we'll just wait and see what happens, but I think it was a mistake not offering it to Olivo.
Yeah, Casper, but what if he finds the market isn't giving him what he expects? He will accept a one year deal that gives him a nice raise as opposed to taking a crappy 2 year deal from another team. Arbitration is for guys you want to keep. No way the Royals gamble on him declining, with our luck he'd accept and we'd be screwed.
"...with our luck he'd accept and we'd be screwed."
Look, if you're going to be all logical about this then you and I just aren't going to be able to communicate. ; )
Yeah, that's a valid point, I guess. I have been smited.
I still fruitlessly check here every day hoping there will be a new entry in this blog. Starving for Royals news.
Pudge Rodriguez? That might have made me excited 10 years ago....


Outlook has been more and more important in out daily life and business. It enables you to email your teammate, continue your business and so on. However, when you change a new iOS device, and manage to install Outlook on the new iPhone, you will find there is no data in Outlook.
In such a situation, what you need to do is to transfer Outlook contacts from the old device to new iPhone/iPad. If you do not know the detailed steps, you have come to the right place. This passage is going to tell you the best four ways to sync Outlook contacts to your iPhone. This tutorial works with your iPad, iPod touch, too.
Head to Settings app on your iOS device, scroll down the page and select "Contacts". And tap "Account" option, then "Add Account".
From the list, choose Outlook. Follow the instructions to log in with your Outlook account together with your password.
You are able to access your Outlook account. Just turn on Contacts with one click, you will find all your Outlook contacts have been synced to iPhone successfully!
On your iPhone, go to Settings app, select "Mail, Contacts, Calendar" option, and then click on "Add Account" button.
Select Outlook option from the list, and then sign in Outlook with your account and password.
Finally, open Outlook contacts, simply tap on the "Save" button. Now you managed to imported your Outlook contacts to iPhone successfully!
iCloud is a great cloud storage service developed by Apple. With iCloud, you are able to sync all kinds of data and files, make an up-to-date backup of your iOS device and so on. Before you start using iCloud to export Outlook contacts to iPhone, make sure you have backed up your Outlook .pst file beforehand.
Download and install iCloud Control Panel on your computer. Then launch it and sign in with your iCloud account.
Upload the Outlook .pst file you backed up just now to your iCloud, and set iCloud .pst as your default.
Turn back to the main screen of iCloud, ensure you have ticked the option of "Contacts with Outlook", and then tap on "Apply".
Get into your iOS device, launch iCloud app, and open Contacts. You will find that all your contacts with Outlook have been transferred to your iPhone.
If you need, you are also able to add Google contacts to your iPhone with the similar way.
iTunes supports you to sync and manage files from many iOS apps to iPhone, such as Outlook contacts. It is easy to use and of great efficiency. If you are a fresh hand, iTunes should be your best choice to add data and files from other apps to iOS device.
Connect your iOS device with your computer via an USB cable. Then launch iTunes app on the computer.
On the upper-left corner of iTunes screen, tap on the "Device" icon. Then tap "Info" option from the left panel.
Then tick the option of "Sync Contacts with", and select "Outlook". you are able to copy all the Outlook contacts or only import selected ones to iPhone.
Confirm your selection, and then tap on the "Apply" button to finish the setup. Finally, you can check the Outlook contacts on your iPhone.
Use Exchange service to set up your Outlook account. Then turn to your iPhone, navigate to Settings app from the home screen, and tap "Mail, Contacts, Calendars" option.
Next select "Add Account" option in the "Mail, Contacts, Calendars" page, and choose "Exchange".
Simply follow the instructions to enter your email, user name as well as password, then click "Next" button. Then your iPhone will be connected with the Exchange server.
Then enter the address of the server on your iPhone, and choose your desired Outlook contacts to sync them to your iPhone.
This tutorial is an ultimate guide about how to sync Outlook contacts to iPhone. This post lists 4 different solutions for you to take into consideration. You can choose the one you like and then follow the step-by-step guide to solve your problem. If you manage to make the transferring, please share your experience in the following comment to help your fellow readers.


The Schuylerville High School art club is hosting a paint night event to raise funds for the club. The event will take place on Friday, Oct. 19 from 6 to 8:30 p.m. in room 257 (Mr. Winslow's room) in the high school. The cost is $20 and includes canvas, paint supplies, food and non-alcoholic beverages. Each attendant will complete a beautiful finished painting to take home with them. Adults, faculty and staff are welcome to attend. You can pre-register in Mr. Winslow's room, or send in a $20 fee with a student to deliver to room 257. Pre-registration is due by Friday, Oct. 12. Every participant will have their name entered for a chance to win a door prize. Anyone who registers within the first week will have their name entered twice for the door prize. The event flyer and registration form are linked below.


text:
using NUnit.Framework;

namespace Rocks.IntegrationTests;

public class ClassProperty
{
	public virtual int GetData => default;
	public virtual int GetAndInitData { get => default; init { } }
	public virtual int GetAndSetData { get => default; set { } }
   public virtual int InitData { init { } }
	public virtual int SetData { set { } }

#pragma warning disable CA1070 // Do not declare event fields as virtual
#pragma warning disable CS0067
   public virtual event EventHandler? MyEvent;
#pragma warning restore CS0067
#pragma warning restore CA1070 // Do not declare event fields as virtual
}

public static class ClassPropertyTests
{
	[Test]
	public static void CreateGet()
	{
		var expectations = Rock.Create<ClassProperty>();
		expectations.Properties().Getters().GetData();

		var mock = expectations.Instance(null);
		var value = mock.GetData;

		expectations.Verify();

		Assert.That(value, Is.EqualTo(default(int)));
	}

	[Test]
	public static void MakeGet()
	{
		var mock = Rock.Make<ClassProperty>().Instance(null);
		var value = mock.GetData;

		Assert.That(value, Is.EqualTo(default(int)));
	}

	[Test]
	public static void CreateGetWithRaiseEvent()
	{
		var expectations = Rock.Create<ClassProperty>();
		expectations.Properties().Getters().GetData().RaisesMyEvent(EventArgs.Empty);

		var wasEventRaised = false;
		var mock = expectations.Instance(null);
		mock.MyEvent += (s, e) => wasEventRaised = true;
		var value = mock.GetData;

		expectations.Verify();

		Assert.Multiple(() =>
		{
			Assert.That(value, Is.EqualTo(default(int)));
			Assert.That(wasEventRaised, Is.True);
		});
	}

	[Test]
	public static void CreateGetWithCallback()
	{
		var wasCallbackInvoked = false;
		var expectations = Rock.Create<ClassProperty>();
		expectations.Properties().Getters().GetData().Callback(() =>
		{
			wasCallbackInvoked = true;
			return 3;
		});

		var mock = expectations.Instance(null);
		var value = mock.GetData;

		expectations.Verify();

		Assert.Multiple(() =>
		{
			Assert.That(value, Is.EqualTo(3));
			Assert.That(wasCallbackInvoked, Is.True);
		});
	}

	[Test]
	public static void CreateGetWithRaiseEventAndCallback()
	{
		var wasCallbackInvoked = false;
		var expectations = Rock.Create<ClassProperty>();
		expectations.Properties().Getters().GetData().Callback(() =>
		{
			wasCallbackInvoked = true;
			return 3;
		}).RaisesMyEvent(EventArgs.Empty);

		var wasEventRaised = false;
		var mock = expectations.Instance(null);
		mock.MyEvent += (s, e) => wasEventRaised = true;
		var value = mock.GetData;

		expectations.Verify();

		Assert.Multiple(() =>
		{
			Assert.That(value, Is.EqualTo(3));
			Assert.That(wasEventRaised, Is.True);
			Assert.That(wasCallbackInvoked, Is.True);
		});
	}

	[Test]
	public static void CreateSet()
	{
		var expectations = Rock.Create<ClassProperty>();
		expectations.Properties().Setters().SetData(Arg.Any<int>());

		var mock = expectations.Instance(null);
		mock.SetData = 1;

		expectations.Verify();
	}

	[Test]
	public static void MakeSet()
	{
		var mock = Rock.Make<ClassProperty>().Instance(null);

		Assert.That(() => mock.SetData = 1, Throws.Nothing);
	}

	[Test]
	public static void CreateSetWithRaiseEvent()
	{
		var expectations = Rock.Create<ClassProperty>();
		expectations.Properties().Setters().SetData(Arg.Any<int>())
			.RaisesMyEvent(EventArgs.Empty);

		var wasEventRaised = false;
		var mock = expectations.Instance(null);
		mock.MyEvent += (s, e) => wasEventRaised = true;
		mock.SetData = 1;

		expectations.Verify();

		Assert.That(wasEventRaised, Is.True);
	}

	[Test]
	public static void CreateSetWithCallback()
	{
		var wasCallbackInvoked = false;
		var expectations = Rock.Create<ClassProperty>();
		expectations.Properties().Setters().SetData(Arg.Any<int>())
			.Callback(_ => wasCallbackInvoked = true);

		var mock = expectations.Instance(null);
		mock.SetData = 1;

		expectations.Verify();

		Assert.That(wasCallbackInvoked, Is.True);
	}

	[Test]
	public static void CreateSetWithRaiseEventAndCallback()
	{
		var wasCallbackInvoked = false;
		var expectations = Rock.Create<ClassProperty>();
		expectations.Properties().Setters().SetData(Arg.Any<int>())
			.RaisesMyEvent(EventArgs.Empty)
			.Callback(_ => wasCallbackInvoked = true);

		var wasEventRaised = false;
		var mock = expectations.Instance(null);
		mock.MyEvent += (s, e) => wasEventRaised = true;
		mock.SetData = 1;

		expectations.Verify();

		Assert.Multiple(() =>
		{
			Assert.That(wasEventRaised, Is.True);
			Assert.That(wasCallbackInvoked, Is.True);
		});
	}

	[Test]
	public static void CreateGetAndInit()
	{
		var expectations = Rock.Create<ClassProperty>();
		expectations.Properties().Getters().GetAndInitData();

		var mock = expectations.Instance(null);
		var value = mock.GetAndInitData;

		expectations.Verify();

		Assert.That(value, Is.EqualTo(default(int)));
	}

	[Test]
	public static void CreateGetAndSet()
	{
		var expectations = Rock.Create<ClassProperty>();
		expectations.Properties().Getters().GetAndSetData();
		expectations.Properties().Setters().GetAndSetData(Arg.Any<int>());

		var mock = expectations.Instance(null);
		var value = mock.GetAndSetData;
		mock.GetAndSetData = value;

		expectations.Verify();

		Assert.That(value, Is.EqualTo(default(int)));
	}

	[Test]
	public static void MakeGetAndInit()
	{
		var mock = Rock.Make<ClassProperty>().Instance(null);
		var value = mock.GetAndInitData;

		Assert.That(value, Is.EqualTo(default(int)));
	}

	[Test]
	public static void MakeGetAndSet()
	{
		var mock = Rock.Make<ClassProperty>().Instance(null);
		var value = mock.GetAndSetData;

		Assert.Multiple(() =>
		{
			Assert.That(value, Is.EqualTo(default(int)));
			Assert.That(() => mock.GetAndSetData = value, Throws.Nothing);
		});
	}
}

redpajama_set_name: RedPajamaGithub


text:
Body & Healthcare
ICT & telecommunications
Ian Robertson
Jean Pierre Jeunet
Vittorio Sacco
Olivier Ayache Vidal
Maja Fernqvist
Armand de Saint-Salvy
Tracey Rowe
Matteo Bonifazio
Manu G Cuesta
James Huth
VeroDirector
Eric Delmotte
Jean Pierre Jeunet's first feature film was Delicatessen (1991), a melancholic comedy set in a famine-plagued post-apocalyptic world, in which an apartment building above a delicatessen is ruled by a butcher who kills people in order to feed his tenants. He then directed The City of Lost Children (1995), the success of which led to an invitation to direct the fourth installment of the Alien movie franchise, Alien: Resurrection (1997). He then directed Amélie (2001), A Very Long Engagement (2004), Micmacs (2009), and The Young and Prodigious T.S. Spivet (2013). His works in advertising includes his add for Chanel N.5, and his add "there is more to taste" for Lavazza, alongside Tobago.
Milka - Time Machine
Lavazza - There is More to Taste
Chanel N°5
Contact: n.maman (@) tobagofilms.com|

redpajama_set_name: RedPajamaCommonCrawl


In a typical angry blast of early morning tweets, Trump kicked (1) transgender people from the US military. That's over 15'000 people. Ostensibly a manoeuvre to gain support from certain US Senators for Trump's budget and his Mexican border wall who are against the military paying health costs for transgender people. #NotMyPresident.
(1) It is not sure what the status of such an act is. A tweet is not a law nor is it an executive order.
Democracy Now | The First Openly Transgender Infantry Soldier in U.S. Army Speaks Out on Trump's Military Ban.
Democracy Now | Dean Spade & Fiona Dawson: What Role Should the Military Play in the Fight for Transgender Rights?


text:
layout: post
title:  "笨方法学Ruby第二十五天"
date:   2016-06-28 00:18:23
categories: [LRTHW]
---

{% highlight ruby %}

module Ex25

	# This function will break up words for us.
	def Ex25.break_words(stuff)
		words = stuff.split(' ')
		return words
	end

	# Sort the words.
	def Ex25.sort_words(words)
		return words.sort
	end

	# Prints the first word after shifting it off.
	def Ex25.print_first_word(words)
		word = words.shift
		puts word
	end

	# Prints the last word after poping it off.
	def Ex25.print_last_word(words)
		word = words.pop
		puts word
	end

	# Takes in a full sentence and returns the sorted words.
	def Ex25.sort_sentence(sentence)
		words = Ex25.break_words(sentence)
		return Ex25.sort_words(words)
	end

	# Prints the first and last words of the sentence.
	def Ex25.print_first_and_last(sentence)
		words = Ex25.break_words(sentence)
		Ex25.print_first_word(words)
		Ex25.print_last_word(words)
	end

	# Sorts the words then prints the first and last on.
	def Ex25.print_first_and_last_sorted(sentence)
		words = Ex25.sort_sentence(sentence)
		Ex25.print_last_word(words)
		Ex25.print_last_word(words)
	end

end

{% endhighlight %}


text:
New Lit on the Block
New Lit on the Block: The Shore
Cutting, strange, and daring are the words The Shore uses to describe the kind of poetry they seek to publish for its readership. Like the waters of lakes or seas or even rivers, the editors detail, "We want poems that push and ache and recede." And like any beautiful and powerful shoreline, how could readers and writers not be drawn in? Read more...
New Lit on the Block :: The 4x2 Project
What do you do if you're a lit mag that has been successfully publishing poets at all stages of their careers for two decades? Well, you start a NEW publication, of course, with an entirely NEW mission! The 4x2 Project is exactly that. Read more...
New Lit on the Block :: Okay Donkey
If the idea of snuggling up to a stack of submissions sounds like the most romantic way to spend your evening with the one you love, then you can pretty much imagine the lives of Genevieve Kersten and Eric Andrew Newman, editors of the newest online venue for poetry and flash fiction: Okay Donkey. Read more...
New Lit on the Block :: Thriller Magazine
With a name like Thriller Magazine, there's little room for mistaking the genre of this new online biannual publishing short stories and flash fiction under the umbrella of thriller/suspense/mystery. And with Editor in Chief Ammar Habib's background, readers of this publication can expect to experience quality genre literature, while writers can expect that their work will be respectfully considered. Read more...
New Lit on the Block :: Months To Years
Death. Dying. Terminal illness. Words – and experiences – we tend to avoid, not want to talk about and, most certainly, not want to experience. Yet, as Founding Editor Renata Khoshroo Louwers says, these are topics that touch everyone's life at some point. Which is why she and her husband began Months To Years, the online quarterly of creative nonfiction, poetry, photography, and art, as a response to their own experiences with loss as well as a way to support others. Read more...
New Lit on the Block :: Crossways Literary Magazine
The titles of WB Yeats's first collection of poems is the inspiration behind the naming of Crossways Literary Magazine, an online quarterly of poetry and short fiction based out of Ireland.
But the core inspiration behind this new publication was Founding Editor David Jordan's "limited success" in getting his own work published. "I decided I would go to the other side and be the publisher and the person who says yes. I figured I might have more success in this role and get satisfaction from it." Read more...
New Lit on the Block :: The Esthetic Apostle
Based out of Chicago, The Esthetic Apostle is a new online monthly of poetry, prose, artwork and photography which also releases print issues quarterly.
"Promoting creative individuals, self-realization/development, and beautiful ideas" are what motivated this start-up, as Founder and Editor-in-Chief Samuel M. Griffin explains. "The wit and wisdom of Oscar Wilde was a primary catalyst. As a tribute to our city and Wilde, we named the magazine The Esthetic Apostle after a Chicago Tribune headline describing Wilde's visit to the windy city." And if you're wondering about the spelling...
New Lit on the Block :: SWWIM Every Day
What better way to usher in summer than to introduce SWWIM Every Day? SWWIM actually stands for Supporting Women Writers in Miami, and although it retains its origin's namesake, everyone is invited to enjoy the international reach of contributors included in this daily online publication of poetry by women, women-identifying and femme-presenting writers. Read more...
New Lit on the Block :: Angry Old Man
"Anger is an energy, according to Johnny Lydon. Who am I to argue?" comments Drew B. David, sole editor and "energy" behind Angry Old Man, a new print and online quarterly publishing all textual and visual forms, with mixed media (or intermedia) especially encouraged. Angry Old Man is a lit mag dedicated to textual-visual hybridization and true aesthetic experimentation. Read more...
New Lit on the Block :: Iron City Magazine
If this data shared by Iron City Magazine doesn't startle or sadden you, then you need to get woke: "The U.S., with less than 5% of the world's population, has more than 20% of its prisoners, more people by raw number than any other nation in the world, regardless of size. Given that 1 in 135 Americans lives behind bars, U.S. prison complexes are like vast cities. If they were made into a state, it would be the 36th most populated."
Iron City Magazine: Creative Expressions By and For the Incarcerated is an annual online and print journal devoted entirely to writing and art from the prison world, and one that we should all be reading. The name, Iron City Magazine 's Marketing Editor Jacqueline Aguilar tells me, comes from the image the word "prison" conjures in most of us: "Even though most prisons are chiefly nowadays made of concrete more than iron, it's still the iron doors, iron bars, and razor wire that most resonate with our image of prison life." Read more...
Lit Mag Cover Picks
Lit Mag News
Misc News


Delectably Dead is a new zombie themed dining experience that opened last week at The Cliff's Pavilion in Southend. Created by the talented team from Hide and Shriek, we were unsure what the evening would entail, but knew that it would contain their usual mix or horror and humour. As we were led into the room and to our table, it was clear that a lot of effort had gone into setting the scene, with atmospheric theming and every guest issued with a ration book which served as our menu choice.
The show itself played out throughout the night with different dramas and and vignettes happening around the room. Clearly the soldiers that were locked in the room with us, had other issues than just the zombies outside, and soon tensions were boiling over as they jostled for position and survival.
Throughout the show there were several attacks and/or death's and with these – no expense was spared on the amount of blood flying around. Our table was at the back of the room so it wasn't until we were pulled forward to try and comfort a wounded soldier, that we realised how wet and bloody the floor and walls were. In fact, one poor woman at the front of the room was completely covered in blood after the team decided to perform emergency surgery to extract a bullet right on her table!
The food itself was a full part of the experience with our main meals being served in Gerry cans and other courses designed to look like they had been created from scraps and rations. Desert was served as a tin of peaches and the salmon terrine was presented like a tin of cat food. The food was outstanding and was quite generous in portion. Nobody left the venue hungry at the end of the night – well apart from some of the zombies!
As you would expect, tensions built up all through the evening and once desert was out the way, the show kicked into high gear as the zombie attack became more pronounced, and the finale included filmed sections, extreme violence, zombie breaches, lots of gunfire and slightly bizarrely – a song and dance routine that left us laughing at the sheer audacity!
All in – we thoroughly enjoyed the show but did think that we would have enjoyed it better if we weren't at the back of the room. All tickets for the event were sold at the same price and unlike other theatre shows where you expect a more distant view of the action in the cheap seats – we did feel that we missed out on lot of the detail. The actors tried to include us where they could, but maybe the action scenes should have been spread around the venue a bit so everyone gets a chance to see the gore/drama up close?
Delectably Dead won't be to everyone's liking as the drama was about the lives and interactions of the real characters and was not just about zombies. In fact, the zombies were merely a catalyst for what happened on stage, so don't expect the room to be overtaken by the undead. After all – the audience are sat down throughout the show so there is nowhere for them to run. That's not saying that the zombies DON'T get in but they are dispatched quickly and noisily before they can get too close!
We know this was only the second performance of the show and we are sure some of the sightline issues will be resolved going forward. We genuinely enjoyed the whole evening and found it to be something completely unique and different. So, unlike the table next to us who talked all the way through the show, join in, listen, participate and enjoy – Hide and Shriek have delivered something totally different to anything that has gone before!
I went to see Delectably Dead at the Cliff's Pavilion for a birthday present.
Extremely entertaining!! More adrenaline-inducing than nightmare inducing though -- which is my preference anyway!
As an action-lover, I got involved with the plot as much as I could, and felt I gained a lot more from it this way -- the food was amazing, though this was probably helped by my engagement with the show - I tried to imagine myself in a real situation, and the food was therefore amazing to me, considering it was ration food! The desert was amazing, and the way it was served was really well thought out (as thought it was really intended for survival!) and was really cinematic.
The actors/actresses were fantastic, and I offered water to them while in-role, and also engaged in conversation with them -- I found myself missing the 'characters' when I went home! I'd really found them convincing.
I joined in to the point where I feel I may have mucked up their script/set order of events: at one time, something is meant to happen involving a zombie, and I think I (and some other people) were too engaged with survival to allow that part of the plot to happen... but the show continued brilliantly, as though our intervention was meant to happen/it was a real situation.
I also joined in with the audience when they were prompted to give opinions -- and my opinion differed to the rest of the jeering crowd, and I then overheard one audience member whisper about me "She must be one of them" (involved with the actors), and I wasn't!
The one thing I feel let it down was that those that weren't engaging with it as much as we were made it less realistic. I get that some people don't want to genuinely believe it's a zombie apocalypse, but I went to have a survival experience, while others seemed to go to mock it in places. Have a laugh by all means, but don't ruin the realism! Some people were also being unkind to the actors/actresses and were disruptive, but the actors/actresses improvised in response brilliantly!
I'd definitely go again. IF YOU GET THE CHANCE, GO! But try to have fun while engaging with it as fully as you can! Pretend you're really in the situation -- you'll enjoy a richer, more memorable experience -- one that really does stay with you!
This was a complete let down the venue was too busy, too noisy , too many drunk people and terrible food for the price. Such a shame as their other events have been well worth a visit .
Thank you for taking the time to send us your feedback regarding Delectably Dead - we are sorry to hear your experience was not as we would have hoped. Hide and Shriek is a small creative company, that has always embraced feedback (good or bad) in an effort to continually improve, and I would like to assure you that your comments will be the foundation for improvements.
Unfortunately, a number of audience members contributed to a higher than normal/expected level of ambient noise within the room - despite repeated requests from our cast, Cliffs Pavilion personnel, and even other audience members to be quiet during performance parts of the evening. We have performed Delectably Dead a number of times, and this is the first instance in which we have had issues of this nature, and I can only apologise for any detrimental impact this had on your evening. I am going to be liaising with the Cliffs Pavilion this week to work with them on this matter.
Delectably Dead is an evening organised by the venues that book us to perform. We are booked by venues to provide the entertainment aspect - whilst they provide and run all other aspects such as the food, venue, pricing, ticketing, service times, etc. I will pass your comments onto the venue management, for them to investigate into. If you would like to discuss any aspect of your evening further, I would be more than happy to arrange to call you at a time which is convenient for you. Please just email me your contact details to boo@hideandshriek.co.uk.


Florida governor Rick Scott and the Florida board of governors, is calling for universities in the state to "examine their academic offerings, seeing if they can cut smaller, costly programs or those generating graduates with low job prospects and earning potential," a committee at Florida Gulf Coast University (FGCU) has answered the call, proposing for elimination two master's programs and eight bachelor's programs, including the philosophy program.
Meanwhile, the university committee that made the recommendation to cut philosophy "is looking for more information on graduates' job prospects, salaries and other information in making its review." Recall the figures presented here by Robert Stufflebeam from the University of New Orleans. I imagine that the philosophy faculty at FGCU (there appear to be seven of them) would appreciate pointers to other relevant data and arguments for the value of philosophy.


text:
"""Data generators for enwik8 data-set."""

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import os
import zipfile

from tensor2tensor.data_generators import generator_utils
from tensor2tensor.data_generators import problem
from tensor2tensor.data_generators import text_problems
from tensor2tensor.utils import registry

import tensorflow.compat.v1 as tf

def _maybe_download_corpus(tmp_dir):
  """Download and unpack the corpus.

  Args:
    tmp_dir: directory containing dataset.

  Returns:
    path to entire corpus as a text file.
  """
  corpus_url = "http://mattmahoney.net/dc/enwik8.zip"
  corpus_filename = os.path.basename(corpus_url)
  compressed_filepath = generator_utils.maybe_download(
      tmp_dir, corpus_filename, corpus_url)

  zip_ref = zipfile.ZipFile(compressed_filepath, "r")
  zip_ref.extractall(tmp_dir)
  zip_ref.close()

  return os.path.join(tmp_dir, "enwik8")

@registry.register_problem
class Enwik8L65k(text_problems.Text2SelfProblem):
  """Enwiki8, with examples up to 65,536 characters long."""

  READ_MODE = "r"
  DUPE_FACTOR = 4

  @property
  def is_generate_per_split(self):
    return True

  @property
  def vocab_type(self):
    return text_problems.VocabType.CHARACTER

  def global_task_id(self):
    return problem.TaskID.EN_CHR

  @property
  def dataset_splits(self):
    """Splits of data to produce and number of output shards for each."""
    return [{
        "split": problem.DatasetSplit.TRAIN,
        "shards": 16,
    }, {
        "split": problem.DatasetSplit.EVAL,
        "shards": 1,
    }, {
        "split": problem.DatasetSplit.TEST,
        "shards": 1,
    }]

  def max_length(self, model_hparams):
    return self.sequence_length

  @property
  def sequence_length(self):
    """Length of each example (number of characters)."""
    return 65536

  def generate_samples(self, data_dir, tmp_dir, dataset_split):
    filepath = _maybe_download_corpus(tmp_dir)
    with tf.io.gfile.GFile(filepath, mode=self.READ_MODE) as f:
      data = f.read()

    tf.logging.info("Length of enwik8 = %d", len(data))

    num_test_chars = 5000000

    if dataset_split == problem.DatasetSplit.TRAIN:
      part = data[: -2 * num_test_chars]
    elif dataset_split == problem.DatasetSplit.EVAL:
      part = data[-2 * num_test_chars: -num_test_chars]
    elif dataset_split == problem.DatasetSplit.TEST:
      part = data[-num_test_chars:]
    else:
      raise ValueError("Undefined dataset_split")

    tf.logging.info("Length of split '%s' = %d", dataset_split, len(part))

    # TODO(kitaev): Better handling of evaluation data, to ensure that there is
    # always context available.
    if dataset_split == problem.DatasetSplit.TRAIN:
      offset = self.sequence_length // self.DUPE_FACTOR
      for start in range(0, len(part), offset):
        yield {"targets": part[start:start+self.sequence_length]}
    else:
      for start in range(0, len(part), self.sequence_length):
        yield {"targets": part[start:start+self.sequence_length]}

  def generate_encoded_samples(self, data_dir, tmp_dir, dataset_split):
    generator = self.generate_samples(data_dir, tmp_dir, dataset_split)
    vocab = self.get_or_create_vocab(data_dir, tmp_dir)
    for sample in generator:
      sample["targets"] = vocab.encode(sample["targets"])
      yield sample

@registry.register_problem
class Enwik8L2k(Enwik8L65k):
  """Enwiki8, with examples up to 2048 characters long.

  Reads the input byte-wise and chunks it into fragments of maximum
  length of 2048. Does not shift byte indices (we do not assume cls or
  pad are used), unlike the base class!
  """

  READ_MODE = "rb"

  @property
  def sequence_length(self):
    """Length of each example (number of characters)."""
    return 2048

  def generate_encoded_samples(self, data_dir, tmp_dir, dataset_split):
    return self.generate_samples(data_dir, tmp_dir, dataset_split)

@registry.register_problem
class Enwik8L32k(Enwik8L2k):

  @property
  def sequence_length(self):
    """Length of each example (in tokens)."""
    return 32768

@registry.register_problem
class Enwik8L16k(Enwik8L2k):

  @property
  def sequence_length(self):
    """Length of each example (in tokens)."""
    return 16384

@registry.register_problem
class Enwik8L8k(Enwik8L2k):

  @property
  def sequence_length(self):
    """Length of each example (in tokens)."""
    return 8192

@registry.register_problem
class Enwik8L4k(Enwik8L2k):

  @property
  def sequence_length(self):
    """Length of each example (in tokens)."""
    return 4096

@registry.register_problem
class Enwik8L1k(Enwik8L2k):

  @property
  def sequence_length(self):
    """Length of each example (in tokens)."""
    return 1024

@registry.register_problem
class Enwik8L512(Enwik8L2k):

  @property
  def sequence_length(self):
    """Length of each example (in tokens)."""
    return 512


...so that you can do what you really love?
Abstract: I examine inflation-adjusted historical returns of the S&P 500 since the 1870s with and without dividends and backtest a couple of famous investment strategies for retirement. I also deploy some personal/philosophical arguments against the whole live-frugally-and-then-live-frugally-off-of-investments idea.
Disclaimer: I'm not (any more) a finance industry professional and I'm not trying to sell you investment advice. Please consult with somebody qualified or somebody who has your best interests at heart before taking any action based on what some guy said on the Internet.
The code I used to produce most of the following plots and process data is in an IPython notebook on my GitHub.
Early retirement is simple, right? Just live frugally, stop drinking Starbucks lattes, save a large fraction of your paycheck, invest it into a mixture of stocks and bonds and you, too, will be on the road towards a life of work-free luxury and idleness driven by compound interest!
What if there's a stock market crash just before I retire, you ask? The personal finance gurus will calm you down by saying that it's fine and the magic of altering your bond position based on your age as well as dollar cost averaging, together with the fact that the stock market returns 7% on average, will save you.
As sweet as that would be, there is something off about this sort of advice. Are you saying that I really can consistently make life-changing amounts of money without doing any work? This advice also handwaves around the downside risks of investing into the stock market, including the volatility of returns.
I wanted to simulate the investment strategies proposed by personal finance and early retirement folks and actually quantify whether putting my "nest egg" into the stock market is worth it.
This piece of writing was mostly inspired by NY Times' "In Investing, It's When You Start And When You Finish" that shows a harrowing heatmap of inflation-adjusted returns based on the time an investment was made and withdrawn, originally created by Crestmont Research. They maintain this heatmap for every year here.
This post is in two parts: in the first one, I will backtest a few strategies in order to determine what sort of returns and risks at what timescales one should expect. In the second one, I will try to explain why I personally don't feel like investing my money into the public stock market is a good idea.
The data I used here is the S&P 500 index. and I'm assuming one can invest into the index directly. This is not strictly true, but index tracker funds (like Vanguard's VOO ETF) nowadays are pretty good and pretty cheap.
A friend pointed me to a paper that has an interesting argument: using the US equity markets for financial research has an implicit survivorship bias in it. Someone in the 1870s had multiple countries' markets to choose from and had no way of knowing that it was the US the would later become a global superpower, large amounts of equity gains owing to that.
As a first step, I downloaded Robert Shiller's data that he used in his book, "Irrational Exuberance", and then used it to create an inflation-adjusted total return index: essentially, the evolution of the purchasing power of our portfolio that also assumes we reinvest dividends we receive from the companies in the index. Since the companies in the index are large-cap "blue chip" stocks, dividends form a large part of the return.
I compared the series I got, before adjusting for inflation, with the total return index from Yahoo! Finance and they seem to closely match the Yahoo! data from the 1990s onwards.
The average annual return, after inflation, and assuming dividends are reinvested, is about 7.5%. Interestingly, this seems to contradict Crestmont Research's charts where the average annual pre-tax (my charts assume there are no taxes on capital gains or dividends) return starting from 1900 is about 5%.
On the other hand, the return with dividends reinvested does seem to make sense: without dividends, the annualized return is about 4.25%, which implies a dividend yield close to the actual observed values of about 4.4%.
Another observation is that the returns are not normal (their distribution has statistically significant differences in kurtosis and skewness).
First, I wanted to plot the annualized returns from investing in the S&P 500 at a given date and holding the investment for a certain number of years.
The result kind of confirms the common wisdom that the stock market is a long term investment and is fairly volatile in the short term. If one invested in the late 1990's, say, and withdrew their investment in 5 or even 10 years, they would have lost about 4% every year after inflation. Only with investment horizons of 20 years do the returns finally stabilise.
Here are the distributions of returns from investing a lump sum into the S&P 500. This time they were taken from 10000 simulations of paths a given portfolio would follow (by randomly sampling monthly returns from the empirical returns' distribution). I also plotted the inflation-adjusted returns from holding cash (since it depreciates with inflation) for comparison.
What can be seen from this is that in 20 or 30 years, it seems possible to double or quadruple one's purchasing power.
I also plotted a set of "hazard curves" from those sampled distributions. Those are the simulated probabilities of getting less than a given return depending on the investment horizon. For example, there's a 30% chance of getting a return of less than 0% after inflation (losing money) for a 1 year investment and this chance drops down to about 5% for a 20 year investment. Conversely, there's a 100% chance of getting a return of less than 300% (quadrupling the investment), but after 20 years there's a 50% chance of doing so.
DCA is basically investing the same amount of money at given intervals of time. Naturally, such an investment technique results in one purchasing more of a stock when it's "cheap" and less when it's "expensive", but "cheap" and "expensive" are relative and kind of meaningless in this case.
DCA is usually considered an alternative to lump sum investing, but for a person who is investing, say, a fraction of their paycheck every month it's basically the default option.
I did some similar simulations of dollar cost averaging over a given horizon against investing the same sum instantly.
Unsurprisingly, DCA returns less than lump sum investment in this case. This is because the uninvested cash depreciates with inflation, as well as because the average return of the stock market is positive and hence most of the cash that's invested later misses out on those gains.
DCA would do better in a declining market (since, conversely, most cash would miss out on stock market losses), but if one can consistently predict whether the market is going to rise or decline, they can probably use that skill for more than just dollar cost averaging.
In my tests, dollar cost averaging over 20 years gave a very similar distribution to investing a lump sum for 9 years. Essentially, returns of DCA follow those of investing a lump sum for a shorter period of time.
Finally, here are the "hazard curves" for dollar cost averaging.
After a year of monthly investing we'd have an almost 40% chance of losing money after inflation and even after 20 years we still have a 10% chance. After 20 years, doubling our purchasing power is still a coin toss.
What we have gleaned from this is that the long-term yearly return from the stock market is about 7% after inflation (but before taxes), assuming one invests over 20-30 years. Compounded, that maybe results in quadrupling of one's purchasing power (less if one invests a fraction monthly, and even less with dividend and capital gains taxes).
While doubling or trebling one's purchasing power definitely sounds impressive (especially whilst doing only a few hours of work a year!), it doesn't really feel big if you look into it. Let's say you're about to retire and have saved up $1 million (adjusted for inflation) that you weren't investing. If you were putting a fraction of that money monthly into the stock market instead you would have had $2-3 million, say. But you can live as comfortably off of the interest on $1 million as you would on $2-3 million.
And on the contrary, if you have only saved $100k, dollar-cost averaging would have yielded you $300k instead, the interest on both amounts (and in retirement it has to be risk-free or almost-risk free) being fairly small.
As long as one has enough money to get up that "utility cliff" beyond which they can live off of their investments in retirement, it doesn't matter how much is it. Conversely, saving by investing into the stock market is worth it only if one is very sure that that's the thing that will get them over the line.
This possible climb up the cliff comes at a cost of locking in one's capital for a large amount of time (as short-term volatility in the stock market makes it infeasible to invest only for a few years). This lock-in leaves one completely inflexible in terms of pursuing other opportunities.
One's basically treating the stock market as some sort of a very long-term bond where they put the money in at one end and it comes out on the other side, slightly inflated. There was also an implicit assumption in all these simulations that the future follows the same pattern as the past.
Returns only become consistent after 30 years with dollar cost averaging. Someone who started investing a fraction of their savings into the general stock market 30 years ago would have gotten a 5-7% annualized return. Could they have predicted this? Probably. But could they have predicted the rise of the Web, the smartphones, the dotcom boom and crash? Probably not.
I'm not saying that whatever extra money one has should be invested into Bitcoin, a friend's startup or something else. Money can also be used to buy time off (to get better acquainted with some new development or technology) or education. Is using it to buy chunks of large corporations really the best we can do?
I also like the idea of "barbell investing", coined by Nassim Nicholas Taleb: someone should have two classes of investments. The first one is low-risk and low-return, like bonds or even cash. The second one is "moonshots", aggressive high-risk, low-downside, high-upside investments. Things like the stock market are considered to be neither here nor there, mediocre-return investments that might bear some large hidden downside risks.
There's an argument that one should still save up excessive amounts of money (as investments or just cash) whilst living extremely frugally so that after several years of hard work they "never have to work again" and can retire, doing what they really would have loved to do this whole time.
Conversely, the extreme version of the two-job route is dangerous because it teaches you so little about what you like. If you work hard at being a bond trader for ten years, thinking that you'll quit and write novels when you have enough money, what happens when you quit and then discover that you don't actually like writing novels?
Paul Graham, "How To Do What You Love"
Here I am, young and retired. What do I do next? Anything? How do I know what I like? Do I have any contacts that I can rely upon to help me do that "anything"? I don't feel that toiling away somewhere, being bored for a couple of decades, so that I can then quit and be bored anyway (since I hadn't learned what makes me tick), is a useful life strategy.
What about all those people who did become rich investing into the stock market? Warren Buffett is one of them, probably one of the most famous investors in the world. But he made his first couple of million (in 2018 dollars) working for Benjamin Graham, in salary and bonuses. In essence, if he wanted to, he could have retired right there and then.
Only then did he proceed to increase his wealth by investing (first running an investment partnership and so working with the partnership's money and presumably charging a performance fee, then through Berkshire Hathaway). None of these methods are available to someone with a personal investment account.
Essentially, I think that the stock market is a wealth preservation, not a wealth generation engine. Publicly-listed companies are large and stable, paying consistent and healthy dividends with the whole investment yielding a solid, inflation-beating return.
But for me? I think it's important to stay flexible and keep my options open. If someone offers me an opportunity somewhere, I don't want to say "Sorry, I have a mortgage and the rest of my money is invested in healthy companies with solid, inflation-beating returns that I can't currently sell because it's in drawdown and would you look at the tax advantages". I want to be able to say "Sure, let me give a month's notice to my landlord. Where are we going?"