text:
Youth is served
It's pretty amazing that we've lost four in a row and haven't managed to lose a game in the standings. Guess we should just say thanks and not wonder why.
Here's the lineup tonight, which has six guys age 26 or less.
Pierre, LF
Kemp, CF
Kent, 2B
Loney, 1B
Martin, C
Ethier, RF
DeWitt, 3B
Maza, SS
Kershaw, P
138 Comments
Finally Torre changed things around! Same people, new places. I like it. Kemp should be batting no lower than third. Though, nothing is going to change Pierre from leadoff except Furcal. GO KERSHAW!
.225 /.281 /.236 /.517 with 9 runs scored in 22 games from our "veteran" leadoff guy and .252 /.291 /.400 /.691 with 5 hr in 44 games from our "veteran" clean up hitter but when we loose tonight it will be the 6 kids fault, isn't that right Ned, Joe, Larry? Josh?********* sick of it.
Thanks Jason.
I've been wondering what JP's stats were since he took over for Furcal in the leadoff and I suspected right.
JP stinks in the leadoff spot. Hurry back Raffy!!!!!!
Moving Kent out of the cleanup slot is akin to breaking Pierre's consecutive game streak at the beginning of the season. It may not produce much in itself, but is at least a positive sign that maybe Torre's beginning to THINK. Who knows what that may bring on – maybe even letting go of Sweeney and eventually remembering that there's a guy called DY around here someplace.
I am just curious, is Torre as dumb as he is acting or what? Pierre was a much better hitter in the #8 or #2 spot than he is in the lead off spot. Yet he gets stuck in there every game no matter what??
I just don't get it!!!
Martin would be a much better hitter in the leadoff spot.
jnv, Right!
Why can't Martin or Ethier lead off until Raffy comes back? Enough of this prototypical lead off man with speed crap!!
DeWitt..anyone else really..Kent is more of a GM prob
It's been said here before, Slappy can't steal 1st base!! So unless he gets on base – Not often enough- His so called speed is a waste!!
Even Kent has a better OBP!! 🙂
Why does Joe give our worst player the most ABs? Does he really think playing JP over DY and batting him lead off gives us the best chance to win? Hasn't he seen the results since Furcal went out and JPs been leading off? If somethings not working mister hall of fame manager why not try to change it?
It must be an ego thing, He can't admit to himself and all the loyal Dodger fans that he doesn't know what the HELL he is doing!
To top it off, it seems like every tv announcer just can't wait to give props to Pierre like he's the one shining example of greatness on this team. What on earth???
Is it so important to bat him lead off EVERY SINGLE GAME????
If he's not getting on base, then it wouldn't matter even if Sweeney was batting lead off, right?
Joe Torre: American League HOF manager.
Joe Torre: National League managing flop.
If the kids had been fed any confidence in the beginning instead of everyone in management worried about Pierre's EGO, maybe they'd be playing like they belong instead of swinging for the fences worried about sitting out in favor of Terry Tiffee.
Game in, game out, DeWitt gives the Dodgers more quality at-bats than anyone except maybe Martin. I can see him as a #2 hitter…very patient (as in letting a base stealer steal a base). Can he bunt? Don't know. But who can on this team?????????
Blake DeWitt has been hands down the best player on this team in the month of May. And it's not even close. I think batting him second and Kemp third is a good, no great idea.
Nice lineup. We will get a W tonight!
Dbacks struggling just as well.
Wow, Colorado blew a 8-0 lead today and lost 10-9 to Cubs!
Cubs are unconscious. HOLY COW!!!!
You've got to be kidding. I gave up on the Cubbies today when it was 7-0 in the middle of the game. Geez!! They are hot..
Pierre's 2008 splits (via http://www.baseball-reference.com/)
Leadoff (97 PAs) .225 .281 .236 .517
Batting 2nd (45 PAs) .432 .512 .486 .998
Batting 8th (22 PAs) .263 .364 .368 .732
Batting 9th (6 PAs) .333 .333 .333 .667
A definite leadoff machine. It's no real secret that he thrives on a fastball diet when they're worried about Raffy.
Newsflash – Joe Torre shakes up the Dodger lineup by hitting Kent 3rd!
Reaction – yeah, get him more at bats.
Anyone know the last team with .300 hitters in the 5, 6, 7 & 8 slots?
i don't care where everyone is tonight, all i care is that he finally tried to shake it up a bit.. i HATE seeing pierre lead off every single game.. ugh.. but at least somethings changed.. hopefully kershaw will shut the mets down and we can fight for that much needed W..
btw, josh is right.. it's amazing we could lose 4 in a row and not lose a game in the standings.. but that also just means that we could easily be in first or at least, less games back if we had won a couple.. sigh =\
Lineups, lineups, lineups. Here's my own starting lineup for tonight. It's Torre's starting 8, rearranged using a certain rule. Can you figure it out? It's really a decent order. You could even sell it to Kent, saying that he's 2nd cleanup.
DeWitt, 3B .293 .366 .463 .829
Kemp, CF .305 .359 .441 .800
Loney, 1B .276 .329 .427 .756
Martin, C .311 .420 .404 .824
Ethier, RF .306 .372 .447 .819
Maza, SS .321 .367 .429 .796
Pierre, LF .276 .343 .308 .651
Kent, 2B .248 .292 .395 .687
Give up? Birthdays, youngest to oldest:
DeWitt, 3B 08/20/85
Kemp, CF 09/23/84
Loney, 1B 05/07/84
Martin, C 02/15/83
Ethier, RF 04/10/82
Maza, SS 06/22/80
Pierre, LF 08/14/77
Kent, 2B 03/07/68
Yep Sara, If we had won some games we would be neck and neck with the DB's. Missed opportunity. But, fortunately we didn't lose any ground.
I'm anxious to hear how Nelly's Beatles show went today. I'll bet it was killer. Also anxious to see how Kersh does today/tonight. I believe he will keep us in the game. Unlike Panty last night.
I like it Eric. Kant cen't argue with that. LOL
Alphabetically works out well also.
I don't care much for first names:
Andre Eithier
Blake DeWitt
James Loney
Jeff Kent
Juan Pierre
Luis Maza
Matt Kemp
Russell Martin
Wait…….I got an idea.
Andre Eithier
Blake DeWitt
Buff Matt Kemp
Captain Russell Martin
James Loney
Jeff Kent
Juan Pierre
Luis Maza
It just got better!
I like the lineup with the exception of the missing Furcal.
As far as the unchanging 3 1/2 games I think it shows that the D'backs are proving they are not much better than the other teams in this division.
I was suprise of the slow starts of both the Rockies & the Padres , I really thought we'd be in a fight with the Giants for 4th place. Everything seems to be coming back to normal. Probably in a few weeks the Snakes will be just like the rest of us, trying to stay above .500
Good luck to Kershaw, I hope he adds to Kuo & Dewitt as players Met fans remember.
Good luck to our offense especially when Kershaw is doing well. It has a tendency to come alive when our starters are being tagged. GO DODGERS!!!!!
Nice line up!!!! I am assuming you guys have already addressed the Pierre lead-off issue – so I won't go there. Let's get a win tonight boys!!!
BTW – those of you following my Beatles from Beagles program – PACKED HOUSE WITH A STANDING OVATION- They were awesome!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Nice line-ups boys!!! As long as they keep Pierre from led-off, they all work for me.
Congrats on the program, dnellie! I'm bookin' home to try and catch the start on the tube!
No pressure, Krusher Kershaw, but the stopper job is open……………
Go DODGERS!!!!!!!!!!!!!
I don't know where Ken Gunick got his info from but he wrote that DeWitt is tied with Ethier with team HR lead with 5.
Ethier has 4.
DeWitt is tied with Furcal, Loney, & Kent with 5 according to me.
By jersey #
james #7
pierre #9
jeff #12
andre #16
matt #27
dewitt #33
russell #55
luis #57
PierreEW – that information is incorrect – Ethier only has 4
I really like this line-up. Would be great if Raffy was in there and Pierre was watching thru the dug-out posts. Let's stick with this line-up a few days to see what can happen. Maybe, just maybe, throw DY in there for a few games. I know this kid will hit. No doubt about it. We'll probably trade him and be reading in 3 months where he's batting .350 with 35 to 50 RBI'S for another team………Hope not.
Congratulations Nelly!! Glad it was a hit. E-mail me pics if you can.
sing the song – Loney got an RBI
Kemp has to get the runner over….Ethier or Martin are better in the 2 spot, even Dewitt, they are less likely to strike out….DDFSDFADF!
Great job Loney!!!!
2-0 dodgers
finally some luck
kemp should bat 3rd
I like this lineup.
The kids just do not get it….What the heck are they doing knocking in runs? Bowa is probably fuming! Anyway great job kids…show the whiney vets how it is done!!!
Maybe if Kemp wasn't struggling he would be there. I hate Delgado.
Josh mentioned the youth on his post — three kids, three RBI
Good to get to Maine early…he owned us the last time in LA!!!
Giddiness! Dodgers 3-0!
O.K. LONEY, MARTIN & ETHIER Sure gave Kershaw a nice start.
Kershaw changed his number? when? why?
good thing i didn't order that jersey yet.
Oh here we go again.
great sequence to Wright right there. Come back strong after a 2-run HR. That showed me a lot about Kershaw.
He changed it to 22 just a few days ago and Sweeney is now 21 I believe. He changed it to 22 because Will Clark was his favorite player.
22 is his favorite number after Will Clark his favorite player when he was growing up.
he had some nerves..settle down and throw strikes. Trust your stuff.
Way to get out of that inning!
Let's get those 2 runs back and make Maine work even harder this inning and maybe let him throw 20 more pitches that he has oin the 1st.
After all these are the Mets.
I think Kersh will settle down.
Way to keep your cool kid.
Gosh how did the Cubs win that game at losing 8-0 in the 4th. Oh yeah because they so good at home. I bet if we had that score we could've won.
Thanks for working the count there. That would Maine need a quick inning there.
Pierre couldn't hit his way out of a wet paper bag. Pathetic……
very solid inning
Good job Kershaw nice inning there.
Hey bob I'm not sure if you see my comment the other day when you told me no problem when I got confused when you say I didn't have Kent batting 2nd.
The mets announcers are totally wrong – Pierre didn't have a great start – He started on the bench, if I recall, and then cried to mama.
We need some runs.
Kemp, although he flied out, he had a good AB, taking two balls that just missed the outside corner, that's what we want to see.
Right shad, I saw the comment. I really think Kent will get it going yet.
I really like Kemp batting 2nd or third. I think he looks at pitches better and will go deeper into the count. He will still strike out a lot but will get more chances to show his power. It will eventually come.
Go Dodgers
charlie steiner is the worst
Koufax was wild once too.
3 walks only 1 run scored that's pretty good. Now we need to score some runs
I really dont like Kemp batting that high in the order.. I'd prefer Ethier and Martin in the 2nd and 3rd spots. Kemp for me works better at the five spot.
I didn't thing 3 runs would hold up. Good to see the kid get out of that inning. His fast ball is heating up to 94/95 now. We need some long balls again tonight…
Kemp may be ok for the 5 spot but no lower……….Loney for the 4 spot and kemp 5
This is a gut-test for the kids (who are now the team). Do they have what it takes to do whatever is needed to win?
All right, we need some long balls with runners on base……….
I hate my stupid computer.
Good for M_A_R_T_I_N** He needs to do better in New York, he's hardly known here.
Where's Kershaw's strike out pitch?? Not good for his morale to get getting in trouble…
Nah Bob I was talking about this comment I made when you left to go to bed. Well I guess you were talking about past history when he was the manager of the Cardinals, Mets and Braves. Oh you're from St Louis so I guess that why you don't like him. I would give him at least the end of the year too see how far we get before I make judgement on him.
I see your other posted where you listed the record of all the team he's manage. So I guess you do have a point.
Gosh damn they had 2 hits and now 3 hits in this inning. The Mets are getting lucky the last 2 inning.
You'd swear Kershaw was a young lefty…
Oh god we didn't need that.
Get Kuo warming up now.
Back to the minors with Kershaw
Here come Park
If Torre stays with the kids and they start to win, i'll eat my words gladly. We just need to explode out of this funk and blow some teams away.
It's a pipe dream to think the Dodgers could impress the Mets*******Not Lately.
It's N.Y. and Kersh just couldn't find it.
He'll be alright.
One more strike Park.
Still alive and we already scored 4 runs on Maine.
Let's Go Dodgers!!!!!!!!!!
Prototype lead-off genius…
PARK looked good, now it's up to the R-fence.
Yes, I can spell, but can they score?
We need some hits and runs. Let's go LA
Martin shouldn't be batting leadoff. Why???????
Kershaw just needs more experience at this level. They will work with him before his next start and hopefully he will do better next time.
Martin's OBP is .427 and that's just not what we want in a leadoff hitter. We want speed (and a floppy arm)
PARK looks so good, they should leave him in and forget about PHs.
Park's batting average is .182 – that's about double that of JoJo's favorite PH.
take em out DeWitt
Dewitt may not have broken up the DP, but he broke up Castello.
I don't like the way this game is shaping up. We need to get 4 or 5 runs up on these guys.
Come on team.
the 8th will be our inning.
I am almost lead to believe that team management wants this team to lose… I bet someone in the Mets dugout must be thinking, "thank goodness they are not using Kuo."
I hate the Mets announcers just as I hate the Mets. They are full of S***………..
Boy PARK pitched his A– off in the 7th
Nice job.
I think it would have been a close play if DeWitt went home.
Heilman's due for a bad outing.
Send him to bushes.
Oh man.. definitely have to give props to Park for steadying the game there for us. 1 run over 3 innings kept us within shooting distance for sure
Lucky call on Pierre there! We needed a break like that
I knew it….
Heilman was due for a bad outing he has a lot of them.
A good chance for our guys to do some scoring.
Nice to see some hitting for a change.
Well, Heilman's heading for the showers. It's about time we put a hurt on somebody. Keep it going!!
I said this was going to be our inning. Now let's hold them
KEMP, KENT, MARTIN< DeWITT ***Nice going guys.
We got a good shot at a win.
My god, 9 RUNS!!. When was the last time we did that?
BIG BAD JOHN…. The Met announcers just had to bring up the Martinez trade.
Sweeney – UNBELIEVABLE!!!
Golly, Sweeney made an out. Who would have thought!!!!!!!!!!!!!
I like that, Pierre. Rhymes with cyanide.
Good to see some offense from our guys.
Good for the confidence.
Let's hope Saito is back to normal.
Need a DP here to end it
Good Win***Still learning, Still struggling but it was great to see the scoring and no RLISP.
Well I'll be there tomorrow & Sunday night.
I'm going to see if I can catch some of team after the game.
Interesting to note that the two VETERANS in the starting lineup tonight, Kent and Pierre, have the LOWEST batting averages of that lineup. Yes, experience sure does help. And of course experience really makes Sweeney a better pinch hitter, so it entirely understandable why Young wastes away on the bench even though he has a career MLB average of .313. I guess it takes an experienced manager to see the sense of that.
Nice win for The Blue!
"The Dodgers are aggressively looking for middle infield help, not only to find an upgrade for replacing Furcal but for a player who also has second base skills and thus would allow for more frequent resting of the 40-year-old Jeff Kent."
Ned, before you do something really crazy, try DeWitt at second, LaRoche at third and see if Hu's head is back on straight after sitting. Hu is a bonafide major leaguer. It's not like the Western Division is going anywhere. Visions of Pedro for DeShields still haunts me. The best course is to find middle infielders in house. Play the kids…
Now we move on to The Who as JoJo realizes The Kids Are Alright:
I don't mind, young guys getting to play ball,
That's fine, I'm getting to know them well.
And I know sometimes I must sit the vets all night.
Better leave them behind,
When the kids are alright.
The kids are alright.
Sometimes, I gotta get out of the way.
This time, I know I gotta get away.
And I know sometimes I must sit the vets all night.
Better leave them behind,
When the kids are alright
The kids are alright.
I know if Ned goes things would be a lot better for Blue.
Ned had things planned but the DL saved the Blue.
That's fine, vets won't get well.
And I know sometimes I must sit the vets all night.
Better leave them behind
When the kids are alright
The kids are alright.
Sometimes, I gotta get out of the way.
This time, I know I gotta get away.
And I know sometimes I must sit the vets all night.
Better leave them behind,
When the kids are alright.
The kids are alright.
The kids are alright.
The kids are alright.
Wonderfully Important 9 to 5 Victory By Our Beloved Los Angeles Dodgers over The New York Mets! Amazing Super Hero Russel Martin Does It Again With His Explosive 4 For 4 Day at the Plate, with 3 Runs Scored and Three RBI'S, And Almost Hitting For The Cycle! Absolutely Exciting & Fantastic Russel! Super Hero and Tower of Power, James Loney deserves Honorable Super Hero Status with His 2 For 4 Performance at the plate, 2 Runs Scored and 1 RBI. Magnificent, James! All the Rest Of Our Los Angeles Dodgers were Super Heroes! Coincidence, Great Eighth in the Year 2008. I think not, For This Is The Year Of The Glorious Return Of The World Series Championship by Our Super, Beloved, Indestructable And Full Of Integrity Los Angeles Dodgers!
ndeschenes…you are without a doubt the tonic we all need to remember just who we are–DODGER FANS!!!!
Bravo for ndeshenes!
Great win last night. Kershaw is having a few growing pains, no reason to worry.
Martin is the leader of this team, his grit and his ability will lead the younger ones on the right path. He is a natural leader.
Chan Ho Park is a wonderful story. I would love to see him continue it, ex Dodgers coming home is a wonderful thing.
Ned do not make a panic move with Furcal out. We are hanging tough without him. This injury wipes out any chance of signing him again. I cannot envision any scenario that the Dodgers will invest another 3-4 yrs 39-50 mil on an older Furcal with back issues now. Although we do have Schmidt. I hope Schmidt comes back and gives us something but if he does not have it, please retire.
Lets go Dodgers make Joe Pierre proud to sit in that stink of a baseball field and watch his beloved Dodgers play.
MLK, I saw your post from a couple of days ago about the universities. If I get into USC I will go there, 2nd choice would be Pepperdine and 3rd would be San Diego. Now as for the Dodgers, DFA Sweeney, bring up Rep from AAA, put him in center with Kemp in right and Ethier in left and bat Rep leadoff until Furcal gets back.
just as 3B was a major concern coming our spring training that was later resolved inhouse – i think 2B should be done the same way. besides, i believe dan uggla of the marlins will be a FA next year, or at least i understand he is wondering why he is not getting a long-term deal like h. ramierez.
let furcal rest and rehab until the all-star break. if the D's can stay at .500 until then, maybe they can finish with a healthy furcal, and somewhat usefal nomar and schmidt – and whatever kershaw can bring the table.
speaking of our phenom, why is r . martin or torre or honeycutt making him pitch outside. geeeeeeez. the boy has 97 mph heat and a 75 mph curve and he not busting the guys inside…
I agree with questioning the pitching style of our guys who can throw heat. They all seem to primarily nibble at the outside corners, when the old fashioned way would have been to throw some of that on the inside and even play some chin music. The only thing that I can attribute it to is that Honeycutt didn't have that kind of heat and had to finnesse around the plate. Certainly Penny, Bills and now Kershaw should stop nibbling at the corners and put it in there to challenge batters, especially if they can throw a curve or changeup to mix up the pace. Of course, I don't think that Honeycutt is any kind of coach, and I don't know why they kept him when the rest of Grady's staff is gone.
In follow-up to my previous, look at the changed results in Kuo's performance this season. Instead of pitching everywhere but over the plate, which caused him to walk everybody, this season he is much more effective by going right after the batters. If we could build up his stamina, I think he would now be ready to become a premier starting pitcher.
I agree with bear's comments on the pitching situation. Penny looks like a completely different pitcher from a year ago. He does nothing but nibble with his curveball and does not challenge hitters with his fastball. I'm not sure if this is due to philosophical or a physical problem. Either way, it needs to be addressed.
Thanks for the Uplift Yourselves kpookiemon & martinloney kemp!. Indeed, There is a Tremendous Chemistry mixed With Pure Talent, Desire and Super Leadership With Fantastic Coaching And Honest Dedication by Frank McCourt and Ned Colletti to bring home the World Series Championship back to Los Angeles DodgerTown, and With All of Us Dodger Fans United in Super Belief, Then We are going to Go All the way and Win Our Seventh World Series Championship on Our 50th Anniversary in Los Angeles in The Wonderul Year Of 2008!


text:
I was trying to recall what the poster reminded me of…
JOHN CARTER in 3D and Imax — I never actually saw an Imax feature before. When our local hydraplex first got an Imax screen, all they had to show was a couple documentaries. I saw the one about Everest. When the snowslide hit the camera lens, as rendered on a screen the size of Burt Lancaster's grin, I jumped — something 3D pretty much never makes me do (except in Joe Dante's THE HOLE)… I didn't experience such an extreme reaction this time, maybe because we sat further back, in deference to Fiona's nerves. Excessive scale can be alarming to her — for instance, she has a morbid fear of the Eiffel Tower.
…and then I remembered this Tim White paperback cover, BUT…
So, JOHN CARTER, a movie which is underperforming ENTIRELY, I submit, because some halfwit at Disney decided to omit the words "OF MARS" from their $250 million epic, thereby making it sound like MICHAEL CLAYTON or JACKIE BROWN. Low-key, in other words. The decision reeks of stupidity not just because it miss-sells the product (I guess the ads made most of us aware what kind of film this really was) but because it gave off a whiff of panic, and the press bloodhounds were all over that. So the movie emerged sheened in flop sweat, before a skeptical rather than an enthused populace.
But I think they should have thrown subtlety to the winds, like Frazetta.
What's the movie like? Imperfect, but fun. It had me almost convinced that the improbably-named Taylor Kitsch is a leading man, and slightly more convinced by Lynn Collins. Then, a long way in, James Purefoy comes in with a better-drawn character and breathes so much life into his moments of screen time that you realize what's been missing. There are some very good actors in this — Mark Strong seizes his moments too, and Ciaran Hinds does his angst-ridden gravitas thing that earns him the big bucks. Dominic West is almost positioned as the main bad guy, but his character is so outclassed by Strong's that he can't register. Also, he doesn't get to do anything really nasty. I mean, he kills lots of people, but so does everybody in this film. You can't judge the characters by the same standards you'd apply to the people at your local Tesco. I mean, that'd be ridiculous. What West, a thoughtful actor, does, is play his character for all he's worth as a man promoted hopelessly beyond his range of competence. That's all the script has given him, so he just goes for it. I think it's the only choice of any integrity available to him, but it doesn't help the film the way some good bad-guy business would.
"My name isn't a problem as I shall appear only in the most classy. high-toned works."
I've read a lot of reviews saying the movie is badly designed, which I don't wholly agree with. The earthly stuff looks great. Everything involving the four-armed tharks looks beautiful: the tharks, the thark city (Tharksville?), the thark animals like the bullfrogdog, Woola, even the thark bunting in the thark arena is quite lovely.
Meanwhile, in Zodanga and Helium (I know! But still better than Taylor Kitsch, right?) people wear ridiculous tufts of fake fur on their shoulders, elaborate fretwork lattices, and the kind of fantasy fiction garb that tends to look better in a Frank Frazetta painting than on a moving human being with the ability to convey embarrassment. Busy, busy, busy, as Bette Davis says in WHALES OF AUGUST. *I* say, if you're going the Frazetta route, you probably want to show more skin just to distract from what they're actually almost wearing. But it's a Disney film. Is that why it doesn't have a Traci Lords cameo, which it so clearly REQUIRES? Is there some crazy Disney ruling against employing former porn stars? But Traci is a born-again B-movie queen, and this movie could use her services.
The impractically incomplete, but fetishistically pleasing suits of armour reminded me of Just Jaeckin's GWENDOLINE, but they just needed to go that extra mile, or few inches.
Action: mostly clear and impressive, sometimes too frenetic and ugly.
Dialogue: some funny lines, some "How does a pharaoh talk?" awkwardness.
Emotion: Andrew Stanton's films thrive on sentiment, and here the main source is Willem Dafoe and Samantha Morton's relationship, which is a distant second in importance and screen time to the leads'. I still enjoyed it though — just wanted more.
Structure: the framing device REALLY pays off — a clever bit of writing, and I don't automatically expect smarts in films of this kind. Some damage has been done, however, by an inane decision to open on Mars, rather than forcing the audience to wait and be rewarded. In early interviews Stanton seems to hint that he's going to unfold his plot in a patient and carefully planned manner. Some Disney exec has forced him to splurge. The good news is, if it's the same guy who changed the title, they only need to fire one person. It's not Stanton.
Originality: is this movie massively preempted by all the films and shows influenced by Edgar Rice Burroughs' books over the years? Well, I never felt I was watching something rendered redundant by STAR WARS. I *did* feel that the spirit of FLASH GORDON was very much in the air, and the race to interrupt a wedding at the end, while familiar from many shows from THE PRINCESS BRIDE to THE GRADUATE, seemed particularly reminiscent of Mike Hodges' camp FXtravaganza. That comparison shows two things — that JOHN CARTER could and should have pushed things further, made itself more outrageous and distinctive — and that Taylor Kitsch, even if he doesn't quite dominate the film as he should, still has the edge on poor old Sam J. Jones.

subset: commoncrawl


text:
125 S. Municipal Drive
Sugar Grove, IL 60554
(630) 466-4686
Contact Us
|Grab & Go
|10am - 2pm
|3pm - 7pm
|3pm - 7pm
|10am - 2pm
Our mission is to be a unique resource to offer open access to information that fosters a passion for reading, learning, and the exchange of ideas. As the heart of our community, we support democracy, citizenship, and the cultural growth of the Sugar Grove Public Library District.
New - Click to Check out our Amazon Wish List.
Your contributions underwrite many of the library's valuable resources, services and programs. Without your support we wouldn't be able to keep our doors open.


text:
In a game full of defensive talent, it was only fitting that the deciding play in the Rose Bowl turned out to be a 4th and 1 in the final minutes of the game. The Spartans came up with the big stop as No. 5 Stanford (11-3, 7-2 Pac 12) was down four points with the game on the line. With defenders leaping over a pile at the Stanford 34-yard line, No. 4 Michigan State (13-1, 8-0 Big Ten) stuffed fullback Ryan Hewitt for no gain, allowing the Spartans offense to run out the clock for the fourth Rose Bowl championship in program history. Michigan State held on for a 24-20 win in Pasadena.
The game was everything it was expected to be, with defenses coming up with big plays, but in this one the Michigan State offense took control of the game. Michigan State rolled up 400 yards of offense and went on a 17-0 run to come from behind and carry all of the momentum in the second half. Michigan State dug an early 10-0 hole, but Connor Cook never gave in and passed for 332 yards and a pair of touchdowns against Stanford's defense. Cook's fourth quarter pass to Tony Lippett from 25 yards proved to be the game winner. At the time it broke a 17-17 tie, so the game was placed in the hands of the Spartans defense, a comfortable feeling for Michigan State for sure.
Stanford looked to catch Michigan State off guard when a field goal attempt seemed to fall apart and the Cardinal completed a roll out pass for a first down, but the officials threw a flag for an illegal formation with an ineligible receiver down field amid the confusion on the play. Rather than seizing momentum and having a chance to tie things up, Stanford settled for a 39-yard field goal by Jordan Williamson to cut Michigan State's lead to 24-20.
The Cardinal then forced the Spartans to go three-and-out with just over three minutes to play. With one last chance, the Cardinal were stopped on a fourth down with one yard to go to keep the game alive. With no timeouts, there was nothing Stanford could do but watch as Michigan State allowed the seconds to tick all the way down to triple zeros.
The win for Michigan State is just the second by a Big Ten team since 2000. Ohio State defeated Oregon in the 2010 game. The Big Ten may have suffered a 1-2 mark earlier in the day against SEC opponents, but the conference has a chance to end the bowl season on a high note if Ohio State can take down Clemson in the Orange Bowl. A pair of BCS bowl victories would help to overshadow a losing bowl season regardless of what happens. Michigan State has now also proven to be worthy of playing on the big stage, but will they be able to keep this momentum going in 2014 as the College Football Playoff era is christened?
Michigan State will enter the 2014 season as the outright defending Big Ten champions for the first time since 1988. They will do so in a new division as well. With the additions of Maryland and Rutgers next year the Big Ten is re-organizing the division line-up. Michigan State will be in the Big Ten's East division, along with Ohio State, Michigan, Penn State, Indiana, Maryland and Rutgers. The Spartans will geta rematch with the Buckeyes on November 8, 2014 and also travel to Oregon in mid-September. Michigan State will also renew their end-of-the-year series with Penn State. Like Stanford, Michigan State will have three offensive linemen moving on but the significant players on the offense will be in tact at the skill positions. The defense will have six senior starters to replace but the Spartans should continue being tough on defense. The good news is Mark Dantonio and his staff will be getting a nice pay upgrade, so the Spartans will have some continuity working for them.
Stanford will have some changes to work through when the Cardinal move in to 2014. The offensive line will have at least three starters to replace in addition to running back Tyler Gaffney and fullback Ryan Hewitt. The defense will also be looking for new leadership after losing a good handful of players to graduation, including linebacker Shayne Skov. The backbone of Stanford's success the last few years has been a punishing ground game and a stiff defense (yeah, Andrew Luck was a nice asset as well), so look for David Shaw to continue with that typical formula as the Pac 12 North continues to catch up. The Pac 12 North may still be Stanford's or Oregon's to lose in 2014, but Washington adding Chris Petersen as a head coach should lead to the Huskies improving as well. The Cardinal will get USC at home next season but will take to the road to play Arizona State, Oregon, UCLA and Washington in addition to a non-conference match-up in South Bend, Indiana against Notre Dame.


text:
Well, it seems that we once again have met the numbers. If you remember I posted that there is a 93% probability of at least an inch of snow on the ground in Vermont for Christmas, and last night it snowed. Not a lot, but enough to turn everything WHITE. It is still snowing here this morning, but it seems that a little Christmas magic came our way since we've been flirting with temperatures just above freezing all week.
Wherever you are, white or not, hope some Christmas Magic comes your way……..


text:
Hello. If you are seeing this message, you have been identified as a bot due to suspicious website activity.
If you are seeing this message in error, we apologize. To resolve this issue, please contact us at email@example.com or 877-812-1589.
Thank you,
Please solve this CAPTCHA to request unblock to the website


text:
Pork with black pudding & roasted rhubarb
Nutrition and extra info
- Easily halved
Nutrition: per serving
- kcal426
- fat28g
- saturates0g
- carbs9g
- sugars3g
- fibre1g
- protein35g
- salt2g
- 2 pork fillets, about 350g/12oz each
- 250g black pudding, skinned and cut into slices
- 12 thin rashers streaky bacon
- 1 tbsp olive oil
Olive oilol-iv oyl
Probably the most widely-used oil in cooking, olive oil is pressed from fresh olives. It's…
- 1 tbsp clear honey
- 300g rhubarb, cut into 5cm lengths on the diagonal
Botanically, rhubarb is a vegetable (it's related to sorrel and dock) but its thick, fleshy…
- 200ml vegetable stock
- 2 rounded tbsp crème fraîche
Heat oven to 190C/fan 170C/gas 5. Split the pork fillets lengthwise almost in half and open out like a book. Bash with a rolling pin to flatten, then sprinkle on all sides with salt, pepper and lemon juice. Fill the pork with the black pudding, folding the meat back over it to enclose it.
Stretch the bacon rashers with the back of a knife, then wrap around the pork fillets, tucking the ends under the pork where possible. Transfer to a large roasting tin, drizzle with the oil, then roast for 30 mins.
Meanwhile, heat the honey in a pan, then toss the rhubarb in the honey. Add to the roasting tin, then return to the oven for 10-12 more mins until the rhubarb is tender and the bacon nicely browned. Transfer the pork and rhubarb to a warm plate and keep warm while you make the sauce.
Set the tin on the hob and add the stock. Bring to the boil, stirring to scrape all the pan juices from the base of the tin. Bubble for a few mins, then stir in the crème fraîche and whisk until it has dissolved into the sauce. Taste and adjust the seasoning if necessary.
Cut the pork into slices and serve with the rhubarb and a little sauce poured over. Serve the remaining sauce separately.


text:
SMF - Just Installed!
Who's this again? I know I've seen her before....
And so it goes. Well, that's not too far from the truth now is it?
Okay, I see. True, I forgot where she said she's halfway through. Heh, May is on to something.
I can't tell honestly if Maytag is shocked at Lehm's statement or is she just getting moist thinking about how long his fingers are! {I've got such a dirty little mind...}
Awwww, thanks Maytag! Funny that she has no idea what she's cheering us up about.This election has screwed with alot of ppl. I don't mind the candidate (except that he can't even take power without answering court charges), but my friends are very upset.


text:
Graduate Council Meeting
April 18, 2011
I. The meeting was called to order at 2:35 p.m.
Voting members and alternates present were: G. Alter, M. Bargerhuff, L. Caron, A. Chamberlain, D. Cipollini, R. Dodge, R. Grandhi, L. Hong, A. Hsu (chair), J. Jean, M. Mamrack, D. Miles- Curry, D. Petkie, L. Ream, D. Roby, E. Self, C. Sulentic, T. Tarpey, J. Tipps, P. Vermeersch, S. Watamaniuk, E. Wolf
Non-voting members, alternates and other attendees were: B. Ayres, J. Bantle, G. Crawford, E. Gilles (scribe), D. Johnson, E. Reinsch-Friese.
II. Approval of Minutes
It was moved and seconded that the minutes of the February 28, 2011 meeting be approved as written. Motion carried unanimously.
III. Report of the Dean (A. Hsu)
a. Combined Degree Programs – The policy for combined degree programs has been presented to and approved by UCAPC. The Faculty Senate is currently reviewing it. The policy was presented as "new business" at the April 4 meeting and will be voted upon as "old business" at the May 2 meeting.
b. Memorandum of Understanding – Domestic: (1) Indiana University East: A Letter of Intent has been signed and the overall structure is in place. The next step is to begin conversations with two of the programs, biology and criminal justice. (2) Wilmington College: A Letter of Intent has been signed by Wilmington and has been sent to WSU for final approval and signatures. (3) Cedarville and Central State: Initial discussions have taken place. International: Dr. Hsu is currently negotiating with several international universities.
c. Budget Allocations for Graduate Tuition Scholarships – The formula has not really changed since it was presented at the previous Graduate Council meeting. The formula is expected to evolve; college/program input is welcome. Dr. Hsu intends to convene a "working group" with the Assistant/Associate Deans to gain additional input. The goal is to encourage increased enrollment, research, degree completion, etc.
d. Graduate Open House – The last Open House was held March 9, 2011 with 204 in attendance. 110 applications were submitted. Last year, 230 attended and 128 applied. We are seeing a downward trend over the past year, possibly due to the fact that we have no advertisements between the Open Houses. To fill this void, we are launching a marketing campaign for May through September. The funding for this campaign is coming from the increase in the graduate admission application fee. The fee is currently $25; after July 1, it will be $40. The School of Graduate Studies will keep the $15/application and will use it for advertising. The main goals are to increase Wright State's reputation in the southwest region and to increase enrollment.
e. Graduate Faculty Appointment – Working with the new policy approved at the February 28 Graduate Council meeting, the Dean of Graduate Studies approved 59 nominees as "regular" and 6 as "adjunct". Under the new policy, the roles of the Dean and the Membership Committee have been reversed. The Dean reviews the nominations that meet all the criteria for membership; the Membership Committee reviews the nominations that do not meet all the criteria, i.e. lacks terminal degree, experience, research, etc. All of the nominations submitted this quarter met the membership criteria and only needed the Dean's approval.
IV. Committee Reports
a. Policies Committee (L. Ream)
The Policies Committee had two meetings this quarter: Friday, April 8th and Thursday, April 14th
1. Graduate Program Concentrations and Changes to Graduate Program Degree Requirements - This is for information only. This is a clarification to the process for adding thesis/non-thesis options — it is not new policy. When a program wants to initiate new program concentrations or options (like thesis vs. non-thesis), if the changes are less than 50% of the previously approved curriculum, the changes do not require state-level approval (meaning RACGS).
2. Graduate Admission Policy: GPA Considerations - The Policies Committee supports the modification of Section 1.23 (under General Requirements for Admission) to read as follows: Students having master's or other advanced degrees, or who have previously completed 12 quarter or 9 semester credit hours at the graduate level with an overall graduate grade point average of 3.0, from , an appropriately accredited academic institution or an academic institution with high academic standards deemed appropriate and acceptable by the Wright State academic program to which the student is applying may be admitted into Wright State graduate programs in regular status regardless of their undergraduate grade point averages provided the appropriate academic departments or programs recommend them for admission. The significant modification to the policy is the change from conditional admission to regular admission. However, programs can still choose to admit students as conditional. L. Ream motioned to approve the graduate admission policy with GPA considerations. A. Hsu called for a vote. All in favor. Motion passed unanimously.
3. Graduate Admission Policy: Convictions and Dismissals - Application questions regarding convictions and academic dismissals are included in the undergraduate admission application, but they are not included on the graduate admission application. The Office of Student Conduct would like the following questions to be added: (1) "Have you ever been academically dismissed/suspended from an academic institution?" (2) "Have you ever been dismissed for disciplinary reasons from an academic institution?" (3) "Have you ever been convicted of a felony?" The Policies Committee approved this request provided that the following addition to the committee that reviews applications that have "yes" responses to any of the three questions be made: the committee should include at least one graduate faculty member in addition to the other members named (Director of Community Standards & Student Conduct, the Director of Counseling, the Chief of Police, and the Associate Director of Graduate Admissions). L. Ream motioned to approve the graduate admission policy regarding convictions and dismissals. A. Hsu called for a vote. Twenty in favor, one opposed. Motion passed.
4. Combined BS/MS Degree Programs in Computer Science and Engineering - The Department of Computer Science and Engineering is proposing two combined Bachelor's and Master's degree programs, one for Computer Science and one for Computer Engineering. In these new programs, up to 12 quarter hours (or 9 semester hours) of graduate level courses may be double counted and applied toward both degree requirements. Students may apply anytime before the start of their senior year and must have a minimum overall undergraduate GPA of 3.3. L. Ream motioned to approve the combined degree programs in computer science and computer engineering. A. Hsu called for a vote. All in favor. Motion passed unanimously.
b. Student Affairs Committee (L. Ream for C. Brun) – The Student Affairs Committee met one time since the last Graduate Council meeting, on April 13, 2011, to select the next two recipients of the Graduate Scholars awards. Two awards had already been accepted: Mary Good, M.S. in Applied Statistics, College of Science and Math (undergraduate at Bluffton University) and Sanjaya Wijeratne, PhD in CSE, College of Engineering and Computer Science (undergraduate in Sri Lanka). Two more awards were offered based on the committee's rankings. As of today, those two awards have been accepted: Tiffany Milligan, PsyD in School of Professional Psychology (undergraduate at University of Notre Dame) and Amanda Haag, Master of Accountancy, Raj Soin School of Business (undergraduate at Wright State). The past year's nomination process resulted in 35 nominations from all but one college. The top candidates were chosen among 4 different colleges or schools. The successful candidates had a strong research history and were sponsored by a faculty member(s) who would continue to support the candidate's research at WSU. All successful candidates were considering WSU among other competitive university programs.
The committee has chosen to have one application deadline next year, March 1. WSU is a member of the Council of Graduate Schools that encourages students to have until April 15 to make their scholarship decisions. Making an offer to one candidate created a conflict by making the offer too early and making an offer to some students as late as April 13 may not have given them enough time to consider all choices before the April 15 deadline. The March 1 deadline seemed like a good alternative, with the committee making their decision for offer letters by March 15. The committee also favored the process this year of having students submit letters of interest for the scholarships.
Discussion: Some program directors support an earlier deadline (like February 1) so an offer can be made early. The rationale is that a later deadline may put Wright State at a disadvantage in competing with the larger universities. The conflict mentioned in C. Brun's report was an issue concerning the date by which the student needed to accept/decline the offer. Graduate Council recommends that the Student Affairs Committee re-visit the application deadline.
VI. Research (E. Reinsch-Friese)
Wright State University External Funding 3/31/11 vs. 3/31/10:
* FY11 (thru 3/31/11) - $84,904,351 (includes $9,458,778 SSI/ARRA)
* FY10 (thru 3/31/10) - $78,284,993 (includes $10,437,606 SSI/ARRA)
* 458 awards. Note: The state supported instruction (SSI) disappears next fiscal year
Funding Comparison: Cumulative Grant and Contract Awards, a comparison with the previous three fiscal years. Overall, awards are a little higher every year.
Internal Competitions: (1) Research Incentive (formally Research Challenge). Funding source: Third Frontier Bond Proceeds ($268,140, which is far less than past years). Two components: Seed Grant (8 awarded) and Incentive to Collaborate (3 awarded). Purpose: projects related to Ohio Third Frontier program, Centers of Excellence, technology commercialization. (2) Research Initiation ($10,000 limit) and Professional Development Grants ($3000). 19 proposals received for research initiation, 11 for professional development. Total pool: $73,000. Awards will be announced at May 5 Research Council meeting.
FY12 Fringe Benefit rates: Issued from Office of Controller, overall numbers are down for all groups except PERS students for next fiscal year.
Research Conflict of Interest and Financial Disclosure Policy: WSU Policy that has been in effect since 1995 was revised as result of proposed new federal requirements. Draft policy has been presented to Council of Deans, Cabinet, AAUP representatives, and Faculty Senate. Awaiting Faculty Senate approval in May. Upon approval, campus awareness workshops will be scheduled.
Upcoming workshop: "Introduction to Responsible Conduct of Research" Thursday, April 28, Noon to 1:00 p.m. Presenter: Dr. Jack Bantle. Lunch provided. RSVP by April 22 to Jan Power.
VII. Graduate Student Assembly (G. Crawford)
The GSA is making some headway in its search for funds for travel grants and research grants. Galen Crawford made a presentation to the Student Organization Budget Committee in an effort to obtain $30,000. Galen pointed out the discrepancy in funding between undergrads and grad students: $30/undergrad student vs. $2/grad student. Galen also announced the formation of a foundation account with the Office of Advancement titled the "Graduate Research and Travel Grants Fund." It is part of the Campus Scholarship and Innovation Campaign.
VII. Unfinished Business
VIII. New Business
IX. Discussion Items (R. Ayres)
a. Graduate Council: New Business Model – This is a suggestion to conduct business similarly to Faculty Senate. New business is introduced at one meeting and is voted upon as old/unfinished business at the next. The advantage is that it gives more time to think about issues; the disadvantage is that it slows business.
In discussion, one suggestion was to present and discuss items in the meeting and then to conduct a vote electronically a couple weeks of weeks later. Another suggestion called for some business, like course approvals, to be presented and voted upon in one meeting and some business, like policies, to be presented in one meeting and voted upon at a second meeting. There was support for the two-meeting business model in that it provides an opportunity for council members to obtain feedback from their college faculty.
b. Graduate Council: Agenda Committee – This is a suggestion to create a committee that would assist the Dean of Graduate Studies in setting the meeting agenda. The Dean alone is not always aware of all the issues that may need to be addressed. The Dean would chair this committee and the members could include the chairs of each of the standing committees of Grad Council (Policies, Membership, Student Affairs, and Curriculum A and Curriculum B).
X. The meeting was adjourned at 3:30 p.m.


text:
Why Should You Take Tips From Me?
I hereby proclaim myself to be "The Professional Student"...sarcasm. But seriously, I've been in school a long time, much longer than any average student should be, and I've learned a lot of college related stuff in the past 6 years. To add to that, I've held a job at my college for many years where I serve as an unofficial advisor to just about everything.I actually enjoy helping students work through a variety of problems involving financial aid, tech questions, dorm room etiquette, and student job opportunities...to name a few.
Providing Unique College Tips and Tricks
I try to shy away from rehashing Internet trash sites on college topics. I take the same passion and pride from my job, and relate it to this website. I encourage emails from other students regarding any inaccurate information posted.
Any products, services, or general college tips listed on this website have been truly helpful to real students, and soon to be students, just like you. If you have a scratch that this site doesn't itch, feel free to ask me questions directly via the Contact Page and I will try to answer your question to the best of my ability, or at the very least point you toward a quality source.
Popular College Topics
Ways to Make Money in College
Out of the many characteristics you could describe the average college student, 'broke' would probably be the most common. Most of us don't have the time or energy to hold down a full time job while attending school.
Luckily, there are plenty of ways for college students to make money other than a 9-to-5. Business ideas, odd-job work assignments, and tapping into the potential of the Internet will be explored.
College Student Laptops
Check out these other useful topics for more college tips and tricks:
Tax season is here...Are you ready to file?


text:
I am happy to announce that Curvy now supports the huge memory advantages of upgrading to 64bit.
32bit systems only allow for 4Gb of memory - which can get quickly eaten up by a sculpting app with millions of polies. 64bit lets the app use as much memory as it likes - perfect for complex 3D scenes.
If you got Curvy on Steam you will automatically get the 64 bit update. If you bought it here please contact me with your original purchase email and I will send you a new download link for the 64 bit version.


text:
Finland's foreign minister said on Thursday foreign intelligence agents had carried out large-scale hacking into government communications, and a Finnish TV station said China and Russia were suspected.
Erkki Tuomioja said the breach of the Foreign Ministry's data network was discovered in spring, and Finland's intelligence service was investigating it as a case of serious espionage.
"I can confirm there has been a severe and large hacking in the ministry's data network," he told reporters on Thursday in a hastily-arranged news conference after private broadcaster MTV3 reported the hacking incident.
He declined to comment on suspects. MTV3 had earlier said, citing indentified sources, that Chinese and Russian intelligence agents may have been involved.
The report said they had gained access to its network for years and seem to have targeted communications between Finnish and European Union officials. Tuomioja said there was no exposure of the most highly classified information.
The report comes amid a global outcry over allegations that the U.S. National Security Agency collected data on millions of phone calls in Europe and snooped on leaders of major U.S. allies including German Chancellor Angela Merkel.
The United States and other Western countries have often accused Russia and China of hacking into their computer networks, targeting both companies and government departments. Beijing and Moscow deny direct involvement in hacking.
Finland's Baltic neighbor Estonia blamed Russia when its Internet network was paralyzed by an electronic attack in 2007. Unlike Estonia, Finland is not a member of NATO but cooperates extensively with the Western defense alliance.
(Reporting by Ritsuko Ando and Jussi Rosendahl; editing by Andrew Roche)
More security news
NSA intercepts international Google, Yahoo traffic
38 million accounts compromised in extensive Adobe data breach
Broadband ban on Huawei stays: Australia


text:
The latest song from Michael Jackson has the late pop star singing about himself and addressing all the people who thought he was well, a weirdo.
"Who is that boogeyman you're thinking of?" Jackson sings in "Breaking News." "Why is it strange that I would fall in love?"
Jacko wrote the lyrics in 2007 and Eddie Cascio and James Porte collaborated on the music, according to Showbiz4111's Roger Friedman.
U.S. & World
The day's top national and international news.
The intro is a montage of news anchor-type voices somberly intoning all the presumed transgressions against the King of Pop. "The plot thickens to destroy Michael Jackso," says one.
"Everybody wantin' a piece of Michael Jackson," sings the Gloved One's familiar voice.
Jackson's latest posthumous album, "Michael," is due out Dec. 14. To hear the song, go here.
Selected Reading: Showbiz411, MichaelJackson.com,


text:
Fearsome Engines Part 3: Which one should you use?
There are lots of R engines emerging! I've interviewed members of each of the teams involved in these projects. In part 1 of this series, we covered the motivation of each project. Part 2 looked at the technical achievements and new features. This part tries to determine which projects are suitable for which users.
CXXR and pqR and forks of GNU R, and have retained full package compatibility. This means that they should work out of the box on your existing R code (though note that both are Linux only and require you to build from source).
The other four engines are complete rebuilds, and consequently have had to recreate compatibility.
TERR currently has over 1200 completely compatible packages, and many more partially compatible ones.
Renjin also has, I think, over one thousand compatible packages. Helpfully, there's a list of which CRAN packages work, and which don't. (I haven't bothered counting the blue dots, but it looks like almost half the packages are compatible.)
Riposte and FastR are at an earlier stage in development FastR has no package support at all, the Riposte is just getting around to it.
Justin Talbot:
A couple of months back I started a big push to transition Riposte from an academic project to a full-featured drop-in replacement for R. Right now, Riposte can load the base and recommended packages with just a few errors, which is a substantial improvement over a couple months back when it couldn't load even one.
Interestingly, one of the big headaches reported by several engine developers is that some packages make assumptions about the internals of R. So they assume things like numeric vectors being pointers to double arrays, and it makes it harder for other engines to extend the functionality. It seems that some work is needed to the R Language definition to clarify exactly what a package should and should not be allowed to assume.
pqR, CXXR, Renjin and FastR are all licensed under the GPL. Riposte is also open source, under the more permissive 2-clause BSD licence.
TERR, by contrast is a closed-source product. It comes in both free and paid for versions.
Having lots of different engines is mostly great, but fragmentation is a big worry. Web development suffered for a long time (and still does, a little bit) from having to write different code for different browsers. SQL is subtly different for different databases, with vendor-specific extensions rampant.
All the engine developers have stated their intention to work towards (or retain) full compatibility with GNU R, and use that as the reference implementation. Certainly fragmentation is a problem that no-one wants.
Good intentions are all very well, but I was curious to know how much interaction there has been between the different teams, and with R-Core.
Between teams:
Tomas Kalibera previously worked at the University of Kent, where Andrew Runnalls is based. Surprisingly, they didn't have much contact, as they were working in different areas at the time.
Jan Vitek was on Justin Talbot's dissertation committee, so there has been some contact between the FastR and Riposte teams.
Justin has also spoken with Alex Bertram of Renjin.
Overall, there hasn't been that much contact. I think I'd be less worried about fragmentation if the teams talked with each other more. (TERR is an exception in this; as a commercial product, a certain level of secrecy is required.)
A few R-Core names crop up in relation to several projects:
Doug Bates has been involved with CXXR.
Duncan Murdoch helped get some of pqR's bug fixed merged into GNU R, and Radford Neal has had some contact with Luke Tierney and Robert Gentleman.
Luke Tierney has helped with the bytecode compilation in Renjin.
John Chambers, Ross Ihaka and Simon Urbanek have provided feedback on the TERR project.
Luke Tierney, Duncan Temple-Lang and Robert Gentleman have provided feedback to FastR.
Luke Tierney has helped on Riposte.
So at least some members of R-Core are aware of these projects, and there is some collaboration going on. Personally, I'd quite like to see a more formal arrangement with a language committee trying to refine the R Langauge Definition to aid compatibility between projects. This is probably just a legacy of my time as a civil servant.
The FastR team organized a number of workshops that featured members of the Core-R team (one on virtual execution environments for scientific computing and one on big data). After the SPLASH conference in October 2013, key developers from the Renjin and TERR engines will meet up with the FastR team, along with some Core-R members at an NSF workshop on scalable data analytics organized by Vitek.
The future
As a commercial project, TERR lives or dies by its ability to be sold (it does have a real customer base already, predominantly in the oil & gas, life sciences and consumer goods sectors).
Renjin is supported by BeDataDriven's consultancy work, so it also has ongoing financial support.
The other four projects are all academic, so their long term support is trickier.
Justin works for Tableau Software, and they let him develop Riposte in his 20% time, but additional developers would help the project.
Justin Talbot:
Right now the team is just me. Zach has moved on to his dissertation work, the very cool Terra project (http://terralang.org). I'd be more than happy to expand the team if anyone is interested in helping out. Right now Riposte is at a place where there is a lot of easily factorable work in supporting popular packages or R's internal functions that people could pick up if they wanted to. As I said at the beginning, Riposte's overriding goal is to figure out how to execute dynamically-typed vector code like R at near the performance of highly optimized C. I think this sets it apart from a number of the other R projects like CXX, Renjin, and pqR, where better performance is nice, but not the driving design goal. If Riposte's mission interests anyone, please get in contact!
CXXR and pqR are also solo projects and would benefit from developers.
Radford Neal:
I'm treating pqR as a fork, without any expectation that it will necessarily be merged with the version maintained by the R Core Team.
One necessary thread of work on pqR consists of fixing bugs, getting it to work in more environments (Windows, Mac, with GUIs), and adding features from later R Core releases. I'd like to have it compatible soon with R-2.15.1, and later with at least R-2.15.3.
There are still many areas in which performance can be improved
without major design changes.
At some point I'd like to get back to doing statistics, so I hope that
other people will also get involved with pqR.
FastR has a long term goal of being maintained by statisticians and not computer scientists!
Jan Vitek:
The hope, in an ideal world, is eventually that we could turn FastR over to R-Core.
As well as developers, of course, the biggest thing that these projects need is a userbase. Feedback and bug reporting is hugely important, so a great way for you to contribute is to simply to try these projects out. Failing that, telling other R users that these projects exists is an excellent start. Get tweeting!
Fearsome Engines Part 2: Innovations and new features
There are lots of R engines emerging! I've interviewed members of each of the teams involved in these projects. In part 1 of this series, we covered the motivation of each project. This part looks at the technical achievements and new features.
Many of the innovations are performance improvements, reflecting the primary goal of several of the teams. pqR (the only engine that like R is written in C) get a lot of benefit from simple fixes to R's C code.
Radford Neal:
A big part of the speed-up in pqR comes just from local rewrites of C code, or relatively limited redesigns of how operations are done.
In general however, some bigger changes have been required to make R go faster.
Garbage collection and reference counting
One performance bottleneck seems to be R's garbage collector (the thing that frees up memory when you remove variables), with almost all the projects using a different collection strategy to try and make memory management more efficient.
Renjin and FastR get a lot of benefit for free by using the Java Virtual Machine (JVM):
Alex Bertram:
The JVM has 20 years and millions of man hours invested in the garbage collector. As revolutionary as R is you just don't have a group of people that are focused on garbage collection. So out of the box we see that if you a have a memory intensive benchmark then Renjin sails through it [compared to GNU R].
One of the things that we get for free is parallel garbage collection. That's a nice extra.
In theory, if you copy a variable then R will create a completely new copy of it. For example, if you do
y <- x <- 1:10, then x and y both store completely separate copies of 1:10. In practice, this is really wasteful of memory, so y will just point to the same memory location as x until you modify one of the variables to make them different. This means that you need to keep a count of how many variables point to a particular location in memory; a process known as reference counting.
GNU R uses a simply system where variables are referenced zero, one or two-or-more times. Both pqR and TERR have tried to improve on this. pqR stores the number of references in a three-bit field, so it can count from zero to seven (seven is really "seven-or-more"). TERR goes even further, storing the count as a 16-bit integer, allowing counts up to 65535. The more accurate reference count allows some memory to be reclaimed when a reference count decreases to zero, which is cheaper than reclaiming it via the garbage collector. (GNU R and pqR always use the garbage collector for reclaiming memory.)
While the pros and cons of different methods of reference counting and garbage collection can get quite technical, the good news is that is seems to be an area where substantial performance improvement is possible. Radford Neal has written in depth about the pqR implementation, and Michael Sannella's talk from useR2013 is available on slideshare.
Smart execution
GNU R uses what is known as "lazy evaluation" on variables. That is, when you pass variables into a function they aren't copied or evaluated until absolutely necessary. Several of the engines have taken this concept further, with smarter ways of evaluating (or not evaluating) code in order to improve performance.
Riposte uses "fusion" operations on vectors to reduce the creation of intermediate variables.
Justin Talbot:
While R uses C code for vector operations, it only does one vector operation at a time. This leads to lots of memory traffic as R must read in each vector operand and write out each vector result. Riposte tackles this problem by performing "fusion", an optimization where multiple vector operations are performed simultaneously in the machine's registers. This eliminates a lot of memory traffic and can speed up long vector code. In some of our benchmarks I've seen 10-50x
performance improvements for long vectors (100K-100s of millions of elements).
As an example, if you wanted to find which elements of a vector corresponded to males over 40, you could write something like
age > 40 & gender == "male". GNU R would create several intermediate vectors for
age > 40 and
gender == "male" before calculating the result. An alternative that uses less memory is to calculate the result of the whole operation on each element, and then loop over the vector (in C++, where loops are fast).
Of course, R's flexibility causes problems.
Justin Talbot:
R allows you to replace the default operators within almost any scope, by e.g.:
`+` <- function(x,y) x*y
Because of this, if you have a simple for loop:
j <- 0
for(i in 1:10000) {
j <- j+1
an interpreter can't simply do an addition. Instead, it has to check each time through the loop that `+` is still really plus and not something else. If j were some long vector, this wouldn't matter, the time to do the check would be dominated by the cost of actually doing the addition. But if j is short, as it is here, then the time to check dominates.
Riposte solves this problem by assuming that a small set of very common operators cannot be replaced in very limited circumstances. Basically, if you write:
and j is a basic type (not an S3/S4 class) Riposte assumes that + must be normal addition. If you really want + to use your redefined version you can either (1) make j an object or (2) call it using names, e.g.:
`+`(x=j, y=1).
Most of the other engines have similar concepts to Riposte's fusion. Renjin calls it a "vector pipeline" and FastR calls it a "view". All refer to executing multiple steps as a group.
Jan Vitek:
We have two implementations of a vector. One is the usual one, and one is an interface. This is a lazy proxy to the computation. So if you do binary plus on two vectors you could allocate an array and do the plus on every element of the inputs as GNU R would do it, but our implementation you could also create a view. This is an object that just remembers that there are these two vectors that it needs to add. It only starts adding the numbers when asked for them.
The last sentence is particularly important. Somewhat non-intuitively, executing code straight away doesn't always result in the best performance – sometimes it can be faster to wait. This "deferred execution" becomes very important when trying to parallelise code, as we'll see in a moment. One surprising challenge for deferred execution is respecting the order of error messages and warnings produced by GNU R.
Much of GNU R is single threaded by default, so with four cores now standard on desktop machines, exploiting multicore capabilities is an obvious target for performance boosting. In fairness, since R2.14.0, the
parallel package has allowed multicore capabilities with a bit of code rewriting, and there are many packages for various types of parallelism. The holy grail of parallelism, however is for it to happen automatically ("implicit parallelism") without code rewrites.
The FastR project have been pushing parallel computing in several forms.
Tomas Kalibera:
We aim to push on parallelism a lot. There are different parallelisms that you may look at: multi-threading, GPUs and possibly distributed settings.
One of the good things about an implementation from scratch is that you can build a mostly thread-safe interpreter. At least we know the points where we aren't thread-safe. That means that we can evaluate the views in parallel. We know that they are simple operations on vectors. They don't have side-effects. We can just put them in a thread-pool and almost magically you get parallelism.
In the long run the goal is to integrate parallelisation into the compiler. To use the compiler to analyse the code and understand where parallelism makes sense and to automatically synthesise parallelism in the programs. It should work!
Renjin's vector pipeline provides implicit parallelism.
Alex Bertram:
With our vector pipeline, we have support for implicit parallelisation. Add sum of two large vectors, it will recognise that the calculation has two independent sums and calculate those on different threads. You don't have to deal with that; it just parallelises it automatically.
Renjin will try and defer work as long as possible so that it has an opportunity to parallelise more things. You can get quite far before you have to do any work, and then Renjin will say "I've got all these different calculations that I have to do, a lot of them are independent. Let me distribute them across the available cores".
pqR uses a related concept called helper threads. While individual calculations ("tasks" in pqR terminology) are single threaded, several calculations can be done in parallel, one on each thread.
Riposte has several parallelisation tricks up its sleeve. As well as vector fusion and implicit multicore behaviour it also uses SSE and AVX processor level instructions. (AFAIK, these were originally designed for parallel processing in media streaming so this is quite a novel use.) Surprisingly, fusion is much more important than multicore parallelism.
Justin Talbot:
For big vector operations on which Riposte performs fusion, it will attempt to leverage the SSE or AVX instructions to get a 2-4x performance improvement on a single core. It will also distribute the work across multiple threads. This leads to nearly linear performance increases for large enough vectors. Note the orders of magnitude though: fusion itself can lead to 10-50x performance improvement. Distributing the work across 4-6 cores only leads to at most a 4-6x improvement. So there's more to be gained by doing fusion well.
Bytecode compilation
Interpreted languages are, in general, slower than compiled languages. This means that there is scope for improving R's performance by compiling the code before it is executed. Recent versions of GNU R include the
compiler package, which converts functions to bytecode, which can then be run more quickly than pure interpreted code. Riposte and Renjin both try and improve on this.
Justin Talbot:
when I started working on R it only used the older AST walking
interpreter originally developed in the early 1990s. Interpreter
technology has advanced considerably since then. Riposte uses a much
more modern register-based bytecode interpreter. This made it about 5x
faster than R on scalar code (e.g. your typical for loop). Luke
Tierney's new stack-based bytecode interpreter speeds up R somewhat,
but I think Riposte's interpreter is still 2-3x faster in general.
Compiling R code is, in general, a very hard problem since R code is very flexible. If you include promises, calls to the
eval function, or start redefining operators, or messing about with environments, then optimising code is almost impossible.
Renjin uses a similar approach for R code.
Alex Bertram:
We have different interpretation modes. The baseline is this Abstract Syntax Tree (AST) interpreter that's modelled almost exactly like GNU R. If you want to figure out how an eval statement works or system calls, we just went in and looked at how it was implemented in GNU R. The aim of that is that we have at least one AST interpreter that is capable of handling everything.
If we see that you're dealing with large data or there's a function that is getting called a lot, or you've hit a for loop of one to one million then it breaks out of that baseline interpreter and tries to use more advanced optimisations. That will only work for a subset of the R language, so the worst case it that we get performance equal to GNU R.
If you've got a for loop and you're calling eval, then Renjin will throw up its hands and say 'alright, if that's what you want to do then you're not going to get any performance speedup'. But if it sees that in the for loop, all you're doing are some computations, then it will break out [of the AST interpreter] and compile down to machine code.
Data that isn't in memory
By default, all R variables are stored in RAM. This contrasts with, for example, SAS, where variables are stored on disk. There is a tradeoff in this – RAM can be accessed more quickly than disk, but it limits the size of the data the that you can store. Some R packages allow disk-based variables, most notably the ff and bigmemory packages. The MonetDB.R package allows database variables stored in a MonetDB.
In an ideal world, you should be allowed to store your variables anywhere: in RAM, on disk, or in a database, and R would be able to work with them in the same way. GNU R isn't well designed for this. As an example, numeric vectors, in the underlying C code, are always assumed to be a pointer to a double array. To easily allow different data types, a level of abstraction is needed.
TERR leverages the object oriented nature of C++ to achieve this. In TERR, each data type is an abstract C++ class, that can have one or more representations.
I don't know any details of Tibco's implementation, but it seems that from an abstract class of NumericVector, you could have concrete classes of NumericVectorInRam and NumericVectorOnDisk to account for different data sources (not to mention specialisation for vectors with or without names and other attributes).
Data from disk and database sources isn't yet supported in TERR, but it is planned for the future.
Both FastR and Renjin have also made some progress towards non-RAM variables.
Alex Bertram:
We have been able to introduce a layer of abstraction between the algorithms that operate on data and where that data is stored. In GNU R there is an expectation that all the data is in arrays, and that's very difficult to overcome.
In Renjin, it's very basic but we have an interface, so if you want the sum of something, say a vector or other object, we hand some algorithm a pointer to an interface that says 'if you want the tenth element, then call this method; if you want the length, then call that, etc.'. So it could be in memory, backed by an array, but it could also be on disk. It could be in a database or in a buffer.
That's the basis of everything else: there's a layer of abstraction between your algorithms and your storage.
Code specialisation
CXXR and FastR both make some performance gains by providing specialised routines for particular cases.
Tomas Kalibera:
Imagine that you are indexing a vector. Every user of R knows that there are very rich semantics. You can have logical or numeric indicies, you can have NAs, you can have attributes on the base or on the index. There are many different semantics. One possibility is to implement the code using a single subroutine that will cover all the general cases but this is slow.
We implement many different selection methods. One a still a general one that can do everything, but we also have specialised ones that make some assumptions. [For example], in one we assume that a base numeric vector is a double vector and an index is a scalar integer or a scalar double within the bounds of the vector. Of course you have to have some guards – some checks that these assumptions are valid, but once you check these guards then the code is much simpler and the just-in-time Java compiler is then able to optimise the code much better because it is so much smaller than the general case. We get big speedups from this.
Other features
TERR provides a C++ API to allow easy integration with C++ code. (Using Rcpp, it isn't hard, but alternatives are always welcome.)
FastR uses some Oracle technology to improve performance.
Jan Vitek:
FastR 0.1 is a self-modifying interpreter. The interpreter is formed by a tree of executable nodes, which initially reflects the syntax tree of the program, but as the program executes, the tree self re-writes to more optimised versions based on properties of the observed execution. Most optimisations come from restricting to specialised types of arguments (for example nodes for vector indexing or arithmetic), or specialising the contents of the arguments (for exmaple that a vector index is within bounds). The tree can then rewrite its nodes to general versions if the applied specialisations cease to hold.
The new version of FastR, 0.2, includes some novel Oracle technologies. (Oracle is one of the sponsors of the project.) Truffle and Graal allow code to self-modify as it runs, and to generate native code, providing on-the-fly optimisation. FastR has also experimented with Oracle's Delite which autogenerates GPU code.
CXXR has been conspicuously absent from this so far. It's single user-level new feature is provenance tracking, based on the S AUDIT feature.
Andrew Runnalls:
R itself stores (in the .Rhistory) file a record of all R commands that have been issued, so to that extent you can "recreate your current workspace". The S AUDIT feature, however, enabled you to identify the specific sequence of commands that contributed to the current value of a particular S object: it was this selectivity that I particularly valued.
Rather than adding new features, a substantial amount of development effort has gone into refactoring R to make it more maintainable and better documented. Are these features? Hell yes! Rather than being user-level features, they are developer-level features. In this respect, I think CXXR might be useful for the developers of other engines. Rather than trying to replicate features from GNU R's source code; it might be easier to replicate them from CXXR.
This post is far from exhaustive on the new features in the engines. But as you can tell from what I've included, there really are a ton of technical innovations that have been made, with more on the way.
I put it to Radford Neal that it was difficult to tell which ones were the important ones.
Radford Neal:
What is most important is very hard to say, since it depends so much
on the user's program and environment. Helper threads are of no use
on a single-core system! And speeding up matrix multiplication
doesn't help programs that don't use it. I'd encourage people who've
tried pqR to let me know what programs have and have not been sped up
a lot – so far I haven't gotten much of that. This is most helpful,
of course, if you can send me your program and data so that I can try
it myself, and maybe change pqR to make your program faster.
Let me know in the comments which features seem most exciting to you, or if there is anything that you want to see in R that isn't possible.
In the next part, I'll have a go at figuring out which engines you might want to use for which purpose.
Fearsome Engines, Part 1
Back in June I discovered pqR, Radford Neal's fork of R designed to improve performance. Then in July, I heard about Tibco's TERR, a C++ rewrite of the R engine suitable for the enterprise. At this point it dawned on me that R might end up like SQL, with many different implementations of a common language suitable for different purposes.
As it turned out, the future is nearer than I thought. As well as pqR and TERR, there are four other projects: Renjin, a Java-based rewrite that makes it easy to integrate with Java software and has some performance benefits; fastR, another Java-based engine focused on performance; Riposte, a C++ rewrite that also focuses on performance; and CXXR, a set of C++ modifications to GNU R that focus on maintainability and extensibility.
I think that having a choice of R engine is a good thing. The development model of one implementation with a team acting as gatekeepers as to what goes into the codebase is, well, a bit communist. Having alternatives should introduce competition and (go capitalism!) bring improvements at a greater rate.
The fact that we now have a choice of seven different engines for running R code is amazing news, but it takes a traditional R problem to a new level. Rather than just worrying about which implementation of an algorithm to use in which package, you now have to worry about which version of R to use.
In order to try and figure out which projects might be suitable for which purposes, and what stage each one is at, I spoke to members of each project. In alphabetical order of project, they were:
Andrew Runnalls from the University of Kent, talking about CXXR.
Jan Vitek and Tomas Kalibera from Purdue University, talking about FastR.
Radford Neal of the University of Toronto, talking about pqR.
Alex Bertram from BeDataDriven, talking about Renjin.
Justin Talbot from Tableau Sfotware, talking about Riposte.
Lou Bajuk and Michael Sannella from Tibco, talking about TERR.
My interview with Andrew Runnalls was via phone, so his responses are paraphrased or imputed from my notes; likewise my recording of the conversation with Lou Bajuk and Michael Sannella failed, so their responses are also taken from notes. Other responses are taken from emails and Skype recordings, and as such are accurate.
I started by asking about the motivation for each project.
Before pqR, Radford had explored some possibilities for speed improvement in R.
Radford Neal:
Speed issues were what first prompted me to actually look at and modify the R interpreter. This came about when I happened to notice that (in R-2.11.1) curly brackets take less time than parentheses, and a*a is faster than a^2 when a is a long vector. This indicated to me that there must be considerable scope for improving R's implementation. Previously, I hadn't thought much about this, just assuming that R was close to some local optimum, so that large speed gains could be achieved
only by a major rewrite.
I've also commented on various design flaws in R, however. In the longer term, I'm interested in ways of fixing these, while retaining backwards compatibility.
Riposte started life as a PhD project.
Justin Talbot:
Riposte was started during my Ph.D. at Stanford. I started off creating tools for visualizing and manipulating statistical models. Most of these tools were built using R as the back end to perform data manipulation and to create statistical models. I found that I was unable to get the interactive performance I wanted out of R for my visualization tools. This led me to start exploring R's performance. Since there were other individuals in my research group working on other programming languages, it was a semi-natural transition to start working on improving R's performance.
The main goal of Riposte is to see if it is possible to execute a dynamically-typed vector language at near the speed of well-written optimized C.
CXXR began as a simple quest for a feature.
Andrew Runnalls:
I started CXXR in 2007 when I was researching flight trials data. One of the features I missed when moving from S-Plus was an audit feature that searches your command history to find the code that created a particular variable. This hadn't been ported to R, so I wanted to see if I could alter R's internals to recreate the feature. However, being a "dyed-in-the-wool" OO programmer, when I started looking at the interpreter's C code, its structure was so foreign that I felt 'I'd rather not start from here!' Thus it was that the project metamorphosed into a more general enterprise to refactor the interpreter into C++, with the provenance-tracking objective then becoming secondary.
The Renjin project was born of frustration, and a ridiculous amount of optimism (or maybe naivety).
Alex Bertam:
We were with a mobile operator. We had just designed a great model to predict customer churn, and we were trying to get R to run on their servers. They had a weird version of Unix, we couldn't get [GNU] R to build. We couldn't get the libraries to build. We spent such a lot of time trying to get the libraries to talk to each other. Then it couldn't handle the load from the sales team. There's got to be a better way, and I thought 'man, how hard can it be?'
TERR has been waiting to happen for a long time.
Lou Bajuk:
I joined Mathsoft [later Insightful Software, the previous owners of S-Plus] in 1996. Even back then, we wanted to rebuild the S_Plus engine to improve it, but Insightful was too small and we didn't have the manpower.
Tibco's main priority is selling enterprise software, including Spotfire, and once Tibco bought Insightful, we were better positioned to embrace R. It made sense to integrate the software so that open source R could be used as a backend for Spotfire, and then to implement TERR as an enterprise-grade platform for the R language.
My favourite reason of all for starting a project was the one given by Jan Vitek.
Jan Vitek:
My wife is a statistician, and she was complaining about something [with GNU R] and I claimed that we computer scientists could do better. "Show me", she said.
In the next part, I tell you about the technical achievments of each project.
How R will turn into SQL
Up until very recently the only way of running R code was through the standard R distribution. Of course you could use another IDE, but somewhere underneath it all you would be running the same, standard R engine from the R-core team.
This is no longer your only option. A couple of weeks ago Radford Neal released pqR, a research project that reimplements pieces of the R engine to make it "pretty quick". Much of pqR is likely to be folded back into the main R engine, but that isn't the only new player in town.
A team at Tibco, including software architect Michael Sannella, have rewritten the R engine from the ground up for TERR, a commercial R distribution. This leads to some very interesting possibilities. Maybe in the few years we could see many more R engines appearing. Oracle have recently invested heavily in R, and it's certainly imaginable that they could create a high performance R that is tightly coupled to their database products. Google are also big R investors, and I could easily see them creating an R engine that has parallelism built in.
After that, perhaps even Microsoft might notice R and fix the fact that its integration with .NET is rubbish. IronR, anyone?
This situation isn't as far fetched as you may think: there is a very obvious precedent in the data analysis world. There are dozens of different database vendors that use a common interface langauge: SQL. In the world of databases, the engine is separate from the programming language.
This is a good thing – multiple vendors provides competition, differentiation and innovation. You have a full spectrum of products from big corporate databases (Oracle again) down to miniature data stores like sqlite.
The fact that SQL has led the way means that some of the potential traps are visible before we embark down this road. My biggest bugbear with SQL is that it isn't quite universal: different vendors have their own non-standard extensions, which means that not all SQL code is portable. A situation like HTML or C++ or Fortran, where a standards committee defines an official version of the language would be preferable. Whether R-core or another body would set this standard is a matter to be decided. (I suspect that R-core would not welcome the additional administrative burden, and commercial vendors may want more control in defining the spec, so a separate R-standards group is more likely.)
These are interesting times for R, and I look forward to seeing how the separation of language and engine progresses.