Proposition 8: How Wording Made All the Difference

In an upsetting - but expected ruling - the CA Supreme Court voted to uphold Proposition 8, which reads:

Only marriage between a man and a woman is valid or recognized in California.

Wording like this would have been torn to shreds by my high school debate team (which once, rather infamously, defined Huckleberry Finn, in the statement "Episcopal Academy should ban Huckleberry Finn," as the character himself.  The team then argued that to ban a character, but not the book itself, is absurd.  They nearly won.).  But I disgress...

Proposition 8 was awkwardly written, and intentionally so.  Consider some intepretations:
  • Only (marriage between a man and a woman) is valid or recognized in California.  Nothing else - nothing at all - is valid.
  • (Only marriage) between a man and a woman is valid or recognized in California.  Of all legal or other agreements between a man and a woman, marriage is the only one that's valid.
  • [No parenthetical equivalent] Pair "only" with "a man and a woman" to imply that no other marriages are valid.  This says nothing about other, non-marriage contracts.
Proposition 8 wants you, of course, to select the third option.  But should we?  Consider an analogy: "Only boys between the ages of 10 and 15 can apply."  
Common sense suggests that we parse the sentence as "Only (boys between the ages of 10 and 15) can apply."  Thus, no girls allowed.  Proposition 8, however, would have us pair "only" with "between the ages of 10 and 15" to imply that no other boys are able to apply.  This says nothing about other, non-boy applicants.  Girls are allowed, then?

Given the awkward, ambiguous wording, why didn't Proposition 8 say what it meant?  Why wasn't it written as "ban same-sex marriage" or "marriages between same-sex couples are not valid or recognized."?  Because wording matters.

Proposition 8 almost certainly would not have passed had it said what it meant: ban same-sex marriage.

From National Organization for Marriage's talking points:
Language to avoid at all costs: "Ban same-sex marriage." Our base loves this wording. So do supporters of SSM. They know it causes us to lose about ten percentage points in polls. Don’t use it. Say we’re against “redefining marriage” or in favor or “marriage as the union of husband and wife” NEVER “banning same-sex marriage.”

52% of voters voted for Proposition 8; by NOM's own admission, only 42% would have voted for it had it been clearly written.  It should have been a resounding failure, not a narrow success.


So, please, do not let anyone tell you that "the people of California have spoken."  First, the voters spoke, not the people (voters do not accurately represent the people).  Second, the voters voted to support Prop 8, not to ban same-sex marriage.  There's a big difference - a 10 percentage point difference.

Wording matters.  It made all the difference in passing Proposition 8.

Think Less, Experiment More: 5 Lessons on Entrepreneurship

A guest blog post I wrote for Women Grow Business:

Working for Microsoft, Google and Apple, I not only became a better engineer - I became a better entrepreneur. Their successes and failures, encapsulated in these five lessons, provided me with invaluable instruction in how to build a company and effectively compete.

#1. Build a large network. The “Biggies,” as I like to call them, have an unfair advantage: they have a network of literally thousands of experts. At Apple, I worked with some of the industry’s best designers. Microsoft has people who specialize in every conceivable role. At Google, I could walk down the hall and speak with the inventors of revolutionary technologies.

To compete with the biggies, you’ll need a network of your own. Get out to those start-up happy hours. Grab business cards. Set up coffee and lunch chats. And be open - you never know who might come in handy.

New! Affiliate Program for CareerCup

Good news bloggers and website owners!  CareerCup has just launched its new affiliate program.  CareerCup's affiliate programs allows website owners to post a link / ad for CareerCup's interview guide and, in return, collect some of the revenue from any sale.  Best of all, it's super-easy to use!

We offer two designs: Horizontal (example) and Vertical (example)
Preliminary tests have shown that it far outperforms Google Adsense ads.  Want in on the action?  Great!  Follow these instructions, or just tweak this code:
<SCRIPT type="text/javascript" src="http://www.careercup.com/js/affiliate.js"></SCRIPT>
<SCRIPT type="text/javascript">
var cc_width = 650;
var cc_font_size = 12;
var cc_header_font_size = 14;
var cc_background = '#FFFFFF';
var cc_header_color = '#009193';
var cc_guarantee_color = '#FF0000';
var cc_link_color = '#009193';
var cc_type = 'horizontal';
writeAffiliateCode('
mydomain.com', '1');
</SCRIPT>

When you've got it up and running, email me your name, paypal account, and url.  You'll get a 20% cut of the revenue and will be paid each month.

Plan B for 17 year olds: Risky?

Mike Galanos wrote an opinion piece for the CNN asserting that Plan B is risky for 17 year olds. His argument, however, doesn't hold water. Let's take a look at it, bit by bit:

Think of a 17-year-old girl. Most of the time she's a high school senior, still living at home with Mom and Dad.

Ok, thinking, thinking... got it: A 17 year old girl, terrified to admit to her parents that she not only has sex (gasp!), but had unprotected sex. Will she take the chance at pregnancy to avoid telling her parents? Yeah, probably.

She still needs her parents in the tough times. But they will be cut out of a traumatic situation.

Wait, what's traumatic here? The sex? That's not traumatic. Unprotected sex? Not traumatic, as long as it doesn't result in pregnancy. So, actually, we're preventing a traumatic situation.

Now keep in mind birth control pills require a doctor's prescription, but a drug that is more powerful doesn't?

Ok - so maybe we should make birth control pills over the counter too? And, also, while Plan B is more powerful per pill, but birth control is a much more serious health concern because you're on it for weeks, months, years. The depression and other things that can result from birth control isn't really a risk with Plan B.

Some argue that a girl can get an abortion without parental notification in some states, so why not Plan B? But just because those states got it wrong by leaving parents out of the loop doesn't mean others should follow suit.

Let's make sure we can follow his argument here (where the ">" means "more serious than"): Abortion > Plan B > Birth control pills. States allow abortion without parental consent, but that doesn't imply allowing Plan B. But, earlier, he basically used the opposite logic: if states don't allow birth control, why would they allow a more serious drug? Inconsistent logic.

In most states, minors can't get a tattoo, body piercings or go to a tanning salon without a parent's permission, but we are going to leave them alone to take Plan B.

Well, yes, this makes sense because of the consequences of not providing access to Plan B: pregnancy. What's the consequence of not providing access to tattoos?

Timing is essential to the drug's effectiveness, Plan B supporters say, so getting parents and doctors involved would unnecessarily delay the teen's ability to pop the pill the "morning after." Does it really take that long to get a prescription?

First, it can take a while if it's on a weekend (and teens do have this tendency to have sex on weekends). Second, it would unnecessarily prevent the teen from telling her parents. Do you not know teenage girls? They don't really like getting grounded or barred from seeing their boyfriends.

The New York Times reports that since 18-year-olds were allowed to get Plan B without a prescription in 2006, there has been no evidence of it having an effect on the country's teen pregnancy or abortion rates.

True, but they also showed no increase in risky behaviors. So, 1 point for each side here.

We're enabling teenagers to act carelessly with an easy way out.

Yeah! Let's punish them with unplanned pregnancy! Brilliant!

"Teenagers are known for thinking they're untouchable and here we are saying that they can continue to do that and that there aren't any consequences."

Ah, so you admit that teens tend to think that nothing bad could happen to them? So, given that attitude, if they have unprotected sex, will they tell their parents so that they can get Plan B? I didn't think so.

The boyfriend will talk his girlfriend into unprotected sex with the promise of buying the "morning after pill" the next day.

Please, show me some data stating that this is a concern. Last I checked, boys were also scared of pregnancy - especially since, as you stated, Plan B is only 89% effective. (In fact, boys might be more scared of pregnancy, since they don't get any say in abortion.)

Yes, this could encourage unprotected sex and that means a greater risk for sexually transmitted diseases.

(A) Studies have shown that it doesn't increase promiscuity. (B) Isn't Plan B like $40 a pop? I don't think people are going to really rely on this as their sole method of birth control.

What about the 17-year-old girl who may get Plan B for her 15-year-old sophomore friend?

What about it? I'm ok with that, since it's certainly better than the 15 year old not taking it at all.

Yes, teens have sex and difficult situations will arise, but should we open the door for our girls to go through this alone? That is not what is best for our daughters.

See, here's the thing: Plan B supporters are trying to make sure your daughters don't have to go through "this" at all (where "this" is an unplanned pregnancy).

And, allow me to make a few additional points:

  1. The average age in the US for people to lose their virginity is about 17. So to say that parents need to be informed that their 17 year old is having sex is a little extreme. If you have a 17 year old, they're probably having sex. This is not a crisis that needs to be averted. It's normal.
  2. When a 17 year old girl has to chose between taking Plan B and informing her parents, and not taking it at all, she just wouldn't take Plan B. So, the parents won't be informed that their teen is having sex anyway.
  3. It's not that I want parents to be uninformed. It's that I don't want unplanned pregnancies. Given that, I'll take uninformed parents and fewer unplanned pregnancies.
  4. In an entire article about why 17 year olds should need a prescription to get Plan B, Galanos never even responds to the core reason why many people disagree. That's a rather glaring omission.

In Defense of Outsourcing

As I've mentioned before, I've started outsourcing. A lot. Most of the outsourcing goes to an (awesome) assistant in the Philippines, who does everything from online research to document editing. She's great, and she's quite literally changed my approach to working. Although most people are merely intrigued by my hiring a remote assistant, a surprising number tell me that it's unethical, supplying one of these reasons:

Exploitation: "You're only hiring someone from because they're cheap. You're not even paying them minimum wage!"

While it's true that some people I hire are paid well below US minimum wage (you can find assistants for as little as $1.50 per hour, though mine are paid considerably more), it's hardly exploiting them. I do believe that employees should be paid a livable wage, but that means a livable wage for their country, not for the US.

It's surprising to me that so many people would complain about this, when we're all perfectly accustomed to salary adjustments based on cost of living. For example, Microsoft pays California employees 15% more for the same work than they do the Seattle employees. Likewise, they no doubt pay their India employees considerably less. Exploitative? Of course not.

Now, I'm not an expert in economics, but I would guess that, far from being exploitative, outsourcing is quite good for the target areas. You're providing the people with work. Doesn't that boost their economy? Isn't that good?

Protectionism: "What about the US? You should be hiring US workers!"

Most outsourcing-supporting respond with the following: 1) "By outsourcing to India / Philippines / another country, we can expand our company and eventually hire more Americans." I don't know in which cases this argument is true, but I can certainly say that it's been true in my case. The outsourced workers I've hired have been the reason that I've been able to generate revenue for CareerCup. It simply would not have been possible without them. This revenue, in turn, enables me to hire Americans for things that do need to be done in the US. 2) "Welcome to a global world. If you don't operate efficiently, your competitors - who may not be American - will simply out perform you." This is possibly the most compelling argument. A business has an obligation to its shareholders to operate efficiently. If it doesn't operate efficiently, another company will. And then, if that happens, how have we helped the US?

In addition to those two points, however, I'd like to make a third: 3) Why are Americans so important? Why is hiring an American inherently "better" (ethically speaking) than a hiring someone from India? Are we not all people? In fact, I could very well argue the opposite: supporting a person in a poorer country, whose children may struggle to eat or to get an education, is more ethical than hiring a comparatively wealthy American. (I'm not saying that that's true; I'm merely arguing that the reverse isn't necessarily true either.)

Suffice to say... I feel perfectly at easy with my decision to outsource. I've employed some extraordinarily talented people and rewarded them well for their work. I understand that there's an awful lot I don't understand about globalization, so perhaps someone will open my eyes to some horrible truths. Until that day, though, I will continue to use outsourced workers to build and expand new projects.

Strip Search at School: Was it assault?

I often debate as to whether this blog should be strictly tech-based, but then I read these articles that, well, get to me. To change the statistic that 25% of women are sexually assaulted, people need to start talking about it.

Yesterday, the Supreme Court heard argument on a case where a 13 year old girl - an honor student who had never been in trouble - was strip searched at school because she was suspected of having ibuprofen. Now, if that doesn't infuriate you already, listen to the facts of the case:

Redding says she was then asked to strip down to her underwear and stood there while the nurse and secretary inspected her clothes and shoes.

"Then, you know, I thought they were going to let me put my clothes back on, but instead they asked me to pull out my bra and shake it, and the crotch on my underwear, too," Redding says.

Redding says her whole body was visible to the school administrators. She kept her head down so the nurse and the secretary couldn't see her fighting back tears.

And all this for what is basically Advil. Ugh.

This was more than a strip search. This was assault:

  1. A young girl was forced to show her private parts.
  2. The school did not search the girl's locker or desk, but they did search the girl's crotch.
  3. The harm in traumatizing a girl far outweighs the harm of a couple of students from taking ibuprofen.

When you look at these facts, you see that the school's search was not conducted in a way to find the ibuprofen (since they didn't search the girl's locker or desk), nor did they balance the harm of an invasive search against the risks of mild pain killers. Thus, it seems that the administrators were on a powertrip that ended in assaulting a girl.

I hope that the Supreme Court makes the right decision. While there is a time and place to do strip searches (eg, in jail), school officials are not trained to do so. If you think a student poses that much of a danger that an invasive search is required, then call the cops. Strip searches should never be conducted by school officials.

One Year Post-Google

Last weekend marked my one year anniversary of leaving Google. So, with that said, here's my one year re-cap!

What have I been doing?

EmptySpaceAds: I joined EmptySpaceAds as its VP of Engineering, where I helped to relaunch our product. We've created a brand new (and pretty fantastic, if you ask me) way of showing ads. Our product helps a website owner actually generate revenue from the margins of their page, while still maintaining a clean and organized page. "Use it, don't lose it", we like to say.

CareerCup: When I left Google, I knew that I needed to take some time to re-do CareerCup. The design was a mess, the code didn't scale and, frankly, there wasn't even the slight glimmer of revenue. I'm thrilled to say that that's all changed. I've got a brand new design (courtesy of someone I found via 99designs.com), I've re-written the code on Google App Engine, and it's finally generating some revenue. It's still not everything I want it to be, but it's getting better.

Seattle Anti-Freeze: Seattle Anti-Freeze is my other side venture that I don't talk about as much. In short, we organize parties and events for young professionals in Seattle. Shortly after leaving Google (and finally getting some precious free time), I wrote a new online ticketing system. It's nothing fancy or innovative, but it saves us oh-so-much time.

What have I learned?

If there's one thing I've learned in the last year, it's that you don't have to do it all yourself. Yes, I discovered the wonder of outsourcing. I hired an amazing remote assistant, who has saved me precious hours. She does document editing, graphic design, and a plethora of other technical tasks. Why didn't I know about this before?

Where am I going?

I alluded to this earlier, but I am indeed leaving Seattle to move back to Philadelphia. I will be attending Wharton's MBA program at the University of Pennsylvania, where I plan to focus on entrepreneurship.

In the meantime, I hope to finally get the chance to play around with some other projects. There's still a bunch to do on CareerCup, and I have some new ideas I'm playing around with. I'd like my newest project, PictureMash, to support group accounts, and I'd like to evolve Seattle Anti-Freeze's site into a general purpose ticketing / event site so that other organizations can use it.

So much to do, so little time!

PictureMash: Smart Sorting for All Your Pics

While I can't exactly call myself an avid photographer - as I have zero skill in this art form - I do have a lot of photo albums. I call it the "quantity over quality approach." Unfortunately, when I want to look up, say, pictures from my Microsoft internship in 2003, it's a mess. Picasa throws all your albums in one ginormous list, making it difficult to track down the right pictures. That's why I created PictureMash.

PictureMash lets you do the following (or go see my account for an example):

  • Group albums logically - and automatically - by time into "Smart Folders"
    For example, I created a "Smart Folder" called Microsoft Internship 2003 which contains all albums between May 2003 and August 2003. I don't have to put the albums in there manually - I just give PictureMash the date range I want, and it does its thing. And, I can even group my smart folders, allowing me to tuck away all my college pictures into one master folder.
  • Merge Picasa and Flickr albums
    If you're like, well, many people, you may have used both Picasa and Flickr albums. PictureMash puts them all into one seamless list.
  • Add tags and related links
    When I go to a party or event, I'm usually not the only one taking pictures. With PictureMash, I can add links to my friend's pictures too, right next to my album. This way, when I'm looking up pictures from Seattle Anti-Freeze's Roller Disco party, I remember to look at Ming Li's pictures too.
  • Create one feed for all your friends
    Another fun use case for PictureMash: I can create a "group" account and add my friends' pictures to this account. When I move across the country next month, I'll be able to reference this account to see what's going on with my Seattle friends.

And remember: you don't have to re-upload anything. All your pictures are still stored on Picasa or Flickr!

Go check out PictureMash and let me know what you think. It's all free and super easy to use, so enjoy!

Company Loyalty = using Microsoft search to prep for a new job

Microsoft Loyalty Scorecard:
+ 1: Using Microsoft search at work.
- 1: Using Microsoft search to prepare for your upcoming interviews... at work.

Kumo is Microsoft's new search engine that was released internally this month. No one seems to be talking about it much externally, and it doesn't show up in Google Analytics under "Search Engines". Kumo is, however, listed as a referring site for my site, CareerCup, which helps prepare for technical interviews. Almost all the Kumo users are, of course, from Redmond with a couple in Bellevue and Toyko.

Well, hey - while it's not so nice to look for a new job while at work, at least you're using Microsoft's search engine to get there. Your boss must be thrilled.

But, if you're still looking for a new job, I've got one for you.

Learning Spanish on the Kindle? Hmm...

I spent six weeks in Argentina learning Spanish, and I'd love to keep up my limited skills by reading in Spanish. But, the fact is, my vocabulary just isn't good enough, and whipping out a dictionary at every other word is too cumbersome.

With a few relatively straight-forward changes, the Kindle 2 could really help out here. Amazon (or some clever hacker) could modify the existing dictionary to do translation. When you hover the cursor next to a Spanish word, an English translation of the word would pop up.

The technology behind this doesn't seem so tricky. The Kindle 2 already has a dictionary that operates in much the same way: when I hover next to an (English) word, a definition pops up. Thus, Amazon would just need to swap out the English dictionary for an Spanish-English dictionary.

¿Qué piensas?

Amazon Kindle 2 Review (From a Kindle 1 Owner)

I said I wouldn't buy a Kindle 2, as I already own a Kindle 1, and I made it a whole five days. As one friend said, I'd make an awful POW. Fair point. However (this is where I try to justify my choice), my Kindle is probably my most used device, so upgrading isn't so silly.

I love my Kindle 1. I carry it with me in my purse at all times (ah, the benefits of being a woman). I read so much more since I got it. There were the obvious benefits of owning a Kindle (being able to carry multiple books at once), and then the less obvious benefits (being able to read one handed, easily purchasing books while on vacation, not having to buy books at airports).

I must admit though - in the first few hours owning the Kindle 2, it's a serious step up.

Keyboard

The once horrible keyboard is now merely mediocre. The Kindle 1's keys were quite stiff, whereas the Kindle 2's keys have a similar resistance as a mac keyboard. The keys are still awkwardly far apart, unfortunately.

And, now that the screen is faster, the keyboard now feels much faster as well.

Cover

I'm not sure why Amazon didn't put more thought into the Kindle 1 cover, but they seem to have corrected the cover for the Kindle 2. The previous bulky case has been replaced with a trim, firm cover. The Kindle 1 would often slip from it's very lose case - the Kindle 2 locks in place almost like a seatbelt clasp. Snug and slim - perfect.

Underlining and Highlighting

What was once a cumbersome process of fiddling with slow menus is now an intuitive selection process. Want to add a highlight? Move the cursor. Click. Move. Click again. Want to add a note? Just start typing.

Fewer Accidental Clicks

The "Next Page" button has been re-oriented so that you're less likely to accidentally hit it. Frankly, I didn't really have this problem after the first few days of owning the Kindle 1. However, it was a little annoying that every time you showed someone else the Kindle 1 they would turn your page. This has been fixed. This bigger benefit, to me, is that I probably don't need to put on the screen lock any more as things in my purse are less likely to turn the page.

Archived Items

The Archived Items (eg, old books stored on Amazon's servers) are now much easier to retrieve. The previous "Content Manager", which included all current and previous books, has been replaced with Archived Items - a simple listing of all your old books. By trimming it down to only what's _not_ on your device, it's much easier to find what you were looking for.

Look and Feel

The sharp edges (a significant issue when you're reading for long periods of time) have been replaced by rounded edges. The cheap plastic feel that reminded me of the old NES or a children's toy is now something that could have _almost_ been designed by Apple.

Overall, it's not perfect, but it's a big step up from what was already a great device.

Job Opening: Software Engineer / VP of Engineering at EmptySpaceAds

After I left Google and got the travel bug out of my system, I joined a tiny funded start-up called EmptySpaceAds. What excited me about EmptySpaceAds was more than just the product (although that was pretty neat) - it was the opportunity. With just one employee, EmptySpaceAds was small enough that I would lead the engineering effort. But, at the same time, it was funded. Funding = credibility + a great network of advisors. Our investors are actively involved - in all the right ways. How many other teeny tiny start-ups can say that they have funding? Not many! ;-)

Now, six months later, it looks like I may need to relocate and thus EmptySpaceAds must hire a replacement.

Know a rockstar developer - who wants to lead a start-up? Read on for the job posting!

Software Engineer / VP of Engineering at EmptySpaceAds

With over 40% of the space on web page consisting of "empty space" (margins, etc), empty space is the remaining element of the web to be monetized. EmptySpaceAds is turning previously wasted empty space into a growing revenue stream for our web publishers. Publishers no longer have to decide whether to use the margins for ads or for the aesthetic
value of empty space - they can do both!

EmptySpaceAds is a small but well-funded startup. We are funded by Second Ave Partners.

Our Product

EmptySpaceAds allows a website owner to utilize the page margins for both "empty space" (eg, pages look better with a bit of emptiness), and for ads.

How does that work?

Our ads only show up when a visitor's mouse hovers over the margins of a page. This means that when you visit a web page, it'll look just as "pretty" as it did before. But, when your mouse hovers over the margins, an ad will (gracefully) fade in behind the margin.

And, here's the best part: because the ads are reacting to the user's mouse rather than being always-present, users don't experience "banner blindness." Publishers will see high click-through rates.

Who We're Looking For

We're looking for someone who is more than an engineer. Someone who can jump in and make decisions. Someone who can prioritize and schedule our product releases. Someone who can lead the engineering effort. Someone who can drive our product's success.

As employee #2, you will be instrumental to the company's success!

Here's why you should join us:

  • You will have incredible impact in our company as our first Software Engineer
  • You will lead our engineering effort... future developers we hire will report to you
  • Learn what it takes to run a startup. Interact with the founder daily and attend meeting with the company's investors.
  • You will reboot your career. You'll learn more, fail more, succeed more, and take away more than you ever would at the equivalent Big Company experience.

Hard Requirements:

  • B.S. Computer Science or equivalent experience
  • Minimum two years of professional experience
  • Possess initiative, leadership abilities, and the ability to make difficult engineering decisions
  • Location: Seattle, WA (Pioneer Square)
  • Full Time Only

How To Apply

Please email jobs@emptyspaceads.com with the following information:

  • Resume / CV
  • [OPTIONAL] Pointers to software you've written. Examples: open source contributions, examples of source code you've written, examples of live production software you wrote or were a contributor to
  • [OPTIONAL] Links to places you discuss software. Examples: your blog, your website, etc

TechCrunch: "Why Google Employees Quit"

Last week, TechCrunch re-posted snippets from an email list for former googlers. This article was set up to make an obvious conclusion: Google is not the fairy tale land of employment. Wait, wait, you mean not everyone loves their job at Google? Shocking! A logical person might point out that what one person loves another person hates and thus, it is physically impossible to have a large company where everyone loves their job.

That being said, allow me to make a few points: 1) Former Googlers are not representative of Googlers. Imagine if you set up a group for ex-New Yorkers, and then asked why they left New York. You'll probably get an usual number of negative complaints. That doesn't mean that most people hate New York.

Likewise, TechCrunch didn't ask Googlers whether or not they liked their jobs - they took a thread from a list of former googlers. That is, people who didn't love Google enough to stay, for whatever reason. So, you're already starting with a list of people whose feelings towards the company skew usually negative.

2) The Email Thread is not representative of Former Googlers People love complaining, particularly those who feel that they have been wronged in some way. If you start an email thread with the question "Why'd you leave Google," you're opening the floodgates for those who hated Google. People like me, who genuinely enjoyed their experience at Google, will stay silent. People like complaining more than praising.

3) TechCrunch was unethical in releasing the (first) names of the posters. Though TechCrunch hid the last names of the posters, they released the first names. If your name is Bob or Mike, your secret might be safe. But, what if your name is "Gayle", or one of the many ethnic or unusual names? Then they might as well have released your full name. Releasing people's names added nothing to the article, but embarrassed - or potentially hurt the careers of - the posters.

4) Almost everyone at Google does like their job. When I left Google, people were surprised. Everyone (or virtually everyone) likes it there. No one came to me and said "yeah, I want to leave too. I hate it here!" I did have several people admit to me that they were thinking about leaving as well. But, in every one of those cases, they said that they liked it, but wanted to go to a smaller company or to a different role.

5) Why I liked Google (and why I left) I had a great team. I liked our project. I liked my manager. I was working on cool, interesting stuff.

Google is, in my opinion, the best place to be an engineer. Engineers are given more authority than I've seen at any other company. If you want to work on something new, there's lots of other projects that you can easily switch to. You can work on your own personal pet project 20% of time. How many other companies let you do that?

For my 20% project, I got to teach two courses at University of Washington. It was an enormous time investment, but I loved teaching. I've kept in touch with many of my former students, and it's amazing to see them to become fantastic engineers at Google, Microsoft and Amazon. I really appreciate both Google and UW giving me that opportunity.

Despite Google being a great place to be engineer, I realized that I didn't want to be an engineer anymore. Ironically, the fact that I was so happy with everything about my job at Google made it the decision easier. After all, if everything was right about the job (team, manager, project) and you're still not excited, the issue is probably the job itself.

Though I liked coding and considered myself fairly good at it, I wanted learn a little more about business: sales, marketing, product design, finance, accounting, etc. Google is a great place, but it's not the place to learn those skills. I felt I could only get that education at a start-up, so I left.

"Gayle" is Not Hate Speech

I'm banned for hate speech on WyldRyde. Yup. My name, you see, has the word "gay" in it, and thus "gayle" is hate speech.

This happens fairly often as it turns out. I've hit this issue on AOL, Microsoft's theSpoke.com, planes with games on their lcd screens, etc.

I have to wonder though. Suppose my last name were "Straighth", would I be banned as often? Why is "gay" considered hate speech?

(PS: I would check if WyldRyde banned "Straighth", but it's banned my computer completely. Anyone want to check any find out?)

How Not To Do Customer Support

I recently sent in a support ticket to evite about a pretty huge issue with their site. I can't say what it is - yet - but it's not a little bug. It's a huge, massive, gaping issue.

Anyway, I get the usual "thank you for your email" auto-response. Then, two hours later, I get this:

Thank you for your patience. The issues you have experienced have been corrected, and you may now create, edit, and manage your invitation as desired. If you experience any further difficulties, you may alleviate this by deleting the cookies and clearing your browser’s cache, as they may still contain the error page information. We regret any inconvenience this may have caused you. If we can further assist you, please contact us.

Uhh, no, it hasn't been fixed. In fact, judging from the non-sensicalness of the response, they didn't even read my email. What this means is:

  1. They have an auto-response, on a time delay, saying that they've fixed the issue when they haven't done squat.
  2. Some minion clicks a button to say that they're fixed issues when they haven't done squat.

Either way, they're just blindly telling their users that they're fixed issues that they haven't even looked into. Sweet.

Funnily enough, this response probably actually works a good percentage of the time out of the pure flakiness of their site.

By contrast, I've had pretty good experience with customer support at other companies:

  1. Facebook: Once Seattle Anti-Freeze exceeded about 1500 members, we could no longer send messages to the group or invite the group to an event. Facebook employees Luke Shepard and Paul McDonald got those limits raised. Thanks guys!!
  2. Pingg: I've written in feature / bug requests. Their support team has promptly responded with well thought out responses.
  3. MyPunchBowl: After I posted about MyPunchBowl, the founder emailed me - within hours.
  4. Zoji.com: I have exchanged numerous emails with the founders.

The lesson is: Don't automatically respond to users saying that their issue has been fixed.

Google App Engine - Caching and Downtimes (Rant)

Google App Engine:

"We will be taking memcache offline tomorrow morning from 9-10am PST (GMT-8) for routine maintenance. Calls to the memcache API will *not* throw exceptions but will instead return false for set() calls and None for get() calls (just like any other cache miss.) Your app should continue serving normally during this period, and
we'll keep you updated on our progress."

Google writes this as though it's "no biggie - we're just disabling caching for an hour - your app will operate as normal".

If you've used App Engine, you know how ridiculous that is. You can't operate an App Engine site without lots and lots of caching.

App Engine takes your generous daily quota and divides it up into tiny little minute or second long quotas. Their logic is something like this:

  1. You can eat 2000 calories in one day.
    Hurray! That's a lot of food!
  2. It's good to pace yourself and not eat it all at once.
    Absolutely. You wouldn't want to pig out on breakfast and not be able to eat anything else all day.
  3. Therefore, we will only let you eat 1.4 calories per minute.
    Well, f*ck. Pass me two thirds of a tic tac?

CareerCup gets about 10,000 page views per day - not the smallest site, but hardly the biggest. CareerCup cannot operate without heavy caching. By taking down caching, they took down my site for an hour. Not cool.

Now, Google could have mitigated this by removing the absurdly small quotas temporarily. CareerCup would have run slowly, but at least it would have run. Instead, though, users get punished for expensive-ish queries, with no chance to avoid it. Not cool.

This brings me to my next point:
Google, if you're going to take down people's sites, can you pick a better time than 9am - 10am? Try, perhaps, 2am - 3am? I know you don't want to come into work at 2am. I know it's not really Google culture to tell a team that they have to be at work and away from their families 2am. But you have to. You have real users operating real businesses, many of which are a whole lot bigger than CareerCup. We depend on you to keep our websites up.

Google: Don't act like taking down memcache doesn't disable our sites. And don't disable our sites at 9am when you could've done this 2am.

Talkinator & The Value of Feedback

I've been using Talkinator, an embeddable chat program for websites, for a few months now.

I realize I might be the only post-1995 site to want a chatroom, but it's actually rather useful. For example, when people are discussing, say, Microsoft Interview Questions, they'll jump in the chatroom to discuss problems. This use was expected.

The more interesting use-case was simply feedback. People hesitate feedback via email, or even through anonymous forms. They will, however, jump in a chatroom and complain. I've discovered a number of bugs this way.

Nifty.

A Googly Peek into Racism

Racism is rampant. Maybe this election has made people less racist, maybe it hasn't. At the very least, I hope that it has made people realize that, yes, racism is still very much alive. As a quick illustration, check out the top 10 Google search suggestions for Obama: 30% are race-related issues: "birth certificate", "muslim" and "antichrist".

The most frustrating part is that people don't even see the racism and sexism. A Google coworker who had a "Hillary Nutcracker" displayed in his office window - he probably didn't think about how that's dripping with sexism. Nor did the Republican friend who asked online for one good thing that "Barack HUSSEIN Obama" has ever done. Nor does the other friend who asserts that Colin Powell only endorsed Barack Obama because he's black.

We don't see these things because we see them all too often. We've become immune to it. It's time that we wake up and call these things out for the racist, sexist acts that they are.

Top 10 Best Microsoft Interview Questions

-----

As the founder of CareerCup, the web's largest source for technical interview questions, I have over 500 Microsoft Interview Questions at my disposal, with more added every day. Everyday people ask me what they should study before their Microsoft interview.

So, without further ado, I present the the Top 10 Best Microsoft Interview Questions:

Microsoft Interview Question #10 Given two nodes in a binary tree, find the first common parent node. You are not allowed to store any nodes in a data structure.

Microsoft Interview Question #9 Simulate a 7 sided die using a 5 sided die.

Microsoft Interview Question #8 How long would it take to sort 1 billion numbers?

Microsoft Interview Question #7 Given two sets of objects, S1 and S2, write an algorithm to determine their subset relationship. Eg, which of the following is true: C1 is a subset of C2, C2 is a subset of C1, C1 equals C2, or none of these?

Microsoft Interview Question #6 Given a value in a binary search tree, print all the paths (starting from the root or any other node) which sum up to that value.

Microsoft Interview Question #5 Imagine there is a square matrix with n x n cells. Each cell is either filled with a black pixel or a white pixel. Design an algorithm to find the maximum subsquare such that all four borders are filled with black pixels.

Microsoft Interview Question #4 How would you divide an integer array into 2 sub-arrays such that their averages were equal?

Microsoft Interview Question #3 Given two binary trees T1 and T2 which store character data, write an algorithm to decide whether T2 is a subtree of T1. T1 has millions of nodes and T2 has hundreds of nodes, and each may have duplicates.

Microsoft Interview Question #2 Implement boggle: Given an NxN matrix, print a list of all words that appear in the matrix. To find a word, you can move left, right, up or down, as long as you do not use the same letter twice. For example, if the matrix were: W A D R You could find the words: WAR, WARD, DRAW and RAW Microsoft Interview Question #1 Design a webcrawler.