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.

Thursday, December 19, 2013

snowstorm chicken.


this would normally be a "what's for dinner?" post, but this makes at least 2 dinners, so.

when a snowstorm is forecast by the meteorologists, people run to the store and stock up on eggs, bread, and milk.

this is a mistake.

not that eggs, bread, and milk are a bad thing, but unless you only plan to eat french toast during the storm, you might want to consider picking up a whole chicken instead.  there is nothing quite so comforting when it's snowing (or sleeting or freezing raining) outside as the smell of chicken roasting in an oven.  plus, it heats up the whole apartment.  and then you get to make soup from what's left over.

so.  snowstorm chicken for 2 nights.  this is my recipe, more or less.  i mean, roast chicken is roast chicken, but i always prepare it this way.

1 whole chicken 3-5 lbs
2-3 carrots
2-3 stalks of celery
1 large onion, or 2 smallish ones

salt, black pepper, "seasoned salt," paprika, garlic, parsley, sage, and/or rosemary to taste and depending what's in your pantry or your container garden that you're overwintering
butter or olive oil
white wine (this is my one real use for chardonnay)
potatoes
2 bay leaves or bouquet garni
1 T butter
1 T flour
other vegetables such as fresh or frozen corn, peas, green beans, etc

1.  preheat the oven to 400F.  remove giblets and neck from chicken, if included.  i've never had a chicken with a neck, but if you get one, keep it and put it in your stockpot.  i don't know what to do with giblets.  with an organic chicken, i would make chopped liver, but usually i just throw them all out.

2.  while the chicken warms up slowly from the fridge, peel 1 or 2 of the carrots. cut the carrots, 1 or 2 celery stalks, and 1/2 or 1 onion into long thin sticks and scatter them on the bottom of your roasting pan.

3.  place the chicken on top of the cut vegetables.  drizzle olive oil or melted butter over the chicken, then pour over some wine.  sprinkle the chicken with whatever herbs and spices you're using (for what it's worth, i use seasoned salt, black pepper, garlic, parsley, and either sage or rosemary depending on how the plants are doing) and rub them into the skin with the oil and the wine.

4.  you can make baked potatoes as an accompaniment here. peel them, cut them in half, rub them with olive oil, and wrap in foil and position on a baking sheet.

4.  put the chicken in the oven and roast for 1-1 1/2 hours or until the thigh leaks clear juices.  or google for the right reading on a meat thermometer, which i don't own.  also put in the potatoes on either the same rack or the lower one on their own pan.

5. let the chicken rest 15-20 minutes and then carve.  serve with the baked potatoes.  have a glass of wine.  this is dinner #1.  reserve whatever meat you don't eat in the fridge. 

6.  put the bones/carcase with some meat attached, skin, wing tips, and vegetables from the roasting pan in a stockpot with the bay leaves or a bouquet garni.  pour the roasting juices from the pan into the stockpot too.  basically, don't throw anything out, put it all in the stockpot.  cover with water and turn the burner on high.

7.  when the water boils, turn the heat down and simmer for several hours until the stock is richly flavoured and there is no flavour left in the meat.  have another glass of wine, watch a movie or the snow falling or have sex or something. or all of the above.

8. turn off the heat and allow to cool until you can handle the pot.  when it is cool enough, strain the stock into a bowl (or bowls) either through a sieve or cheesecloth.  now you can throw away all the bones, skin, vegetables, etc.  put the stock in the fridge overnight.  have another glass of wine.  go to bed because it's really late now.

9.  the next morning, wake up, make a pot of coffee, and enjoy looking at the snow out your window that you don't have to go and slog through or drive in.

10.  when it gets dinner timeish again, take the chicken stock out of the fridge and remove the solid layer of fat that has formed overnight.  the stock itself should have gelled.  this is real jello :)

11.  for dinner #2,  peel the remaining carrot and chop in small pieces.  chop the remaining onion and celery into small pieces as well. peel and cube some more potatoes.  saute all these in butter or olive oil a deep pot and remove them to a plate or bowl.

12.  in the same pot, over medium heat, melt 1 T butter.  add in the 1 T flour and whisk to make a roux.  pour in a little white wine and allow to thicken, then start adding the chicken stock, whisking the whole time to incorporate the roux and thicken the stock.  you may have extra stock. if so, freeze it and use it later.

13.  add back the sauteed vegetables with any juices.  add in the refrigerated chicken meat from last night.   simmer until the vegetables and potatoes are cooked through, adding any herbs or spices to taste.  if you are adding starchy vegetables, add them as well.  if you are using more delicate vegetables like green beans, add them right (less than 5 minutes) before you take the soup off the stove so they don't overcook.  now you have chicken soup for dinner #2.



Tuesday, September 17, 2013

overeducated.


i just finished watching the premier episode of fox's new tv show "sleepy hollow."  it is definitely as fun and campy as everyone says.  like the episodes of x-files where the sneaky sense of humour came out.

but the end, man... ok, first, it's the Revelation to John, not Revelations, argh!  second (being a seminary graduate and all), i've read Revelation (and Good Omens :)  and that's not what it says.

Wednesday, September 4, 2013

greek yoghurt adventures.


**updated**

so i have always been a fan of yoghurt, and the new greek styles pack that loverly protein punch along with the "live and active cultures."  i have been eating quite a lot of it recently, but my local supermarket tends to be inconsistent with its selection, so i am exploring the various brands.  i'm up to 3 so far.

my favourite flavour is honey, so that's the one i've been trying.  i like it for a couple reasons.  1) i have always found that the jams you stir into yoghurt change the texture to something weird and kind of grainy.  2) mixing in or pouring honey is a traditional way to eat yoghurt, strained/greek or not. 3) in a pinch, i can make it myself by buying plain yoghurt and just spooning in honey :)

so.  here are my experiences in my greek yoghurt adventure:

first:  all of these were 0% fat with the same 5 standard live and active cultures in yoghurt, so none of that is going to show up in my discussion.  they are also all true strained yoghurts with the high protein content.  always read the nutrition labels, kids; some "greek" yoghurts have only half the protein of others because they are not strained, just thickened with additives.

stonyfield
stonyfield is my favourite.  it is creamy and tangy and organic.  although "organic honey" is really impossible because you have no idea where the bees have actually gone. 

pros:  organic!  organic!!  no hormones, no antibiotics in the cows.  i'm really trying to get away from animal products with antibiotics.  fairly low calorie count.  creamy texture.  tangy yoghurt.  good honey flavour.
cons:  the honey is mixed with pectin and carob bean gum as thickeners.  my supermarket carries this flavour about every other week.  wtf?  expensive except when on sale.

chobani
i must be the only person in the world who doesn't like chobani.  i find their flavours with fruit mix-ins to be excessively grainy.  their pre-blended honey yoghurt was chalky instead of creamy and had little flavour.
pros:  actually a 6oz cup, so better value.  no thickeners with the honey.
cons:  chalky.  weird texture.  little honey flavour.  no tang.  bleh.

fage
this one is very interesting.  like stonyfield, you mix the honey in yourself, but unlike stonyfield, the honey is just plain honey and comes in its own compartment.  this is nice because then you don't have to eat all that sugar, although honey is very good for you.  i found about half the honey in the compartment got the yoghurt to a sweetness i like.
pros:  no thickeners with the honey.  separate compartment makes it easy to customize.
cons: no tang.  messy and hard to mix in the cup.  if you don't eat it, you end up throwing out the honey, which makes it impossible to recycle the container. also food waste is sad :(  if you do eat all the honey, fage has the highest calorie count.  this will probably be my backup.

voskos
this one is... weird.  it has the most liquid whey of all of them, but it also has one more gram of protein.  usually these two things are mutually exclusive; it is the straining of the whey that makes greek yoghurt more thick, creamy, and concentrated.  voskos honey also has a tangy flavour that crosses the line into "weird and funky" with an equally funky aftertaste.  like chobani, this is pre-blended, and while the sugar content is comparable to the others, it has the least sweet taste.  i liked this one the least.  (note: i do see an organic option on the website, but i only found the conventional in my supermarket)
pros: no thickeners with the honey.  an extra gram of protein.
cons: chalky.  really weird, funky taste and aftertaste.  no real honey flavour.  soupy whey on top.

Tuesday, July 2, 2013

take that, rene girard!


this made me laugh.

It's hard to imagine Mattrick was a scapegoat given that he implicated himself by defending so rabidly the DRM policies in interviews to the extent of insulting customers. I very much doubt his orders were "Don, go make a dick of yourself in public".
I think we can all agree we've coined the new term: "scapedick" :)

scapegoat - In modern usage a scapegoat is an individual, group, or country singled out for unmerited negative treatment or blame.
scapedick - An individual, group or country singled out for unmerited negative treatment or blame; then accepting the blame, and overly going along with the plan against them to the point of looking like a dick

(quoted for posterity)
also, it's not every day a tech website and rene girard can be worked into one post.

Friday, June 28, 2013

what's for... lunch?


this has become one of my favourite meals recently.  it's so simple and summery.

spicy chicken salad sandwich

potato hotdog roll
spicy grilled chicken (boneless skinless breast or thigh - try a cajun spice rub)
carrot
celery
mayonnaise to taste
romaine lettuce

1.  peel the carrot, and slice the carrot and celery into small pieces. chop chicken into small chunks.  you really want these small, about a quarter of an inch cubed or smaller, but still chunky.  do not shred any of them.  the proportions of the three ingredients should be almost equal, with only a little more chicken by volume.

2.  mix the small chunks into mayonnaise.  i like my mayonnaise salads creamy, so i use a couple tablespoons.  it may be tempting to use a low-fat dressing, but don't.  it will get watery and not be creamy enough with the high proportion of vegetables.

3.  line the potato roll with romaine leaves and then spoon the chicken salad on top.

i'd love to try packing this for a picnic, but i haven't yet.  maybe next week for the 4th.

Friday, March 8, 2013

experiments.

focaccia by wizgeneric
so, we are moving. and we are moving to a much, much smaller space. which means we have to figure out what to get rid of/leave behind.

in the process of going through my cabinets, i found yeast packets that were way, way, way past their expiration date. i don't bake with yeast much. in fact, i don't bake with yeast at all. i tried once, and the resulting breadsticks, while edible, were all dried out and not really much good. and since i don't bake with yeast, i don't bother to buy bread flour.

but i thought, the breadsticks weren't actually that bad, i mean, they were edible after all, and i do know that bread baking is much a trial-and-error situation. i don't bake a whole lot because baking tends to be fiddly and rely a lot on details, and i'm not big on details. but even though i screwed up my first effort, yeast bread seemed like it might be able to handle less exactness than something like a cake (don't ever ask me to make a cake for you. i don't bake cakes). so i paged through my copies of Fannie Farmer's Cookbook and The Joy of Cooking looking for a yeast bread recipe that didn't require bread flour. and in The Joy of Cooking i found a recipe for pizza dough that said it would also make focaccia. i don't have a pizza stone, but the focaccia seemed like less work anyway. so i made it. and it was actually a success.

but what do you eat with focaccia? here's what dinner was last night:

chicken-pesto panini on focaccia

ingredients:
1 packet instant yeast
2 T olive oil + more for the pans
2 3/4 c all-purpose flour
1 c whole wheat flour (optional - i used white whole wheat)
1 2/3 c warm water
1 T salt
1 t sugar
extra virgin olive oil, sea salt, and rosemary

1/2 lb boneless, skinless chicken breast
1 T extra virgin olive oil
as much pesto as you want (maybe i'll post my recipe for pesto some day too)
mozzerella and provolone cheese

1. combine the yeast packet with the warm water and let sit 5 minutes.

2. pour yeasty water into a large mixing bowl and mix in flour(s), salt, sugar, and oil.

3. stir and then knead until the dough is "smooth and elastic," adding more water and/or flour as necessary.

4. divide the dough in half and push until flattish into well-oiled cake or pie pans. The Joy of Cooking recommends 2 10" cake pans. since i don't have those (see above comment on cakes), i used 2 9" glass pie pans.

5. cover the dough with plastic wrap and set in a warm area to rise ~1 1/2 hours "or until doubled in volume." this didn't happen for me. they barely rose at all. it's possible my apartment isn't warm enough to make the yeast happy.

6. push down with fingertips until the surface is dimpled. drizzle with extra virgin olive oil, sea salt, and rosemary.

7. bake at 400F for 25 minutes or until crusty. this is the stage where mine rose and got fluffy.

8. while the focaccia is (focaccii are?) baking, cut the chicken breast crosswise into slices about 1/8" thick.

9. oil a baking sheet or shallow pan, add the chicken slices to the oil in the pan, and toss them to cover them with oil. spread them out so they will cook evenly.

10. in another oven (i used my toaster oven), cook the chicken breast at 350F until done but still moist.

11. scoop several spoonfuls of pesto into a shallow bowl. toss the chicken breast with their cooking oil in the pesto until well coated.

12. cut a focaccia into quarters and slice two of the quarters lengthwise to make sandwiches. pile the chicken and pesto onto one slice of each quarter focaccia. top with cheeses.

13. put the topped focaccia slices under the broiler and broil on high until cheese is melted and bubbly. wrap the untopped focaccia slices in aluminum foil and put them in the broiler as well to keep them hot.

14. complete the sandwiches with the hot focaccia slices. eat!

this was actually quite delicious. i'm not sure how you can go wrong with anything that involves pesto, but that might just be me.

Monday, January 21, 2013

you're doing it wrong.


i'm sort of, in a rather desultory manner, watching the coverage of the inauguration on television, and i can't help wondering why only the tea party is doing it right.

i voted back in november.  there were at least 5 candidates for president on the ballot in my state (that i remember), representing 5 different parties for president.  but there were only 2 parties represented in all the other races, 3 if you count the tea party separate from the moderate northeast republicans.  i was just watching discussion of the president's stated immigration goal, and it sounds like the republican party is headed for a split between the very far right nutcases and the rest of the conservatives.

what is going on?

for some reason, the tea party is working the system right.  i wish the left in this country would stop chasing their damned egos and start paying real attention to how a multi-party system is working in this country.  it is working because whoever is financing the tea party is smart.  instead of waiting for 2012 and blowing all their money on the ridiculously expensive presidential campaign, they started in 2010 with the congressional races and especially with the house of representatives.

we have this famous check-and-balances situation in this country which forces the president to have to work with the legislative branch.  what would be the point of getting a hard-right president in power, or a green party president in power, and having no support for them in congress?  better to spend your money on those small, unglamourous legislative campaigns that will get voters in your corner and get legislative support in congress so that there is ready-made support for your presidential campaign.  not only that, but it will force true multi-party functioning in this country. 

if the greens and the communists are smart and more than that, serious, about affecting politics in this country, they should start finding house of representative candidates now and fund their runs for the 2014 congressional elections.  stop blowing your money on your presidential run ego, stop being fixated on "the presidency" and "the president of the united states" and get going with really getting the worker bees into the government.