Sunday, August 17, 2014

back from vacation.


for some reason, my parents decided we needed to have a family vacation this year.  the original plan was hawaii, but my sister didn't think she could get enough time off work, so it got transferred to san francisco and sonoma county.

so we flew in from brooklyn, my parents from philly, my sister from phoenix (a day late because she had a job interview), and my brother and his wife from japan.

here are photos!

sadly, flickr no longer integrates blogger as a "share" option, so you don't get a gallery of thumbnails this time.  on the other hand, that broke all the css anyway.

Friday, May 30, 2014

what's for dinner?


since i've started doing the whole meatless monday thing (in an admittedly desultory fashion), this has become a regular dinner for us. it's also nicely spring-y, using the produce available.

3 eggs
milk or cream
1 bunch adult spinach or a couple handfuls of baby spinach
1-2 cloves fresh garlic (i like garlic)
fresh flat-leaf/italian parsley
fresh ground black pepper
1 tablespoon extra virgin olive oil
1-2 teaspoons butter
grated parmesan cheese
grated mozzarella and/or ricotta cheese
good toasting bread


1.  wash spinach.  if using adult spinach, remove stems and cut into ribbons.

2.  chop/mince parsley, including stems, and crush garlic.

3.  beat eggs with milk.  if using ricotta, beat it into the eggs as well.

4.  put oil and butter into a frying pan on medium/medium-high heat.  when the butter is frothy, add garlic and fry until golden.

5.  add in spinach, parsley, and pepper.  stir spinach to cover in fat.  if necessary, put lid on frying pan for a few minutes and steam until spinach is all wilted.

6.  pour eggs over the spinach.  when the eggs start to solidify, add grated cheese(s).  stir to scramble.  when the eggs are set and the cheese is melted, serve with toast and more butter.

this could easily be made not-meatless with bacon.  fry bacon until crisp, remove, chop, and cook the garlic and spinach in bacon fat, adding a little olive oil if necessary.  add the bacon back in with the eggs.

you could also make it an omelette, but scrambled eggs are easier to make and divide among 2 (or more) people.

Thursday, May 15, 2014

how to fix Agents of S.H.I.E.L.D.


yes, i used all the .s in the acronym. i'll stop now.

also THPOILERTH for all of Agents of SHIELD and Captain America: The Winter Soldier (hereafter referred to as Cap 2) below.

anyway, now that season 1 is over and the show got its greenlight for season 2, it's time to rant about how to make it better.  i watched every episode this season, sometimes wondering why i even stuck with the show.  it seriously sucked in the beginning.  but i was also watching 2 other shows that were much better and made me look forward to each new episode to see what was going to happen, not just in hope something interesting might happen.

so here is my recipe on how to fix Agents of SHIELD for the next season.

1.  Character development

2.  Character development

3.  Character development

seriously.  now that the season's over, it seems like in retrospect, the writers were so hamstrung by the Cap 2 reveal that they felt like they couldn't even do basic character development for fear of giving away too much ahead of time.  The only episode with any real character development was episode 6, "FZZT" where FitzSimmons got some seriously emotional screentime and their relationship really opened up for the viewers.  but for the rest of the series, practically everyone was a blank.  Skye wanted to know who she was.  Coulson wanted to know why he wasn't dead.  May kicked ass.  Ward fought a lot and sulked even more. 

and i'll admit, it's very cool to see a strong female character kicking ass, but May is otherwise a blank, and arguably at the end of the first season, she still is.  we don't really know why she's called "the cavalry" or why she hates it.  we don't know why she can throw away the berserker staff and Ward couldn't.  we don't know anything about her relationship with Nick Fury or Coulson, despite hints that she and Coulson have worked together before.  i'm not even sure we know who her SO was (unless it was Fury, which sort of sticks in my mind). 

Ward was equally frustrating for the same reasons. he was blank and violent.  he didn't get any character development until episode 21 out of 22.  seriously?  the repeated glimpse of something traumatic in his childhood triggered by the berserker staff was so frustrating as to not be insightful at all.  which boy was he?  which POV was his?  what the hell was even going on?  yes, his position in the team changed, but that still doesn't tell us who he is or why we should care about him.  quite frankly, if they demote him to guest star status next season and replace him with Trip, the show won't have lost anything.

4.  More organic tie-ins with the MCU

the show was explicitly conceived as sort of behind the scenes at SHIELD.  its main conceit is that the team members aren't superheroes and indeed are all original characters with no comics backstory to inform them.  but when other Marvel characters were introduced, it was either clumsily or dumbly.  the berserker staff is an example.  it's like "look, an Asgard/Thor reference!"  except it was so clumsy and earthbound that it never really felt like there was any kind of connection with Asgard.

the other silly thing was devoting episodes to recognizable characters' origin stories.  that's not integration, that's a flipping cameo, seriously.  passing comments to Bruce Banner and Romanoff might help, but what they really need is an episode either like "Yes Men" where Lady Sif and Lorelei show up and are already established with arcs in their own perception (requiring only some exposition to get the team and non-comics-reading audience up to speed) or the finale, when Nick Fury shows up and plays an integral role in the episode.

the thing that really drove me crazy in the beginning of the show was that it spent so much time world-building at the expense of character development.  you don't need to do world-building.  the world is already built for you; it's called the Marvel Cinematic Universe.  the writers/creators didn't want to do a superhero-cameo-of-the-week show, and i agree that that format would weaken it, but for goodness' sake, there's a ton of shit you can draw on without having to reinvent the wheel every week.

5.  Engage the questions you raise and do serious arcs

this also drove me crazy.  what happened to the Rising Tide?  why did Skye stop receiving their text messages?  for that matter, what happened to her locked-down Rising Tide phone?  Skye's switch from "SHIELD is evil" to "SHIELD is good" was flipped like a switch and never seemed realistic to me.  there was no inner conflict between "I spent most of my life fighting these guys and now that I see they're real humans with real stories like me maybe I was wrong." (see also points 1, 2, and 3).

also what about Ward and Lorelei?  it was pointed out several times on the internet that Ward was effectively raped.  i remember watching the sex scene with them and thinking, "he doesn't even have a chance to say 'no'."  what about Fitz and Lorelei?  personal agency is something that science fiction and fantasy deal with a lot, and both Ward's and Fitz's loss of agency to Lorelei could have provided for not only a decent insight into their characters, since i assume the would have dealt with the aftermath dramatically differently, but also it would have given the show the chance to escape the Star-Trek-like non-continuity feel and also provide an ongoing connection with the MCU (see 4).

and what the hell happened with all the information Natasha Romanoff made public at the end of Cap 2?  it was like this never happened as far as the show was concerned.  especially given Coulson's dramatic "no more secrets!" line, i expected to see the team hoovering up that info and sifting through it for hints about, well, everything.  especially Skye.

6.  Hire B. J. Britt full time and add Trip to the team

one asian chick who knows martial arts is not diversity.  with the exception of May, the regular cast of SHIELD is lily-white. bringing in B. J. Britt as a fully developed Agent Triplett will make the show more interesting for its diversity and also because in general Trip is a more interesting character than Ward, who was basically a clone of May.  Yes, there was J. August Richards and Ruth Negga, but neither of them were regulars.

one thing i do like about how SHIELD handled these characters, however, was that their race is a non-issue.

7.  If you must have a romantic involvement, TripSimmons is preferable to FitzSimmons

there are several reasons i prefer this pairing, but one major one:  it allows Simmons to keep her own agency.  she's obviously attracted to Trip and vice versa, and she thinks of Fitz as her "best friend in the whole world."  one of the conventions i hate with a passion is the idea that because someone is attracted to someone else, that person has an obligation to attempt to reciprocate.  it will be better plot and character overall if Simmons decides she loves Fitz and she always has, but like a brother/best friend.  it will also add depth and maturity to Fitz's character to have him get over or at least deal with his feelings for Simmons and wish her happiness in the relationship that she wants.

8.  Stop being so predictable

i don't know if i've just been exposed to way too much of this stuff (science fiction, fantasy, comics), but i called almost every twist this whole season, except the HYDRA reveal from Cap2 and John Garrett as the Clairvoyant.  here are the things i predicted:

- Victoria Hand is not the Clairvoyant, but she thinks Coulson is
- A member of Coulson's team is working for the Clairvoyant
- John Garrett is a villain (i thought he was working for the Clairvoyant too, actually)
- Either Fitz or Ward are HYDRA (i made this prediction after seeing Cap2)
- Whichever one of them is not HYDRA is going to die or otherwise be removed from the team

ok, ok, i also didn't predict that Skye was anything other than human.

so that's what i think would improve Agents of SHIELD and really make it a show i look forward too every week.  i am glad it got renewed for season 2, and i did generally like the show.  and i know a lot of shows stumble and suck their first season (see Star Trek:TNG).  i want to like SHIELD, i like the MCU and the movies in general.  please make SHIELD a good show, not just one we watch hoping some day it will be good.

Friday, April 4, 2014

what is wrong with you, California?


we've moved a lot the past couple years, and with a job in the tech industry, a move to San Francisco is always in the background.  it's casting a closer shadow than it used to because he just got a contract gig for a major company out there, with the possibility of full-time hire at the end of the year.  he said to  me, would you mind moving to California?  and i said no, not really.

and then yesterday i discovered the state of mass transit out there.  and now i'm not sure i want to move.

what is wrong with you, California?

i already knew LA had a pitiful system, but i thought, you know, maybe that was just the sprawling LA, movie-star-and-cars thing.

but damn, Google Maps estimates it will take him 25 minutes to drive from SFO to the office, but it will take 2 hours on the train.  what the fuck?  no, seriously.  here on the east coast, commuter trains to the suburbs are just about equal with driving, especially when you consider rush hour traffic.  i know, i've done both.  the time difference is negligible and the trains deliver you right to the city center and connect you with the subway.  which is another thing about SF - the BART system is weird.  i took it when i was out there last fall and it seemed like huge sections of downtown SF aren't accessible by rail at all, which is another weird thing.  you can get all over the major areas of Boston, NYC, Philly, and DC by rail; again, i know this because i've done it. 

i can totally see why Californians are skeptical of their state's high speed rail plans; they've never even experienced normally functioning commuter rail. 

i don't know if the lack of mass transit options help to encourage or buttress the silicon valley tech insularity, but i rather think it does have something to do with the culture.  in the major east coast cities, mass transit is used by everyone, regardless of age, race, or class.  the business exec in the expensive, perfectly tailored suit is riding the subway or the commuter train next to the homeless person, the grad student, the software developer, and the corner store employee.   public schools hand out bus/subway passes to their students.  an east coast subway is a cross section of humanity.  i rather get the impression that this isn't quite the case in SF/silicon valley.

in an ideal world, instead of sending buses for their employees, the deep-pocketed tech companies would be backing new rail construction and upgrades, but that won't solve the problems that the buses are causing anyway.  rail construction requires land, which means moving people off of it and in the very densely populated bay area, that would probably end up impacting and evicting the same lower income residents that are already suffering negative impacts and evictions from the company buses.

on the other hand, rail infrastructure upgrades to let more trains run faster don't have that kind of problem.  the land and right-of-way are already owned by the transit companies.  and electric rail doesn't pollute like highways do.

i guess the west coast cities were smaller and rougher when the great mass transit construction projects were being done on the east coast and in Europe in the 19th and early 20th centuries.  poor California. 

Thursday, March 27, 2014

complacency.


so, this is a post that's been rolling around in my brain for a while.  it doesn't mean it's any more organized for all that.

the whole NSA-spying-Edward-Snowden-RSA thing has been intriguing to me because i worked in cryptography for several years.  i've used the BSafe library, of which one method of generating keys was compromised (or not, depending who you listen to).  but i wasn't working in security research or anything, i was working for a company that did security for banks.  this was straight-up, applied-in-the-so-called-real-world cryptography.

and one thing i learned is that a lot of these conversations hit a wall when you're talking about how much money and time things cost.  but not only that, people vastly overestimate what cryptography can accomplish.  and even more so, the combination of "good enough" and overestimation leads to a lot of misunderstandings.

here is a perfect example.  i am connected to blogger.com using an https connection.  this means, in the words of firefox's page info
The page you are viewing was encrypted before being transmitted over the internet.

Encryption makes it very difficult for unauthorized people to view information traveling between computers. It is therefore very unlikely that anyone rad this page as it traveled across the network.
one major problem with this statement:  also according to the page info, this is encrypted with "High-grade Encryption" which is a whole 128-bit key.

128 bits is not a high-grade encryption key.  at least not anymore.

here's the problem with encryption:  with enough computing power, you can brute-force anything.  bigger keys just make the time it would take to brute-force the encryption astronomically inconvenient. 

and here's another problem:  as far as i can tell, most encryption standards solidified with the wide expansion of the internet back in the late '90s to early '00s.  i remember setting up my laptop in my dorm room in 1997 and my dad telling me to set netscape not to allow 40-bit SSL keys but to insist on 128-bit keys.

128 bits is the same length that google is still using in their SSL encryption today in 2014.

i was really hoping that i had read that wrong and it was 128 bytes, which would make a lot more sense almost 20 years later, but no.  128 bits.  bits.  (i assume you know this, but just in case:  there are 8 bits to a byte.  because of how encryption works, key lengths are almost always measured in bits).

my 1997 laptop had a processor that was clocked at a whole 150mhz (yes, i still remember this) and was a 32-bit processor.  my current laptop that i am typing this post on is clocked at 2.7ghz, has 2 cores, and is 64-bit.  while this one laptop alone probably would take a while to brute-force the SSL encryption of this connection, a whole lot of these tied together wouldn't, and hey, nowadays we have botnets and AWS and have also made significant advances in distributed computing models. 

and if you think the NSA doesn't have a whole lot of processors somewhere dedicated to breaking encryption if they need to then you are not nearly paranoid enough about the NSA.

so really, it doesn't matter a whole lot if the NSA compromised one of the key generating algorithms in RSA's BSafe library.  most commercial applications of encryption aren't using large enough keys to make that matter anyway.  it's great that google has moved to using "https everywhere" but since they're not using even the smallest practical 1024-bit key, i don't really feel they're doing a whole lot to stop the NSA reading my email.

if we're really serious about our privacy, then we'll stop demanding "encryption" and start demanding encryption that has changed with the increased processing power that Moore's law continues to make available to us.  we'll demand updated protocols that insist on asymmetric instead of symmetric encryption.  and we'll demand serious investment in implementing individual encryption certificates for email that can work not only with 3rd party mail clients, but also with the web apps and mobile apps.

oh, and stay away from people with wrenches.

Sunday, March 16, 2014

A woman's take on GitHub: it's structural sexism.



A good example of structural sexism is going on in the tech world right now.  This story, if largely true as told (do note that GitHub has so far refused to comment), is not an example of much overt sexism.  Coming from a female perspective, and also as someone who has studied philosophy and sociology, it doesn't read like overt, obvious sexism.  But it is full of structural sexism.  What is sexism?  Generally, it's dealing with people differently based on their gender, or dealing with them based on stereotypes about gender rather then on them as an individual person.

What this story is more, however, is the story of immature people in circumstances they can't deal with, bad management, and boundless egos.  Both of these things, by the way, are very common in "the startup culture."

My husband, who is also a developer, said I should blog about it because he didn't see any sexism at all in the story until I pointed it out to him.  So I am.

First let's point out the only overtly sexist action in the story: the rockstar programmer refusing to be romantically rejected and the company not calling him out on it.  His sexual ego has been hurt and he punishes the woman who hurt him, and the other men don't really see a problem with this.

This, by the way, is one of the key assumptions of "rape culture."  If you are attracted to someone, there is this expectation that this objectified person has some kind of obligation to attempt to reciprocate the attraction or allow you to gratify it.  They do not.  If attraction is not mutual, then it just isn't.  Rejection hurts, go have a beer with a good friend and cry on their shoulder (this advice is for both you men and women), talk it over with your therapist, and deal.  There is no obligation put on the object of your attraction, except maybe to be polite in rejection and acknowledge the pain they are causing.

Anyway.  First point of structural sexism:  wife of founder has a role in the company, but it is undefined and she is not formally employed by the company.  This is sexism, pure and simple.  Because of her relationship and gender, she is excluded from a formal role in her husband's company, but is still expected to "support" him.  It's also the decision of a bad manager:  never, ever allow someone to have an undefined and unofficial role in your company.

Second point:  the unofficial wife (ok, that's not quite what I meant :) is sent to deal with the unhappy female employee over drinks.  Would the founder have sent his wife to deal with a male employee over drinks?  I'm going to guess there's a 95% chance that he wouldn't, not even if the male employee was gay (although he might have.  There's a reason discussion about women often overlaps with discussions about queer people).  But he sends a woman to deal with a woman.  This is structural sexism because it treats women differently from men based on assumptions about gender stereotypes. 

This is a big point in the story.  The female programmer is treated the way she is partly because the people involved obviously have no idea how to handle any kind of internal dispute, and partly because of her gender.  Assumptions about how to manager her are being dictated by gender, not by her or anyone else's role in the company.  When I pointed this out to my husband, he said now he could see the sexism.  He had not seen anything but bad management and a clash of egos until I pointed these aspects out to him.

But he's right, it's also a tale of egos.  This programmer thought she could "fix GitHub."  That has nothing to do with gender and everything to do with ego.  Her ego is identical to the men's egos in this story and they are clashing.  In a culture that rewards the biggest ego, the best self-seller, the loudest voice, situations like this are inevitable.  The sexism is in how this programmer specifically was dealt with.

It's wrong to say this is a story about sexism only.  But it's equally wrong to say she was not treated in a sexist manner simply because there is barely any overt sexism.  Structural discrimination is just as damaging as overt discrimination, and it's made even worse because it's invisible to the people it benefits even when they disagree and would never condone overt discrimination.