Monday, August 29, 2016

Renaming "Master/Slave" architecture to other terms

I learned of an interesting trend in software circles today. There has been a move to rename "master/slave" architecture into other terms, such as "master/worker", "leader/follower", etc. in an effort to remove the word "slaves" from code, docs, etc. I first noticed it done in Hadoop 3.0.  But it got a lot more attention when Django made the change and Mozilla donated 15K to BuildBot to fund similar work. Googling around, it seems Jenkins, Drupal, and Mesos also did the change in the last few years.  I'm sure there are more that I missed and am just not searching the right terms.

As you might imagine, this has lead to quite politicized discussions on bug/issue trackers.  Are we going "too politically correct"?  Couldn't engineer hours be used more effectively?  You can imagine all of the discussions that could follow.

But I found this comment from the Django issue tracker on this subject to be quite enlightening.

"I'm very glad for this change because as a PoC I felt very uncomfortable seeing and using this terminology in my code"

We can choose to be more inclusive and welcoming to all people that may code.  Or we can choose to stick to the past terms based on a somewhat arbitrarily chosen naming from eons ago.  As a group, I think we should try to make programming more "inclusive" than "exclusive".  I wrote about this a bit awhile back regarding the use of 0xB16B00B5 (i.e. "Big Boobs") in the Linux kernel and how such language can make programming seem like something for boys instead of girls.

I know there are those who think it shouldn't be changed due to it's large legacy meaning/usage and the fact that it's clearly not related to human slavery.  I'm sure there are others that feel that such as a change is just "being too politically correct."
I was trying to think of an example in software history that would serve as a good illustration of how it's a good idea to change these terms, even though they become nearly defacto terminology.

I couldn't think of one.  Some of it just might be because software is too "new" of a thing still.

I did end up thinking of one in medical history related to Down Syndrome.

According to the wikipedia page, Doctor John Langdon Down first characterized Down Syndrome in the 1860s and initially called people with it "mongoloids" because he considered the facial features to be similar to those of "Mongolians".  It wasn't until the 1960s that the term was official changed to "Down Syndrome", named after the doctor that characterized it.

I hope to most readers here that the reason for the change is obvious.  The term "mongoloid" was often used as a pejorative for people of Asian descent.  It was simply embarrassing to continue to use such an outdated/racist word to describe a genetic disorder going into the 1900s.  According to Wikipedia, it wasn't really until the 1970s that the term really disappeared.

I can't help but think, it took about 100 years for the term to be officially changed from it's original naming to the modern one.  That's a long time.  So that's a lot of medical history that had to be changed.  I believe that the change was due to the realization that while the original name was widely used in the medical community, times do change.  And as times change, it's perhaps best to move on and adapt to that change.

So I think the software community can change too.  So I decided to make the changes in Magpie.  While I can't do it everywhere, as some tools such as Spark and Hbase still rely on the term, perhaps this is the beginning of the change throughout.  Once projects like Spark and Hbase migrate, I can propagate it further.

Saturday, August 27, 2016

Is Adrian Beltre a Hall of Famer? An Inner Circle Hall of Famer?

I recently read an article, and one of the things in the article that struck me was the following:
Adrian Beltre at 37 is still a phenomenon; this guy is a first-ballot, no-doubter, inner-circle Hall of Famer.
Inner circle? Really? Having never really looked into it, I had a feeling that Adrian Beltre deserved some strong Hall of Fame consideration.

But never would I consider him an inner circle player.

First, lets see if he's got Hall of Fame credentials.  As of this writing:

436 HR
4 Gold Gloves
4 All Star appearances
Two top 3 MVP finishes
Career WAR of 88.2
1 time lead league in HRs
2902 hits, so 3000 hit club will likely be reached

Generally speaking, this looks pretty good.  I could definitely see him as a Hall of Famer.  I was surprised that he had so many hits despite having a career average of .285.  But when you start your career at 19 and play everyday, those things will start adding up.

Now how does he compare to the greats?  Looking at a post about the "Baseball Inner Circle" from a survey of writers about their top 50 players of all time, I found 4 third basemen on the list and 1 that was just off of the top 50.  The post is a little old (Ken Griffey Jr should definitely be on this list), but I don't think there's been any third basemen added to the HOF in the last few years.  So here's their top 5 third basemen of all time.

#20 Mike Schmidt

548 HRs
10 Gold Gloves
12 All Star appearances
3 MVP, two other top 3 MVP finishes
8 times lead league in HRs
Career WAR 106.5

#24 George Brett

317 HRs
1 Gold Glove
13 All Star appearances
1 MVP, three other top 3 MVP finishes
Career WAR 88.4
3 batting titles
3000 hit club

#39 Eddie Matthews

512 HRs
9 All Star appearances
Runner up MVP twice
2 times lead league in homers
Career WAR 96.4

#46 Brooks Robinson

268 HRs
16 Gold Gloves
15 All Star appearances
1 MVP, three other top 3 MVP finishes
Career WAR 78.4

#51 Wade Boggs

118 HRs,
12 All Star appearances
1 time 4th in MVP voting
Career WAR 91.1
5 batting titles
3000 hit club

So assuming Adrian Beltre plays 1-2 more years, crosses the 3000 hit barrier, and adds a few more WAR points to his career total, he'll probably finish 3rd in career WAR amongst these third baseman.  While he's still playing well, it's hard to imagine him getting another 8 WAR to surpass Eddie Matthews, but it's certainly possible (Edit: After amassing 6.4 WAR in 2016, I think surpassing Eddie Matthews may be very doable now).

However, I can't imagine many writers ever putting Adrian Beltre on a pedestal as high as Schmidt, Brett, and Robinson.  Maybe some will put him above Matthews and Boggs.

The thing that appears to separate Adrian Beltre from these well accepted Inner Circle players appears to be something more subtle.  It's all the things that aren't related to the Career WAR.  It's the MVPs, Gold Gloves, All Star appearances, and what not.  Adrian Beltre will finish his career with a very low amount of them compared to these legends.  So while he had a very long and productive career, he was never considered really amongst the most elite players for a decent length of time.

As a potential HOF contemporary of Beltre's, lets look at Chipper Jones

468 HRs
8 All Star appearances
1 MVP, 1 other top 4 MVP finish
1 batting title
Career WAR 85.0

I wouldn't consider Chipper Jones an "Inner Circle" Hall of Famer, but he does have the MVP, batting title, and all those All Star appearances.

I found it interesting that Adrian Beltre didn't make an All Star team until his age 32 season.  He certainly should have made the team in 2004 when he was runner up to MVP.  However, what blocked him from being an All Star for so long?

In the NL, he wasn't really that great until 2004 (three 3 WAR seasons from 1999-2003).  Scott Rolen and Mike Lowell blocked his way to the All Star game in 2004.  In a weaker generation of third basemen, he probably could have snuck on in 2004.  As an illustration of how deep third baseman were in this generation of players, Chipper Jones didn't make an All Star team from 2002-2007. 

Beltre then played on a pretty terrible Seattle team from 2005-2009 that surely didn't help his case.  The cavernous fields of Seattle probably didn't help either.  Alex Rodriguez, Mike Lowell, Troy Glaus, and Evan Longoria blocked him during this time.  Again, a weaker generation of third basemen could have helped him sneak on at some point.  He did have two 5 WAR seasons in 2006 & 2008.

All his All Star appearances were after he went to much better Boston & Texas teams from 2010-2014 (and perhaps also helping, better hitters parks).  He finally got the All Star nod in 2010 and even started in 2011-2012.

So I think that Beltre is an unquestionable Hall of Famer, but I wouldn't put him into the Inner Circle category.  I think it takes a little something extra to be put into that upper echelon of the Hall of Fame.

Sunday, August 21, 2016

Dinner @ Trestle in San Francisco, CA

My girlfriend and I were going to be in the city for a get together and needed to get dinner beforehand.  Something somewhat more simple than the fancier places I normally cover.

I noticed that Trestle was really close to where we were going, so we were lucky to be able to snag reservations on short notice.  I first heard of Trestle via the San Francisco Chronicle's Top 100 Restaurants list.  It's somewhat known for having a very affordable price fixe meal, just $35 for a three course meal.  You get to choose between two items amongst an appetizer, entree, and dessert course.  If you want to add $10, you can get a pasta course too.  Here's an overview of what we got.

1A) Cannellini Bean Soup - Basil Pesto, Marinated Feta, Shaved Celery

1B) Calamari & Fingerling Potato Salad - Harissa Aioli, Olive Tapenade, Calabrian Chili

I got the bean soup at the top and my girlfriend got the calamari potato salad on the bottom.  I'm not a huge fan of beans, but the bean soup was pretty good with the pesto.  The feta cheese was particularly good.  I'm not sure what it was marinated in, but there was something special with the feta (I think it was a sweet note, but I can't remember exactly b/c I didn't write down any notes).

The most interesting thing about the potato salad was that it wasn't "chunks" of potato like you would normally think.  Instead it was "shaved".  Light and refreshing of the few bites I tried.

2) Bread

We forgot to ask for bread in the beginning of the meal.  You have to ask otherwise they don't bring any out for you.  So remember to ask!  Bread was fine, not a bread I would consider very memorable.

3) Mushroom Pappardelle - Porcini Cream, Poached Egg, Pickled Endive

Because we were going to a party afterwards, we decided not to try both of the extra pasta dishes and just shared this one pasta dish.  We made the right choice, as this was our favorite dish of the night.  The soft boiled egg turned sauce was delicious.

4A) Crispy-Skin Steelhead Salmon - Forbidden Black Rice, Eggplant, Lobster Emulsion

4B) Braised Short Rib - Creamed Farro, Squash Panzanella, Roasted Pepper Vinaigrette

I got the salmon on the top.  I'm not a big fan of salmon, but the salmon above was delicious and perfectly soft in the middle.  Lobster emulsion sauce was delicious.  I probably could have done without the black rice, not my favorite flavor.

My girlfriend got the short rib below.  Of the bit I tried, it was fine.  But I'm not the biggest fan of that particular cut of meat.

5A) Chocolate Brownie - Basil, Raspberry Coulis, Vanilla Ice Cream

5B) Coconut Panna Cotta - Lime Struesel, Pandan Crème, Mango

I got the brownie dessert in the top picture.  Overall, quite tasty, although I would have preferred the brownies to be a bit sweeter.  I think the rasberry sauce was particularly good.

Of the few bites I had of the panna cotta, it was pretty good.  I'm not the biggest fan of coconut flavor, so not sure how I would feel about eating an entire dessert of it.

I really enjoyed Trestle and would totally come back soon.  For just $35, it's a steal amongst the pricier dining options in the city.   The most comparable restaurant I could think of to Trestle was Aster, which we went to earlier this year.  Aster is $59 (without bread) for 4 courses.  So if you get the pasta course at Trestle, it's $59 vs $45 dollars for 4 courses.  That's a steal for such a good meal.  However, I would say that the dishes at Aster are more interesting and are totally worth the extra $14.

The meal took a very quick 1 hour and 15 minutes from the time we sat down to the time we left.  While the portions aren't the largest, the quick turnaround on dishes made sure we were stuffed by the end.  We were quite surprised.  It was even faster than our meal at Aster which clocked in at 1.5 hours.  With a smaller menu, I'm sure Trestle is able to pump out dishes from the kitchen just a bit faster.

Saturday, August 20, 2016

Suicide Squad - Why it was worse than Batman v Superman

Ugh, I just saw Suicide Squad and it was awful.  Far worse than Batman v Superman.

Why was it so bad?  There are reasons that I'm sure most people are going to bring up.  The introduction of so many fringe characters into a movie at the same time, not enough back story, not enough character depth/motiviation.

But there was something deeper.  These are the reasons I could come up with.

Needless to say ...


1) Worthless Characters Added

Not only were there too many character introductions, but some are so unfleshed that I'm not even sure why they were included in the movie.  Katana was introduced about a third of the way into the movie.  It felt like they added her into the middle of the script after it was completed.

Why was she added?  My assumption is it was add a bit more diversity into the team (an additional female and Asian character) and to add a "sword" person amongst a bunch of people with guns.

Because other than hacking a bunch of people with a sword a few times, she appears to have no appreciable purpose in the entire film.  During the "what do you dream of that would make you happy" sequence before the final battle, she's not even included.

Reading a bit online to get other fans opinions, I realized I had completely forgotten about Slipknot.  The guy they barely introduced and just killed off right away.  So sort of like Katana but even worse so.

2) Too much for Suicide Squad to handle?

So I'm not the biggest Suicide Squad knowledgeable person in the world.  But one of the subtleties is that I felt that Suicide Squad teams were supposed to go on more "black ops" missions.

Instead, they go after and battle a supernatural demon?  This makes no sense.  Black ops missions make way more sense.  That's why you would put together a team of criminals that are assassins (Deadshot) and thieves (Slipknot, Boomerang)?  You throw in Killer Croc for some muscle and maybe Harley Quinn because she's good in hand to hand combat.  This is the team that is supposed to go after the next Superman?

Looking on wikipedia, it appears this is some of the history of Suicide Squad in the comics.  They go kidnap people or steal things.  Ugh ... stealing the weapons book from Tehran would have made a bunch better film instead.

3) Everyone becomes friends and "good"

So maybe it's just me, but I hate the typical "bad guys become good" storyline.  These are supposed to be the worst criminals out there.  Yeah, certain characters will try to be team players and work together (Deadshot), but it's mostly for self-service to meet some personal self interest.

It would have been better if the team was constantly trying to figure out how to escape or take Flag's detonation tablet and reverse engineer it to remove the neck-bombs.  Nope, they are just good guys eventually.

4) Captain Boomerang is a bit cheapened

Before the movie came out, I wondered how they would portray Captain Boomerang.  In the comics and DC animated world, I think he's wonderful.  After all, he's a badass assassin that throws boomerangs for a living.  It's tongue and cheek silliness that makes the animated versions of him so awesome.

While Captain Boomerang plays the comic relief in the team real well, he feels really cheapened while fighting.  I just can't recall a moment when he was really that badass in the movie.

5) What was the purpose of the Joker in this film?

Why was the Joker even in this film?  His entire goal is to rescue Harley Quinn, which seems so unlike the Joker and a waste of his character.  The Joker is supposed to be some psychopath.

Here's a much better idea for the movie.  The Joker is going to do something crazy and Amanda Waller needs a black ops team to stop him.

Oh, and why would they add an equally psychotic Harley Quinn to the team?  Only because she understands the Joker and can help.  Otherwise why bring her along?

6) Too much jumping around

I felt the film "jumped around" too much, especially as they give back stories or flashbacks to prior events.  During 1 or 2 scenes my girlfriend was like "What's going on?" which I had to explain only b/c I have some knowledge of the comics universe.  One particular case was the flashback when Harley Quinn jumps into the vat of chemicals to become like the Joker.  It seemed to segue to that out of nowhere.


Watch Batman: Assault on Arkham.  It features Suicide Squad, is wonderful, and everything I said above is not the case in that animated film.  Katana is replaced by Killer Frost in the film and has a strong role in it, so you can't even say they didn't diversify the cast.

Wednesday, August 10, 2016

Batman v Superman & Justice League Trailer - Why so disappointing?

So last weekend I finally sat down and watched Batman v Superman.

While I didn't dislike the movie as much as the horrible reviews suggest (27% on Rottentomatoes), I didn't love it.  I maybe would have given it around a 50%-ish rating.

After watching it, I was trying to think up why I didn't like it that much.   There are some obvious reasons that I think most people have.  The introduction of Wonder Woman, Batman, Lex Luthor, and Doomsday was just too much for one movie.  (Blah blah, should have done it like Marvel by having Wonder Woman and Batman Movie first, blah blah).

But eventually, I realized it was something more subtle ....


The portrayal of the characters in the movie don't meet my impression of the characters in the comics.

Batman to me is supposed to be the world's greatest detective.  Getting "tricked" by Lex Luthor into fighting Superman just doesn't seem like what would happen to Batman.  In fact, wouldn't Batman have figured out Superman's identity by now?  After all, if Lex Luthor could, couldn't he?

After the bombing in Washington D.C., wouldn't Batman investigate further to see what actually happened so he knows Superman didn't cause anything?  Going out of his way to just want to fight Superman just because seems very unlike Batman.

Another thing that bothered me was Bruce Wayne's somewhat "friendliness" and "sense of humor" in the movie.  In the comics and DC animated universe, I always considered Bruce Wayne/Batman to be an untrusting loner who is somewhat distant compared to other members of the Justice League.  In the Justice League Animated series, he bluntly says he's "not a people person" when the Justice League is being formed.  There are other indications in the comics and other animated films where this seems to be the case (The Dark Knight comic comes to mind, as does the Justice League: War animated film, and the recent Dark Knight Rises, and probably many others).

However, in Batman v Superman, Bruce Wayne wants to go out of his way to form the Justice League after Superman dies (and furthers shows it in the Justice League trailer).  He also cracks some jokes here and there (and in the trailer too!) that just seem out of character for Batman.  When Wonder Woman arrives to fight Doomsday, Batman knows exactly who this is and why she is there.  Saying, "I thought she was with you" seems very out of character.  A much better line would have been something like "Clark Kent, meet Wonder Woman", in which Batman has clearly already figured out Superman's identity.  Superman would act a bit surprised that Batman already figured it out, which is a totally befitting Batman.

Now that I've seen how they decided to portray Bruce Wayne/Batman in this film, it makes sense to me why they would cast Ben Affleck as Batman.  He actually plays the part pretty well.  It's the portrayal that IMO doesn't map to Batman.  A completely different Batman portrayal would have led to a different casting choice.

As a complete aside, there's one moment in the Doomsday fight I love where Batman leaps onto a building of some sort but escapes a punch/attack from Doomsday by leaping away quickly.  That is wonderful and gives a "super human agility" kind of feel to Batman that he can even fight Doomsday to some extent.  They could have done more of that.

Jeremy Iron's portrayal of Alfred also didn't seem quite right either, compared to Alfred in the comics, animated shows, or even in movies (such as Michael Caine's portrayal).  He almost seemed to portray a sidekick of sorts to Bruce Wayne, helping him in the Batcave and taking on a Barabara Gordon/Oracle like role.  It just seemed out of place for him.

I will say that the portrayals of Lex Luthor (minus the hair) and Wonder Woman (albeit limited) were pretty good.