zorkian: Icon full of binary ones and zeros in no pattern. (Default)
Here's a photo, presented without previous commentary:


Now, commentary. This was taken a week or so ago, when the two guys in the picture were called away from a social event to help deal with a problem that was causing downtime for the site that I work for (StumbleUpon).

I love the photo. Posting it also gives me an excuse to call out two really smart guys that I work with a lot. Berk on the left and Benoit on the right. They're really awesome guys and part of the reason I really like working at StumbleUpon.

This photo made me think some about the tech industry. Part of me thinks that it's really neat that I'm in an industry where I can literally work from anywhere that has an Internet connection. 99.5% of what I do can be done from a beach in the Caribbean, if I wanted. That's pretty awesome.

Of course, then another part of me realizes what that leads to. I was up at 3:30 AM last night getting a database maintenance done, and then back up at 10:30 AM doing the second leg of that. I'm now watching my databases slowly replicate back up to speed and, in some number of hours, I'm going to have to slowly start warming them up before I can return them to production.

If I had the kind of job where I had to be in the office to do it, then my weekend would be free and clear and I wouldn't feel like I have something hanging over me to get done. There would be no nagging at the back of my head about projects that aren't finished, priorities that need sorting, or all of the miscellaneous other things that occupy my neurons when I'm conscious.

I can see why people go into other industries to get out of tech... this gets to be draining after a while.

Ok. Time to go focus on something else.
zorkian: Icon full of binary ones and zeros in no pattern. (Default)
[personal profile] peoppenheimer tagged me for Three Weeks for Dreamwidth, asking how Denise and I got started working together. Oh man, this is going way back...

It first started on LiveJournal, in the volunteer support group. LJ (and DW) have a team of volunteers that get together and answer user questions in the support categories. Back in 2001, I decided to start helping out. That was about the time Denise did too -- although I'm proud to say I got my journal first (by a month) and I got into support before she did (heh).

We eventually crossed paths there first, probably in the IRC channel. She was a volunteer, I was a volunteer, and we were both helping LJ, yay! Truth be told, though, she was doing a lot more support volunteering than I (to this day, she is still #1 on the "high scores" list on LJ, while I am at #270). I ended up going into the development end of things, volunteering to help build up the server side of LJ.

(Actually, I took a detour to do client development since at that point I was good with Windows GUI stuff, but I didn't know anything about Perl etc. I started learning, though!)

Time started going by, eventually Denise worked her way up to being a senior member of the support team. Stuff happened, and she ended up working for LJ. (I believe that was Jesse's doing -- he told Brad "if you don't hire her and she has to quit volunteering for us, we're gonna be in bad shape".) I was actually pretty jealous that Denise got a job with LJ, something I had been wanting to do for a while.

That part of history is a little fuzzy when I look back on it now (I should reread my entries one day), but at some point [livejournal.com profile] crschmidt and I started Plogs.net. It was going to be a professional fork of LJ, taking it from being a social site and bringing it to businesses, universities, professional organizations. I still think it could have taken off -- at that time (2002-2003) it was before Six Apart even had venture capital! Anyway, that didn't end up going anywhere amazing -- mostly due to me getting sidetracked (college, friends, life) and not knowing enough (here we are, nearly a decade later).

Denise and I were still in the embryonic stages of our relationship at this point. We worked together on things from time to time, but she was busy working on LJ, running lots of things, and I was just a volunteer developer (sometimes). I didn't do it all the time, it really depended on how busy I was... but I was pretty busy at that time. Eventually, though, in late 2003, LiveJournal was hiring and I emailed Brad...

...and he said yes! I was surprised, awed, whatever. It was going to be a 6-month co-op program, where I would come out to Portland, work on LJ, and see how things went. I was still technically enrolled in college at the time, just away. It gave me a chance to demonstrate what I could do, though, and eventually Brad agreed to take me on as an employee with an actual salary and stuff. I was pretty excited.

But that's getting ahead of the story! When I became an LJ employee, I started doing a lot of interfacing with the support team and trying to fix bugs that were bothering users. Most of the existing LJ development staff at that time didn't have a lot to do with the volunteers and community as far as fixing bugs and things went, so it was a pretty big change to have me come in and say 'hey, support, what should I work on?'

Yeah, I spent a lot of time working on what Brad wanted me to work on, and then some time on whatever I wanted, but I also tried to make sure to work on things that were of high value to the rest of the volunteers. This meant I started working with Denise a lot, as she was running support and abuse at that time. She and I ended up talking a lot -- mostly work related, but more and more as friends.

When she came out to Oregon to visit the office for a week or two, Michael ([livejournal.com profile] deveiant, another LJ developer that I lived with at the time) and I offered our apartment for her to stay at. So she did! I think that was the first time I ever actually spent time talking to her and getting to know her, and I remember sitting out at the table in the kitchen talking for hours, or going out while she smoked. It was interesting for me, because I was so much from the conservative background, and trying to figure out this strange woman who had such funny ideas about things! ;)

That was also the year we went to North Carolina for AbuseFest (the yearly meetup of LJ volunteers, basically), where I got to know more of the people who I had been working with a lot online and got to see Denise in something closer to her natural habitat. The way she seemed to effortlessly just talk to people and how everybody would always listen to her, form circles around her... I envied that, being the introvert I am. (Grass is always greener, I'm sure.)

Denise and I kept working together a lot, though. I think a combination of me being probably the developer most vested in the volunteer community (having been one myself for years) and also naturally enjoying working with them as they were always so awesomely grateful whenever they got something... it was very Pavlovian. I'd implement something they asked for, they'd bake cookies and mail them to the office, or tell me how much they appreciated it. (A lot of the ideas for Dreamwidth's culture came out of the LJ volunteer culture, and much of that culture was built by or maintained by Denise.)

It is funny to look back now and realize that Denise and I had talked a few times (jokingly) that we should offer to take over the management of LJ and leave the coding to Brad. We never went anywhere with it, and at the time I didn't have nearly the skills or experience to have pulled it off successfully. (But now here we are...)

Eventually Six Apart happened, and I won't write about that much. Just enough to say that Denise and I talked a lot. I spent more time talking to her about things than anyone, I think, because while we may come from different walks of life and have different opinions on nearly everything, I think that the way we think is a lot alike. There's a lot of kinship there, in the way she thinks (not what she thinks, exactly, but the way she does it). I'm probably not explaining it very well...

We didn't talk much during the intervening time when I left Six Apart and was living in Iceland working for CCP Games, so nothing to say about that.

But then when I was at Mozilla ... sometime in early 2008 ... and she had The Idea That Changed My World ... that's when Dreamwidth started, and things picked up quite naturally where they had left off.

Is our relationship perfect? No way, there are things she does, there are things I do, and we have to deal with them. I'm typically way too abrupt in the way I communicate with her, and this frustrates her a lot. She's way too verbose for me, and I then end up skimming, and realize only later I missed an important detail and oops, I botched that up! But we manage to work through this, and there's only been a minimum of bloodshed... ;)

But seriously, Denise is one of the people I've known the longest in my life and still talk to, and if I were to sit down and think about it... yeah, I think that aside from Janine, I've spent more time getting to know and talking with Denise than any other person out there. She's an amazingly competent, smart, and capable person. I'm glad to know her.

(I think I got off topic. Sorry!)
zorkian: Icon full of binary ones and zeros in no pattern. (Default)
There is one really important thing about me that a lot of people might not pick up on immediately, and that is hard to get a feel for unless you hang out with me in person enough to really get to know me.

I have a very strong personality. I'll start with a quote about my personality type INTJ:

To outsiders, INTJs may appear to project an aura of "definiteness", of self-confidence. This self-confidence, sometimes mistaken for simple arrogance by the less decisive, is actually of a very specific rather than a general nature; its source lies in the specialized knowledge systems that most INTJs start building at an early age. When it comes to their own areas of expertise -- and INTJs can have several -- they will be able to tell you almost immediately whether or not they can help you, and if so, how. INTJs know what they know, and perhaps still more importantly, they know what they don't know.

Further down, another telling paragraph:

While they are capable of caring deeply for others (usually a select few), and are willing to spend a great deal of time and effort on a relationship, the knowledge and self-confidence that make them so successful in other areas can suddenly abandon or mislead them in interpersonal situations.

This happens in part because many INTJs do not readily grasp the social rituals; for instance, they tend to have little patience and less understanding of such things as small talk and flirtation (which most types consider half the fun of a relationship). To complicate matters, INTJs are usually extremely private people, and can often be naturally impassive as well, which makes them easy to misread and misunderstand. Perhaps the most fundamental problem, however, is that INTJs really want people to make sense. :-)

While I personally don't necessarily believe that any particular personality test, type, or label can define anybody very well, it's a useful jumping off point for discussion. I fit the above very, very well. I expect people to make sense, be reasonable, and be intelligent. At the same time, I'm willing to spend a "great deal of time and effort on a relationship" because I recognize that what I want is not really what reality offers, and everybody is different.

How does this affect you, dear reader?

Very succintly, it means that if you ever think, for one reason or another, that I am making you feel like an idiot on purpose, or that I am being an asshole to you because it's fun, or if you feel stupid because of something I said: it's not you, it's me, and if you let me know, I will correct the situation.

I have spent many years working on my ability to swallow my pride and fucking apologize when I hurt someone. But it's damn near impossible to actually do that if I don't know there's a problem. If I hear about it from someone who read about it somewhere, then I don't really know how I can address the problem and make someone feel better because I made them feel bad. Which is never my intent.

I'm a very logical person, and I don't have very good sensors for when I say something that bothers someone. It's not because I don't care, because I emphatically do. It's just how my brain works, what things I see and don't see, and how fast I typically go. I optimize for getting technical things accomplished, which means it's difficult for me to have a quality conversation. I can't code and watch how I'm saying things at the same time, I've found.

One thing I want to state again and hope that I'm being really clear on is that I do not want anybody to ever feel bad because of something I say or do. If that happens, then I have failed, and you (or someone you delegate) is welcome, encouraged, and wanted to please please let me know so I can fix it. Really.

Thanks for reading.
zorkian: Icon full of binary ones and zeros in no pattern. (Default)
Today is one of those days where my brain can't stay on one task. I've started working on three separate bugs here at the day job, submitted three changes for review, decided after the fact I didn't like one of them and am going to redo it, and keep refreshing CNN and wishing something would happen. (Which, given what the news tends to report, would be something bad - so let me just take back that wish...)

What do they call this? Goldfish brain? Yeah, that sounds about right. Can't focus on any one thing for more than a few minutes before I go off on something else. Oh well, I suppose that's bound to happen from time to time.

Denise linked me to a really interesting article the other day, about the "manager schedule" versus the "maker schedule". I felt it was pretty accurate in how I prefer to structure my days: long blocks (~4 hours) of time to work on something, punctuated only by lunch. As soon as you toss a meeting in there, it becomes pretty difficult to focus on something hard enough to make headway.

Of course, I guess the pro/con/something of my job is that, since I'm not in strictly Software Engineering (I'm in Site Reliability Engineering), I do a certain amount of interrupt-driven tasks. So, some days, it behooves me to run a "manager's schedule" where you do something different every hour or so. If I go into the day expecting that, it's not so bad.

If I go into a day expecting to get things done, and end up having Goldfish Brain, then that's just a recipe for me posting in my journal and not actually getting anything useful done. ;-)

On the plus side, for lunch today the cafe had bacon wrapped hot dogs. Mmmmm.

Edit: Oh yeah, funny story from this morning. I'm riding my motorcycle in, and I'm waiting to turn left in the leftmost turn lane (there are two turn lanes, this is where you get off the Dumbarton [84] and go left on Willow). To my right is a black pickup truck and a tow truck immediately behind it.

I'm roughly level with the rear bumper of the pickup. We're hanging out, and the line starts to move a little in front of the pickup. Said pickup sits there, doesn't move. The tow truck starts to move forward, then stops. Forward, stops. The pickup continues to sit there as the space in front of it grows to about two car lengths. Tow truck scooooooting forward, stops. It's getting so close I'm afraid they're going to collide!

At this point, the light is still red. There's no real reason for the pickup to pull forward - the space that opened up is just temporary space, even if they pulled forward they wouldn't get anywhere interesting. But the tow truck seems mighty pissed off, and pulls forward again, it's literally two inches from the bumper of that black truck. But the person in the truck doesn't seem to care!

I'm just about to hit my horn -- surely this is insanity, and the tow truck isn't going to -- oh god, yep, it did. The tow truck scoots forward again, hits the back of the pickup, and starts pushing it. Shoving it forward.

It's about then that I realize that the side of the pickup is all dinged up, and that it was probably in an accident and has no ability to drive itself forward. In lieu of towing it, they're pushing it. Why? I don't know. But they are. I quickly get my motorcycle out of range of the hobbled pickup just in case something goes awry, shaking my head.

And then that reminded me of when I had to do that once with David (Martinek)'s car. He ran out of gas somewhere, and neither of us could afford a tow truck, so I took my car and pushed his. It went pretty well, all things considered. I think one of the bumpers ended up with a tiny crack, and in retrospect I'm glad I didn't fire off my airbag. Definitely entertaining.
zorkian: Icon full of binary ones and zeros in no pattern. (Default)
First up: Happy Mother's Day to all those out there of the Mother persuasion. And my own mom, who apparently is reading this journal! (Hi Mom! I sent you two invite codes, you should have them in your hotmail account.)


This weekend went by pretty fast. I'm sure that's going to keep happening. I'm not even really sure what I did yesterday. I know that I went to dinner with Janine to Black Angus and had some nice steak. Oh yeah! Janine just reminded me what I spent the day doing: working on Dreamwidth to get our monthly spend down to a useful level, instead of the Open Beta high level it was at. Right, that sucked my brain.

Today we spent a lot of time on wedding and family stuff, as it is Mother's Day. A few hours in the early afternoon putting together plans for the reception, music choices for the ceremony, and a number of other things that we need to figure out. I still have a few things on my list that I have to look at, I'll get to them this week.

After that, we went up to the city to have dinner with Janine's family (Mom, Sister and Husband and Baby, and Uncle). It was at some Italian place in North Beach. Expensive ($240 for six of us) but the food was pretty good. I'm not a huge fan of really fancy Italian food (it's ... pasta, seriously) but it was alright.

Somewhere in here I spent a little while on the phone with my mom. That was nice -- I really like talking to her, but that always conflicts with me being busy and not liking talking on the phone in general. I should talk to her more, I know.

Upon coming home and taking care of some random things around the house, we tried to catch up on some TV. Two episodes of House and one of Lost and we still have a bunch of Dollhouse and Lost on the list. And of course, tomorrow being Monday brings us more TV. Augh! I've fallen so behind because of the Dreamwidth stuff. Le sigh.

And now for something completely different.

This coming week I will be on call again for my day job, with the added excitement of two full 24 hour shifts because the remote office that normally does the overnight shift will be doing their yearly offsite. It should be fine, typically the night shifts are the quietest, but ... still.

Then once that week (+ weekend) is over, it's wedding time! Oh man. I'm pretty excited, nervous as hell, etc.

I still need to write my vows.

And finish a few honeymoon plans.

zorkian: Icon full of binary ones and zeros in no pattern. (Default)
(This is mostly for beginners. Advanced users will be quick to identify situations where this advice won't apply. That's okay. Once you're a power user, you can do what you want. Isn't that the beauty of it?)

Dear users,

If you find yourself in something like Ubuntu or Debian (or Red Hat/CentOS/any other system that has packages) and you find yourself doing perl -MCPAN -e shell to try to install a Perl module... in the infamous words of the lolcats:

ur doin it rong

When Linux (heretofore I will say Linux but you can also include BSD variants and most other OS of this sort)... anyway, when they moved off of home-built custom installations (see Linux from Scratch, highly recommended!) and developed packages (RPM, DEB, ports, etc) and package management systems, the need for installing things (especially Perl modules) from scratch was obviated.


You may not believe me, but I'm serious. If you ever find yourself compiling from source to install something, either you are going for something very specific that the package maintainer didn't have in mind (and therefore are no longer really a beginner, see above re: advanced users), or you are more than likely doing something wrong.

In the case of Perl packages and Debian/Ubuntu, the proper way of getting a package installed that you don't have is to install it from the repository of the system you're using. This is generally pretty easy. The naming convention for Perl packages is simple. Let's say you want to install the DBI module. You want to do:

apt-get install libdbi-perl

Note what I did there? The module name DBI was turned into libdbi-perl. This is consistent across all Perl modules in CPAN (that are packaged, more on that later). If you're looking for Class::Autouse, you can find it under libclass-autouse-perl. Same with every other module you might be thinking about: libsomething-or-other-perl for Something::Or::Other. It's really straightforward and 99% of the time that's all you have to do to install the package that you're looking for.

In the remaining 1% of instances, you want to use dh-make-perl. Step one, install the package helper you need:

apt-get install dh-make-perl

Step two, instruct it to build a DEB file for what you want:

dh-make-perl --build --cpan Some::Module

Step three, install the new package you made:

dpkg -i libsome-module-perl_0.VERSIONSTUFF-1.deb

The ending of the filename has version information and will change around. Just look for the .DEB file and install it. This package can be copied off somewhere if you want, or you can throw it away. Doesn't matter, you can always rebuild it later.

By installing the module properly, you will do a lot of good things for your system. You register the files you're changing, you make sure that if this module ever gets put into the standard repository for your Linux distribution, you will get updates automatically. And really! It's just the right thing to do.

You can read more in depth on the dh-make-perl process in an article on debian-administration.org should you feel so inclined.

Questions, comments, corrections of my understanding of the Best Practices (always welcome!), hit me!
zorkian: Icon full of binary ones and zeros in no pattern. (Default)
Each night I go to bed is one night closer to April 30th.

I must confess, I'll be glad when this mystical date has come and gone. No matter what happens. Of course, I am a bit scared of it. I suppose all papas feel that way when their baby is about to come due.

I rambled on a lot more here, but then I deleted it. My mind is in too much turmoil right now to really have any coherent thoughts.


Work was fun today. I had a page that required me to take action, and then spend an hour investigating. I had to contact another team to get some information, and in the end, came up with a good picture of what happened. My tech lead complimented me on handling it well.


I need to spend more time snuggling Janine. I've been thinking that a lot lately. There's so much going on, balancing is hard. She understands this, though.

I'm also really extremely proud of her. It's been a long three and a half months, but she was extended a verbal job offer today and basically accepted. She won't start until after we get back from Baltimore, but I'm really, really happy that she has found something she likes.


Bed nao.

I admit...

Apr. 10th, 2009 02:07 am
zorkian: Icon full of binary ones and zeros in no pattern. (Default)
...Dreamwidth kind of scares me.

This project has taken on a life of its own. We've got dozens of people volunteering time and effort to make it happen, hundreds/thousands chomping at the bit for invites, dozens posting about it every day...

But that's not what I'm writing about. Today, I killed ads.

We knew we were going to remove them at some point. I didn't know it was going to be today. Or even before Open Beta. We had disabled them, of course, but the code was still there. Silently running, processing bits, and just not displaying anything. I knew it was there, and it knew I was here, waiting. Watching.

This evening I spent a few hours setting up SSL, and as part of that I kept tugging various threads in the code to remember how it's all put together, and one of those threads gave me a bit of a pause. AdEngine.js. Oh, well now. From there I pulled that out. Then I started pulling out some more things. Before I knew it I had Notepad up with the names of 50 functions I had removed and I was madly grepping through the code.

But I can now say: 99.9% of the ads code has been removed from the Dreamwidth source tree. We are one step closer to being amazing. I am so incredibly happy about having done this, you have no idea. Really. You don't.

And now I will go pass the fuck out, I'm tired.


Mar. 19th, 2009 12:38 am
zorkian: Icon full of binary ones and zeros in no pattern. (Default)
This week has been sort of stumbling along. I've been spending some time in the evenings on Dreamwidth, but not nearly as much as I have been the past few weeks. I've instead spent more time on some other things I've been neglecting lately - not least of which was pulling Janine upstairs last night hours earlier than we normally go to bed so we could hang out and talk.

Anyway, things are going. Been busy. Been tired. Don't have much to say today. Work was good, uneventful, and my projects are going well. We're nearing the end of the quarter, so I need to start looking at the goals I set for Q1 and see how I'm stacking up against them. Good stuff.


Need to get more people to post so I have more things to read. I don't read LJ anymore, so this is my only source of information! (Of course, I think it'll get pretty busy when we open up for open beta... whee!)

Yeah, good night!
zorkian: Icon full of binary ones and zeros in no pattern. (Default)
Tonight was almost literally a code implosion.  After I got home from work I took a brief nap, got some food (oatmeal + red bull, heh) and then got to work.  Spent the next four hours straight fixing bugs, implementing things, reviewing patches, and following it all up with a code push.  It's a great feeling to see a plan start to come together.

We're really hoping to double the number of people in closed beta this weekend.  We're waiting on the S2 team at the moment though, as we don't want to loose everybody on core1.  I'm pretty excited!

In other news...

Hmm, not sure what other news I have.  It's now the weekend.  I think [personal profile] nova is planning on coming up tomorrow to work on Dreamwidth.  But that's not "other news" -- that's more of the same!  I guess I'm sort of a broken record lately.  I do really feel that my life only consists of three things right now:
  • work
  • dreamwidth
  • wedding
And to be fair, I'm not doing tons of wedding stuff right now.  I've cancelled my Warcraft accounts, my EVE accounts lie half-cancelled and totally-languishing.  I've not played any games in months.  I've been Mr Focused and Driven.

Driven like a crazy man.

At the one-on-one with my boss this past week, he gave me pretty good feedback.  Says I'm doing really well and he's very happy (and somewhat impressed) at my ramping-up speed.  Today, my tech lead said that he thinks I will be ready for an on-call shift before the traditional six month waiting period - but I don't think I'm going to volunteer quite yet.  ;-)

Time to sleep.

zorkian: Icon full of binary ones and zeros in no pattern. (Default)
I realize that I listen to some rather varied music depending on my mood.  Right now, or rather today, I purchased Nickelback's new album "Dark Horse" and have been grooving to that.  Couple nights ago it was Prodigy's "Invaders Must Die."  Of course, some nights I feel the urge to go back to my roots and it's Tim McGraw, Kenny Chesney, and other country artists.  Throw in some Kelly Clarkson, Alanis Morisette, Evanescence, Within Temptation.  Oh yeah, and let's not forget Ladytron (mmm), Rob Dougan, etc etc.

On the flip side, I'm not a huge fan of rap styles - although some songs are okay.  I've never been big on Blues/Jazz either.  But generally speaking... om nom music!  I like the music.  Much bigger fan of "professional" music though.  Nothing wrong with making your own, but I've never been able to get into people who rewrite songs and then sing them, etc.  I like when it all fits together really well.

Another weird thing about music for me - I generally don't know the words.  Even a song I've "sung" a million times in the car, I just mumble through most of the words.  Since I never really listen to the words, it's all just about how it sounds when put together.  (Another reason I'm not a big fan of homemade music, I don't really listen to music for the words so the value in the song tends to be lost on me.)

In other news, today was productive.  I like that feeling of actually getting things done and making progress in my projects.  My tech lead "signed off" (it's not official like that, but he looked at my progress and approved).  Now I can move on to the next stage of the project, which is exciting.  This project is my big one for the quarter, and I'm on track to have it done in the next few weeks.  :)

I think tonight will be a commit party for DW, too.  Spent some of last night doing commits but ended up getting sidetracked.  We'll see how tonight goes, but my goal is to have no open patches for review.  :)

I'm also going to start reading the book that someone (Denise?) found about Producing Open Source Software.  It looks like a really useful and interesting book.  A lot of the stuff he seems to talk about (in my brief scan of topics) is stuff we're already doing or will be doing, so I'm pretty excited about that.

Aaaaaaand it's time to finish up what I'm working on and go home!
zorkian: Icon full of binary ones and zeros in no pattern. (Default)
The other day Janine came home with a bag of wooden snakes.  They're pretty cool.  Now I have one on my desk at home, one at work, one upstairs in the bedroom, and hmmm, I think I need to put the fourth in the kitchen or something so that people can see it and play with it (or ignore it, as I think I'm most amused by them).

Work's good.  Keeping me busy.  It's pretty crazy the kind of systems we have, and how they all fit together.  I go home each day feeling like I was challenged and had to work pretty hard to keep myself on top of what I'm doing.  I like a challenge, and am overall happy with my choice to come here.  Pros and cons, of course, but overall it's the right choice for me.

Other than work, I've spent most of my free time on Dreamwidth.  I'm sure you wouldn't have guessed that, really.  There's so much potential for this site, and so much that we're actually making happen.  The people behind this project rock.  I'm sure I don't have to tell you that.  This is probably the most exciting thing I have ever worked on.  (Bold claim, I know.) 

In gaming news, I've cancelled my Warcraft accounts and some of my EVE accounts to save money and because I haven't been using them.  When I say that Work and DW have kept me busy, I'm not exaggerating.  I've been pretty much busy 24/7 for months now.

The wedding is coming along, too.  Invitations have been sent out and other bits and pieces are starting to come together.  Little by little, things will fall into place.  I have faith!  Still haven't figured out what to do with the honeymoon, or if we are going to have one immediately or not.  (Kind of hard to plan for something like that when Janine's out of work and looks to be staying that way.)

Hmmm... what else to update on... not sure.  Stuff, life.  Staying pretty busy.  Sadly getting out of the posting habit since I stopped posting on LJ.  But hopefully now that DW is getting usable I can resume my posting.  Mwa ha ha!11


Aug. 3rd, 2008 11:27 am
zorkian: Icon full of binary ones and zeros in no pattern. (Default)
It's fairly common for people to ask me how I get "cool jobs" (Danga, Six Apart, CCP, Mozilla are all in the upper tier of places to work). The thing they never seem to grasp on their own is that doing interesting work happens because people believe you can do it because you have proven that you can. And as simple as that sounds, it really is the key.

I've been programming since I was really young - wrote my first program at 10. By the time I was 15 I had written/started hundreds of programs doing all kinds of things. I had even volunteered for and developed a website for the local chapter of the 4-H club in West Virginia. That attitude of "I'm going to figure this out and do it!" has stayed with me, and that is how you get "cool jobs" or "neat work".

I started volunteering for the LiveJournal project in 2001. I helped out in support (for a little bit) then I moved to development. When I was in Seattle working for Amazon.com and later Washington Mutual, I attended various hacking parties that Brad put together. I kept working at things. Was I any good at Perl when I started? No way, I was horrible. Did I know anything about scalability, about database partitioning and management, load balancing, or any of that? Nope, not a bit.

Then I went off to college, but I kept up the work I was doing on LiveJournal. I had a period where I tried to start my own business, but that didn't work out. (Due to myself, I was busy with school and gave up on it. My fault.) Eventually, in late 2003, I asked Brad if he wanted someone for a co-op. (A co-op is basically a six month internship.) Well, he said yes, so I found my way to Portland in early 2004 where I started working for LiveJournal.

Over the next six months, I proved to him that I knew what I was doing and that I could do it. He then offered me a position as an actual employee, which I decided to take. When we got acquired by Six Apart, they liked what I could do so they decided to take me along with the site. That worked out really well, I felt that I contributed a lot at Six Apart, helping with LiveJournal, TypePad (via MogileFS), and Vox (via operations).

During this period, I had started to volunteer for CCP. I was helping out in their AURORA group, doing fiction work. I wrote stories, I acted, I eventually got myself promoted to lead where I helped coordinate other people doing this kind of work. This exposed me to employees at CCP and helped me get the job there when I later decided I wanted one. (Which took a lot of work to get! I had no experience in the games industry, and it really took a lot of effort to convince them to give me a shot. 2.5 years of volunteering.)

Mozilla happened because of my experience at Danga/Six Apart and because of people I met through that. My next job will happen because I have experience at one of the jobs I've done already and through the people I know. That's how this is going to work for me from now on, since I've established myself. I'm good at what I do, not because of any schooling I had, but because I decided to be and I put years and years and years of effort into getting where I am. My nights and weekends, while I was making sandwiches at Subway, answering phones at Amazon.com and Washington Mutual, were spent volunteering to do free work for people to make a name for myself.

What is the point of this rambling?

If you want to get into the tech industry, and more importantly, work for someone who sits on your list of "cool jobs", then you have to work for it, and you might have to work "for free" for a while to get it. It doesn't come easy, it never does. Get to work on that portfolio, get to work on those demo reels, those sample web sites, those example applications. Make it happen. It's your choice.

For giggles, I just dug up my main directory of all the crap I worked on between 14 and 18 years of age. Let's see... here's a random list of projects that I see in that list:

* simulator of gravity in a solar system (planets orbiting the sun and stuff)
* explosion generator (particle simulator, with lots of options for custom burn times, decay rates, color mixing methods, etc)
* various IRC/MUX bots of various sorts
* an IRC server (which actually kind of worked)
* LED signs (carryover from the BASIC days)
* lightning generators (graphical stuff)
* tons and tons of strategy games (tile based mostly)
* airport simulator (an air traffic controller, basically)
* lots of attempts to implement AI/neural net stuff (still don't understand it)

And lots more. (There are 122 folders. 122 separate projects. And this is just the projects I worked on in Delphi 3. There were hundreds of random things written in BASIC from the earlier years, and later I did Delphi 5/6 work and moved off into Perl!)

99% of these projects are 50% or less done, yes. None of them (well, almost none) are release quality stuff. I didn't really finish much, honestly. But what's not important is that you finish them, what is important is that you start them and work on them and learn what is interesting to you. Learn what you can and can't do. Learn how things work, how it goes together. (But just to note, in the real world, finishing stuff actually does matter.)

Put your knowledge to use. Volunteer. Want to make web sites? Find a project out there looking for help. Open Source is full of opportunities like this. Start making a name for yourself. People love helping someone who can learn and has that "go get it done!" type of attitude.

Nothing comes free. You will become somebody by getting off your arse and making it happen, there is no "magic advice" I or anybody else can give you.

And no, I will not teach you to program.

*wanders off of the soapbox*


zorkian: Icon full of binary ones and zeros in no pattern. (Default)
Mark Smith

April 2017

91011121314 15


RSS Atom

Most Popular Tags

Active Entries

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 23rd, 2019 03:52 pm
Powered by Dreamwidth Studios