Back in the High Life Again

I'm usually pretty good at foreseeing the major events in my life. And I've always looked forward to my 30th birthday as one of the biggest transitional phases and door-opening events of my life. Now I'm beginning to understand why. Almost every aspect of my life that has been giving me grief over the past year or so is suddenly coming up roses.

The biggest thing, of course, is the job. I've already told y'all about the contract job I got at Google. But what most people didn't hear (thankfully!) was ho much drama went on behind the scenes as I tried to keep the job a secret for the first few weeks. The main reason behind this was that I was secretly ashamed of the job. Don't get me wrong. Google is one hell of a cool company! And everyone I met there was great. But the job I was hired for was a low paying support job that was akin to where my career was five years ago. And the fact that this was the only job Google was willing to give me, out of the several that I was qualified for, really made it feel like I was being seriously undervalued - like the entire past five years had been a waste, and all I was really capable of was an entry level support position.

Logically, I know that's not what was going on. But subconsciously, those were the sore spots that this particular position was hitting. So it made it very difficult to really get motivated. Especially when I was sitting just a few cubes from a team full of really smart, creative UI designers who were working on a really cool project, and with whom I would have loved to work as a colleague. I just felt like Tantalus, mere inches away from what I most desired, but always just barely out of reach.

I also realized something fascinating about Google while I was there. It's not really a company. At least, not in the traditional sense. Sure, they produce products, make money off of them, and use those profits to fund additional products and keep their employees well taken care of. But they also have a culture of open communication, camaraderie, and creative experimentation that it really is more of a research lab than a company. It just happens to be a research lab that is exceptionally good at wrapping its research projects into clean, user friendly UIs (with the notable exception of Orkut) and presenting them in a scalable, profitable format. And I don't think I'm really ready to work in a research lab environment just yet. Perhaps in another few years, when I have finished my degree and gotten my Ethos project up and running smoothly. But not yet.

Anyway, that all became a moot point yesterday. Several months ago, I had applied for an XSL Developer position at eBay that my Evil twin Mike had referred me for. I only got as far as the phone screening before the position was filled by someone else. But when another similar position opened up last week, they called me back for an in-person interview. Since I was working the contract gig for Google, they split the interview into to hour and a half sessions after work on Monday and Tuesday to meet with the technical recruiter and the team members. Wednesday, they called me back in the afternoon to see if I could come in for an additional hour that night to meet with the team managers. Thursday they called to let me know that they were doing reference checks but expected to be getting an offer letter to me within the next few days. And Tuesday afternoon they called me over to pick up and sign the offer letter.

So I got a job at eBay. And it's in my field and pays a hell of a lot more than the contract support gig did. So that kicks ass, right? Well, yeah. But that's not enough to explain why I'm bouncing off the friggin' walls with excitement right now! The simple fact of the matter is that this particular job, and the way in which it was given to me, has counteracted almost every career related anxiety that I've built up over the last five years, and then some.

One of the first things the technical recruiter told me, after looking at my salary history, was that it looked like it was going in the wrong direction. Which was definitely true! When I was at WebTV, they kept me at my original tech support salary a year and a half after I had been doing web development, so I was getting screwed (as were most of the people who were still contractors when the Evil Empire bought the company). So it was not surprising that my salary more than doubled when I moved to OpenGrid. But it went down considerably when I moved to Informative, because their HR department realized I was unemployed and desperate, and low-balled me on my salary. And, of course, I was desperate enough to take a support job after my most recent stint on unemployment, so my salary went way down that time.

I've never been good at negotiating salaries. I'm just not in this career for the money. I'm in it to make a difference, working on projects that will use the web to improve people's lives. So I'm far too passionate to be able to turn down the opportunity to work on an interesting project, and far too humble to play hard ball with HR departments. So when eBay came back with an offer that was not only going back in the right direction, but actually topping my highest salary yet, I was shocked.

This guy knew how desperate I was, and how much I wanted to work on the project to begin with, and he didn't try to low ball me. He even managed to get me a salary that is slightly higher than what my humble opinion thinks I'm worth. Which means that I'll be subconsciously working that much harder to prove that they made the right decision, and if I perform to *my* expectations rather than theirs, I'm sure to continue to impress them and be rewarded accordingly. Which is, of course, great from a financial perspective. But it's even better from a self esteem perspective. eBay, one of the most respected companies in the industry, has an incredible amount of faith in me and in my ability to deliver. And they're willing to invest in me for the long haul instead of just work me hard and fast until I burn out, like OpenGrid and Informative did. Which means that they have earned my loyalty. And as anyone who worked with me at WebTV will tell you, that can be more valuable than gold if it's applied properly.

Also, the project itself is ideal. I'll be working as a front end XSL developer for their Catalogs and Attributes group. That's the group that maintains both the category hierarchy and the attributes on static items (like books, CDs, movies, etc). Which means that I'll most likely be playing a sizable role in the transition of half.com (which is all attribute items) into the main eBay site. And as anyone who knows me well is likely to find out, I'm an absolute fiend when it comes to half.com, and am terrified of what would be lost if the transition is done poorly. So now that I'll be involved in the process, I can do everything in my power to insure that the things I'm terrified of do not happen, and that all of the most important features remain intact (if not improved upon) after the transition.

And it also means that no matter how long the hours get or how stressful any particular project gets, I'll still be working on something that is vitally tied to my driving passion for helping individuals and small businesses harness the power of the web to help their businesses succeed. That reserve of passion is not likely to run out any time soon. And even if it starts to run low, a weekend trip to a flea market or a visit to a local comic book store or any sort of Mom & Pop shop is usually all it takes to get me re-energized on the concept again, since I can see first hand how these businesses can better compete with the multi-national conglomerates using the tools that I'm helping to provide.

Yup. It looks like I've finally found my niche. I'm fairly confident that eBay is going to break my two year limit on working for the same company, and possibly even turn into a company to eventually retire from. The only thing I can possibly see interfering with my eBay career would be going back to school (which I'll probably try to do in the evenings while working here, instead of full time), or if I do eventually decide to start my own business around Ethos. But even then, I don't really see that happening in the next five years. And if it did, there's a possibility that I could still do it as just a side gig while continuing to work at eBay as my main gig. We'll have to wait and see about that.

And now that I'm financially solid again, I can finally afford to move out and get my own place. I've done some preliminary apartment hunting in Campbell, and found that there are a ton of really nice apartments within a mile of the eBay campus. The average price for a one bedroom place is $900, and the average price for a two bedroom is $1100. So I'll most likely be getting myself a two bedroom place and either using the second bedroom as an office, getting a roommate only if I find someone I'd really be a good match with, or possibly having the option of shacking up with someone, if that situation were to present itself (remember, I'm planning on staying in this apartment for as long as the eBay job lasts, so I'm looking at this as a possibility within the next five years, not in the next few months - I'm not that crazy!). One place in particular is surrounded by trees, is exactly a mile away (close enough to ride my bike to work, but far enough that it's actually a decent workout), right across the street from a grocery store, has tons of street parking (in case I start up the weekly TV night again!), and the available apartment is right above the pool, which would be great in the summers.

So my professional life is going great, my money problems are much less immediate (I'm even considering splurging for a lawyer for this whole legal battle thing), and my housing situation is about to improve immensely. Plus, by riding my bike to work every day and hopefully going dancing more often, I'll finally be able to get back in shape again, which in itself would make me happier in a pretty crucial way. And if I get a temporary roommate for a few months (which is a possibility) and can convince her to cook once in a while if I foot the grocery bill, I could even match that with a slight improvement in my diet. Heaven forbid!

My love life is still a bit of a question mark. But that question mark is a hell of a lot better than the definite null that it usually is, so even there I'm doing pretty damn well. Especially since I'm so distracted by everything else that I really don't care about the love life thing very much right now. Which is always the best frame of mind to be in where such things are concerned.

Innumerable times, over the past few years, I've bitched about my luck and wondered when I was going to be able to cash in all those karma points I've been saving over the years. Well, I don't want to get to cocky (since the gods have a way of smiting us when they see us getting too uppity), but it looks like that time is finally here.

Bring it on! :)


[PS: If you see a job listing on eBay's site that you think you'd be a good match for you, send me your resume. The more referral bonuses I get, the faster my unemployment debt will disappear. hehe]

Waiting for the fever to break

This week's Rob Brezsny horoscope for Aries:

For too long, grace has eluded you; you have had to fight your way through life. But now your luck is about to turn; your soul will get the refreshment it needs. To celebrate, imagine you're the one speaking in this poem by Theodore Roethke:

"Near the rose, in this grove of sun-parched, wind-warped madrones
Among the half-dead trees, I came upon the true ease of myself,
As if another person appeared out of the depths of my being,
And I stood outside myself,
Beyond becoming and perishing.
A something wholly other,
As if I swayed out on the wildest wave alive,
And yet was still.
And I rejoiced in being what I was."

I have been craving just such a rebirth lately. As every single aspect of my life has been coming undone at the seams and crashing down around me, I have been striving to figure out what I have left to work with. I have been looking at the old patterns of who I am, what I want out of life, and what I am willing to give in exchange, and realizing how little any of that really means to me anymore. But even as the old picture disintegrates, I have not yet found my inspiration for what to paint over it.

The story so far...

I have the coolest friends

Sometimes I'm just amazed at the incredible things my friends are able to accomplish. This week, I'm particularly proud of my friend Alison Gianotto (also known as Snipe).

Alison is one of my "imaginary friends," in that I have never actually met her in person. We met online several years ago when I sent her an email asking about something or other that she had posted on her site, and we ended up geeking out about PHP and becoming friends. We often answer each other's questions when we get stuck on a bit of troublesome code, or need our latest masterpiece ripped to shreds by a second set of critical eyes.

One of the projects she started working on a few years ago, shortly after her cat was burnt alive by a neighborhood psycho, was an online database for pet abuse cases, called pet-abuse.com. When she started it, I thought it was a great idea, and a fantastic way of turning her grief into something useful. But I never thought it would be as successful as it has been.

Last week, her site was featured in a Sun-Sentinel article on the link between animal cruelty and later violence against humans (her bit is at the bottom), and later today she's going to be interviewed by Animal Radio (not sure when that will air).

What started out as a small local project has grown into an incredible prevention and educational resource that helps communities all over the country (and even internationally) to prevent similar cases, and bring the abusers to justice.

Keep kicking ass, Ms. Snipe!

BrickLink Order #219423

I'm such a dork!

As yet another step in my ongoing quest to sell everything I own, today I finally set up a store on BrickLink.com. It's a site that is every Lego geek's dream. I has a complete catalog of every Lego set ever made, and lets collectors buy both complete sets and individual bricks from one another. And they also let you post your entire inventory for free, and only charge you a cut when it sells, much like half.com (which we already know I love).

So I posted about half my collection to my new store, and then ran out the door in time to get lost, bitch about the lack of parking in North Beach, and make it to Dougie's bday bash (whomever thought of combining an Irish pub, an Indian restaurant, and a billiards hall with air hockey tables is a god!). I was supposed to head over to Ragani's afterwards, but decided that it was already way too late and I wanted to get up in the morning for this town hall meeting with the mayor thing.

Anyway, I got home tonight and there was an email waiting for me. Some guy in Oregon bought 8 sets from me, for $79. WooHOO!! [big, shit-eating grin] The thing is, I shouldn't be as happy about that as I am. I mean, I've been selling things on eBay, Half.com and CraigsList for ages. I've shipped things all over the US, to the UK, Germany, Australia, and even Hong Kong. Hell, even last week someone from CraigsList came over and gave me $100 cash for a bunch of Lego sets. So why am I suddenly grinning ear to ear over a transaction that isn't even a third of what the Lego Star Destroyer went for? I have two theories.

The first is that this is the first sale I've made from an actual online store. If I ever manage to get my business up and running, I'll be banking my entire career on turning the web into a tool that small businesses can use to carve out a living, not just another platform for multi-national conglomerates to hawk their wares to the world. Sites like this, that take a really simple idea and execute it elegantly just make me smile. This little "you've made a sale" email is kind of the equivalent of the first dollar a small family owned business makes, which they then frame and hang behind the cash register (or, in this case, preserve forever in the form of babbling blog entry).

Second, it means that I'm making progress. Sure, $80 comes nowhere near what I need to make off of selling my belongings, if I want to be able to stay in California after my unemployment runs out. (And that's not even counting the money the lawsuit is going to sponge up.) But it's not just about the money. I'm making progress on my promise to give up procrastination for lent. I'm getting something done that I've been meaning to do for weeks now. And it feels good!

Or maybe I'm just still on a high from all of the Guinness and curry. Who knows.

MER and Dad

MER and DadThis is my dad, standing next to the engineering model of the MER Rover, which is currently crawling its way across Mars (the rover is, not the model). He's part of the program that got the rover working and up to Mars.

This is also the first time he's ever sent me pictures of himself at work. So consider this the modern equivalent of pinning something to the refrigerator. I'm so proud! :)

Back in the Saddle

For the past few months, I've been toying with the idea of writing a full usability review for tribe.net. My motivation was partly to let them know what I thought they needed to fix, and how. And it was also partly so that I could use this usability review as a resume piece (not only for applying at Tribe, but other companies as well).

I was composing a general outline in my head, and keeping a running tally on the various improvements that needed to be made, and how to best apply them. But nothing was committed to writing yet.

Then Tribe put a link of their sidebar trying to get people to check out their own home page redesign prototype. They also had a survey and a "talk about the preview" tribe set up to capture users' impressions of the proposed change. I was somewhat relieved to see that I was not the only one who thought the new design sucked arse. It didn't fix any of the problems I had identified, and it broke a lot of the things that were good about the old design.

My negative reaction to seeing this prototype was enough to motivate me to site down and finally commit to writing the usability review that I had been composing in my head all this time. And, since it's often much easier to understand something when you see it instead of just reading about it, the usability review would need to be accompanied by a demo of how the site would look and work if my suggestions were implemented.

So I blew off the plans I had for the weekend, worked a few all-nighters, realized that the code behind their redesign had changed as well (also for the worse), and rebuilt their entire home page and the structural logic behind it from scratch. Finally, three days and far too few hours of sleep later, the home page is finished.

Of course, I still have to redesign all of the internal pages and finish writing the usability review itself. And I may also need to write a style guide for my demo version, so that if they do decide to implement it they don't have to reverse-engineer what I have done.

But while I'm working on that part of the project, I thought I'd post a screenshot of what I've got so far, so y'all can get a sneak peek at what I'm up to.

I'm terribly tempted to also submit this screenshot and a few of my reasons behind it to the preview tribe now, while everyone is still talking about it. But ultimately, I think it will be better to wait until the rest of the demo is functional as well, and it has the full weight of the usability review behind it. That way it comes across as a well thought out approach to the problem, instead of a "me too, me too" kind of thing.

Regardless, though, it feels great to finally be working on a real project again! I can feel long-neglected synapses sputtering and firing back into action again every time I get a tricky bit of code working. With any luck, finishing this review will give me the renewed self-confidence needed to get cracking on my Ethos project.

click for a full-sized version

Social implications of filtering mechanisms

In response to my "Wearing my heart on my blog" post, marmelade27 wrote the following comment:

"You can use filters to make posts visible to only certain people or
you can make them completely private and not visible to anyone...
so make some custom filters and post away..."

I wrote out a nice, lengthy response to the comment, but LiveJournal apparently thinks I talk to much and wouldn't let me post it (it was over their allowed number of characters for a comment). So instead, here is my response as its own posting:


Ignoring, for the moment, how unintuitive the admin UI of LJ is, and therefore how much of a pain it would be to try and figure out how to use their filters, that still wouldn't really solve the fundamental problem.

You see, I don't really care if random strangers read my posts about who I'm pining over. And I don't really care if most of my friends read them, either. It's just when the people involved read them that it could get awkward.

And yes, I could put a filter dis-allowing just those people, assuming that I know their LJ username. But I'm assuming that the list of dis-allowed people is not shown on the blog. So if I write a post and disallow just the involved individuals, our mutual friends will see it and not know that the person involved is not seeing it. So the chances are fairly high that they'll ask the person "so what did you think about that post, eh?"

Ultimately, I guess it's analogous to talking about someone while they're in the room. Adding filters to dis-allow one person would be the equivalent of kicking that person out of the room before speaking, or otherwise distracting them. Everyone who does hear the comment doesn't necessarily know that the person is no longer in the room. And since the comment was made to the whole room, it's commonly assumed that what is being said is now common knowledge. This is why filtering by exclusion doesn't work very well. Or, at best, requires much more complex filters to work sufficiently.

This is why, in the blogging software I'm theoretically writing, filters are based on inclusion instead of (or in addition to) exclusion. Basically, there are three default permissions levels you can assign to a post:

  1. Public - Anyone can see it.
  2. Private - Only users who have logged in to your website can see it.
  3. Secret - No one sees it but you.

Public and Secret are all-or-nothing settings that cover 95% of the use cases. For Private, you've already done some inherent filtering by deciding who does and does not get an account on the site (equivalent of a friends list). In addition to that, you can create various user groups, and add those user groups to either a "show only to" or "do not show to" list (with do not show taking precedence, if the same person is on both lists). And when you make the post, both lists will be shown on the posting, similar to the "to" field in an email.

That way, if you create a usergroup called "confidential bitch session" and add just a few of your closest friends to it, they can see that the post is only being sent to a few people, and know not to spread the word to people who are not on that list. To return to our previous analogy, this would be the equivalent of grabbing a few people in the room and dragging them outside, to tell them something in private. They know that they're the only ones being told, so they know the information is private.

I believe that filtering based on inclusion instead of exclusion is much more similar to how people have already been conditioned to behaving with emails (as well as actual social interaction). If the email is to a widely distributed list, then the content is fair game. If there are only a few people in the "to" field, then you know it's not public info. So using a similar metaphor in your blogging filters would be the best way to insure that private info is kept private, and no one accidentally lets the cat out of the bag.

Furthermore, filtering by exclusion leads to far too much drama. If, for example, you were to specifically exclude someone from a party invitation, that person would likely be incredibly offended if they found out (and Murphy's Law tells us they *would* find out). It's a very passive-aggressive way of avoiding someone without being honest about it, and I don't like it when technology urges us to continue our societal bad habits.

In fact, the only reason that I would still allow filtering by exclusion is for the use cases where you want to exclude one person, and at the same time let everyone else know that you are excluding them. The obvious example would be when sending out an invitation to a surprise party. You could send it out to the "everybody" user group, but put "Joe Schmoe" in the exclude list, so that everyone except Joe gets the message. And right under the "to" field would be an "exclude" (or whatever - it would need a better name) field, which shows the list of excluded users to everyone who's reading the post. That way everyone knows that they're not supposed to mention the party info to Joe.

Wow. Was that a tangent, or what?

Anyway, since I'm pretty much stuck with LJ until I get off my arse and finish my own software, the conundrum remains. And even if I do finish my software, it'll be good for me to know the kind of problems that others are also having with the existing tools, so I can fix those problems to the best of my ability in my own tool. So getting to the root of the "what you say to whom" question is still going to persist, regardless of what technological toys we have to play with.

Don't you just love it when advances in technology make you go back and re-examine fundamental questions of social interaction? No? Maybe it's just me...