Embracing the Cloud

So work has me looking seriously into cloud computing, specifically Amazon’s EC2 ‘Elastic Computing Cloud’. Basic idea: virtual datacenter. Launch “instances” instead of real servers, and pay by the hour. Benefit: say you need five servers to handle your daily load, but twenty servers to handle Monday mornings – no problem.

Anyway, as with any new technology, there’s growing pains. I’ve been spending my last few days working with instances, building a custom instance based around CentOS 5.2, from scratch. The documentation makes it seem easy, but there are a lot of gotchas. For instance, you need to configure OpenSSH to allow root logins, which goes against both conventional sysadmin wisdom and the default configuration of OpenSSH. D’oh. That nugget right there represents a good hour of puzzling.

Another thing that I’m looking into is using Amazon’s S3 storage system for backups. I’ve downloaded and installed ‘JungleDisk’, a utility that mounts an S3 storage repository as a network share. It has a very useful backup utility built in, and it’s probably the first one I’ve used that actually works like I expected it to, and continues to work without any interference from me.

Now, the real question is how I can use a combination of these technologies to help rid myself of even more of the tethers to my household computing environment. Until recently, I’ve had four active computers in my house:

  • my “work desktop”, which has long been a laptop but for some reason I get more work done sitting at a desk, with the laptop up on a stand and a fullsize keyboard and a Bluetooth mouse attached.
  • my studio desktop, a proper PC tower running Ableton Live, attached to a MOTU 828mkII firewire soundcard and a pair of Mackie studio monitor speakers.
  • my “live-pa” computer, a custom-built 1U rackmount PC, similar to the studio desktop but hardened for use at clubs and raves.
  • my router/gateway, aka my old studio desktop, running CentOS Linux, acting as a fileserver for the house and running an instance of Windows XP as a VMWare host, for downloading torrents and the like.

I’ve shut down the studio desktop PC, and parted it out somewhat. The PC itself is still sitting in the studio, but I’m hoping to either find it a home, or perhaps sell it on Craigslist. Used computers don’t go for very much, unfortunately, so I don’t know what I’ll get for it. I’m not sure yet what to do with the household router box; perhaps I’ll pull the drives and put them into portable cases, or maybe I’ll just wipe the whole thing and sell it on CL as well. Ideally I’d like to leave the house with some form of internet, but that could just as easily be a LinkSys box in the laundry room.

I’d like to use the cloud for as much as possible. For instance, backups are now working just fine. My four email accounts are all stored in IMAP servers on Dreamhost, which I guess counts as “the cloud”. I haven’t yet signed up for Apple’s ‘MobileME’ thingy, but I intend to eventually – perhaps after I get an iPhone. The idea is to move as much of my data off of my personal computers and make it accessible from anywhere. There’s still a lot to sort out though.

Bah, it’s late. More later.

This isn’t working.

I am not a very good blogger.

To date, I’ve only been posting when I have something big to say, instead of when I have some new little bit of news or insight. I’ve changed the format of the blog so that it is less “story” oriented – ie, removed the ‘teaser’ part and made the full blog post appear on the main page. Now I am adopting the mindset that there is no post too small; we’ll see if that makes a difference in my posting frequency.

I just got off the phone with Bill, the guy I’m buying the boat from. We’re tentatively scheduled to go out for a sail on Thursday afternoon. I currently have no tenants lined up to take my apartment, but I’ve just posted it to Craigslist, and have several bites already. March 1st is the deadline! Most of my life is now being packed into tupperware containers, ready for storage or stowage, depending.

Whirlwind!

Uh oh. Fifteen new messages from work.

Well, it’s day… four? Five? Technically five, I guess – of my new job. So far I’ve definitely done the majority of my productive work in my home office, aka “the desk in my bedroom”. The few days that I’ve actually been out on the road with my bike, I had errands to run – each day it seemed like those errands led me back to my office, though in retrospect I think that was artificial, and there was no real reason I couldn’t have stopped in a park.

Today I embark on the first “real” away mission of my quest – I am writing this sitting in an uncomfortable chair at the Vancouver airport, heading off on a two-week visit to New Brunswick centered around my grandmother’s birthday.

The job so far has been interesting, to say the least. The first day I logged in and started pestering the current admins for documentation and guidance, but the main admin was crazy busy, so told me to just poke around on my own and we’d have a conference call on Monday. The downside to this was that Monday was a holiday in British Columbia. I brought this point to light, but it didn’t seem to be a problem – and since I’m taking off to NB today and won’t be able to do any real work from the airplane, I figured a tradeoff would be acceptable.

Sunday night I went out drinking with some friends – hey, it was a long weekend. Monday I got up around 10am, took a leisurely shower, made some breakfast, cracked my knuckles, and cracked my laptop.

Uh oh. Fifteen new messages from work.

Turns out the gossip site posted some paparazzi photos of Miley Cyrus in her underwear. Cute, I guess, if you’re into that way-too-young thing – the problem came when Fox News linked to the site, causing it to drop to its knees in protest. The older admin rebuilt the page as static HTML, which took a lot of the load off of the database, and made the site somewhat responsive again. We pushed over 500 gigs of data per *hour* for the next four hours.

Tuesday was running a bunch of errands and I barely got two hours of actual work done. Wednesday I got a good solid six hours in, and it was my most productive to date. I made a lot of good discoveries about the systems; the most encouraging was that all of the machines are pretty much completely identical hardware-wise, and all have the same revision of CentOS. The less encouraging was that all of the machines have custom builds of Apache, each build is somewhat different from the rest, and none of the machines are up-to-date with OS patches.

The nice part about all the machines being nearly identical is that with a little bit of configuration I can treat the cluster as a single machine – I can build a single complex command on my Macbook and have it execute on each of the machines in sequence. I added my system accounts, along with ssh keys and a custom ‘sudo’ configuration, and poof – suddenly running an update on all 30-odd machines is 30 times less work than it used to be!

Today I fly to New Brunswick for a visit with my folks, and hopefully this weekend I’ll get a chance to visit with some old friends. I’ll still have to work, which could be interesting – the first few days I’ll be spending at my father’s house in Sussex, where I don’t think he has internet access.

I found out my Burning Man plans are a go! I return from New Brunswick on the 21st of August in the evening, get a chance to sleep, then have almost a day to pick up the last few bits I need for the epic week in the desert. On the 22nd I take the ferry to Victoria, where I meet up with friends who are driving a 15-passenger van down to Nevada – we leave Saturday morning, and aim to arrive on Monday. It looks like I’ll be camping with the Deep End!

More later, it’s time to board the plane.

Progress(-ish)

It doesn’t have to be big to start, it just has to be a start.

I met with my accountant yesterday, and he gave me some valuable insight into the financial aspects of my quest to remove myself from the office.

Another week is ending, and I still don’t have a signed contract with my new Evil Masters. I’m cautiously optimistic, but I’m sure glad I stuck to my guns and didn’t serve my two weeks’ a month ago like I wanted to. I made that mistake once before…

When I lived in Calgary, Alberta, I was working my dream job for a few months – I had been drafted from the customer service center of a large ISP straight into the R&D department! This was unbelievable luck, and I was on cloud nine, but unfortunately it was not meant to be – the manager of the department was notorious for challenging the status quo. This was actually a really good character trait for an R&D department, but it drove the CEO and the General Manager of the company batshit crazy, and eventually something snapped. Disciplinary action was taken; my manager was made the manager of customer service for two weeks, and the four R&D guys were scattered to the wind to work in other departments for those two weeks.

My new department was connection support – you know, the guys that answer the phone and talk you through your problems getting onto the internet. The guys that know long modem initialization strings by heart, and all the different versions of Winsock. The guys that work four days on, four days off, in twelve-hour chunks, clinging to their humanity.

As an additional kick in the teeth, the best four of the eight-man tech support team had recently quit, citing poor working conditions and pay, and had taken jobs at the other ISP in town for better hours and pay. There was a standing offer at this other ISP of a job for any of us, should we choose to jump ship, but I wanted to get back into R&D more than anything, so I stuck it out. Four techs became six, with myself and another of the R&D guys joining the team.

It wasn’t actually that bad – though the insidious part of the four-days-on, four-days-off working schedule is that sometimes your weekend is Monday through Thursday. There’s not much to do on a Monday night in Calgary, so you end up drinking in seedy bars with people of questionable reputation, and eventually that takes a toll. Soon the schedule included work nights, and my exemplary punctuality began to suffer – I overslept on several occasions, and started to become surly with customers.

Any tech insider will tell you that the average lifespan of a technical support phone worker is eighteen months – after this period, it’s likely that someone will get an earful when they call in with a simple problem, not realizing that they’re the forty-fifth person that day with the same stupid goddamned one-click solution, you moronic sonofabitch idiot luser motherfREAD THE GODDAMNED MANUAL @#RT(GEW!@#@$! AAAAAAAAAAGH!!! .

One day I came in late, and was met with a bad scene – apparently out of four techs scheduled “on” that day, only one had shown up on time, and the General Manager was pissed. She and I got in a little argument over it, with the culmination being her yelling back “You can’t even handle a simple tech support job, you’re never going back to R&D!”. That was enough for me, and I handed her my resignation letter thirty minutes later.

A friend of mine was working in the Network Operations Center over at the other ISP, and thought my resigning was great. He said, quote, “DUDE! Awesome! Send me your resume right away. You’ll be in tier one tech for a day, tier two for a day, tier three for… about a week, tier for for a week or two, and then we’ll promote you right into the NOC with me, it’ll be rad!”. That sounded pretty good to me. I sent over the resume.

I got called in for the interview immediately, and went the next day. They made me do an interview quiz, with a lot of winking and nudging, and said to expect interview number two in a few days. Lo and behold, interview two, three days later. Interview two was very similar, with a lot of “sorry to have to do this, we all know you’re hired, it’s just red tape…” apologies and smiles. After interview two, they said to expect interview three in a few days, with that interview being the meeting of the team and the serving of the official job offer.

Well, I waited.

…and waited.

After a week and a half, I pinged my friend, who said “Dude, I have no idea what’s going on, you’ve been greenlighted and they should be making an offer!”. So I waited.

After two and a half weeks, I started getting nervous – I didn’t have any money left (who has savings at age twenty-three?) and rent was coming up. Still no word.

Finally, at almost a month, word came down – the ISP had had a hiring freeze issued by their head office, and they were not to hire any new people for at least three months! This was a serious problem – we were already a collective of five people living in a two-bedroom apartment, just trying to make ends meet. It got pretty bad there for a while – to the point that to this day I make regular donations to the Food Bank. Eventually I found a new job, and took it at pay that was faaaaar below market rate, just happy to have a paycheque again.

I don’t regret any of that time – I made a few friends that I’ve held on to for the decade since, and learned a lot of tough lessons. The biggest one, however, was NEVER quit your job until you have the next one lined up and the papers signed!

Anyhow.

I had a meeting with my accountant. We spoke at length about the move from being a regular salaried employee to being a contractor working from “home”. He told me that to be able to write off a home office, it would have to be a portion of my house used exclusively for working, and specifically for meeting clients. We’ll see, I think I can handle that.

The biggest take-away I got from the meeting, however, was that as a contractor I should have any funds from the new Evil Masters deposited into a separate chequeing account, and then pay myself (and any work-related expenses) out of that account. That way should the government choose to audit my income, they can pull the account transactions and will have a clear record of all income, where it came from and where it went. It would not be anywhere near as easy if the paycheques went into my regular chequeing account…

Revenue Canada: “So, uh, where’d this $100 come from?”

Me: “My Mom. Birthday cheque.”

RC: “You’re a contractor, this is your work bank account, we want to see the receipts for that…”

The accountant also said that it’d be important to get the bank to send over physical copies of all cheques written or deposited into the account. This will make it much easier come tax time.

Another thing that he said that I thought was interesting:

“Every time you start thinking about hours and billing and materials and such, forget about computers completely and pretend you’re a plumber. Everything you bring to the table is worth money on that invoice.”

Nice. Keeping that one.

I was really hoping for some outside-the-box magic bullets regarding taxation, but I wasn’t able to come up with any. He did make it clearer to me that I’m not so much starting a new job, but rather I’m starting to work for myself – and that helped me to make a big mental jump. If I’m working for myself, contracting to the new Evil Masters, I can also gather other contracts, both short and longer term, and begin to build up my own business as opposed to working to build someone else’s empire.

It doesn’t have to be big to start, it just has to be a start.

Anyhow, the new Evil Masters are still in negotiations with their client, from whom the money to pay for my services will flow. Apparently this client is a real ball-buster when it comes to service agreements, so they have to be verycareful with the wording of the contracts… and each change has a two-day turnaround with the lawyers. I haven’t given on them yet, and I haven’t served my notice – though I’m still watching Craigslist for other opportunities.

Laptop Musings

As part of the new work contract, I negotiated a new laptop. The wording in the contract is “…will purchase a new laptop (Macbook Pro or Macbook Air) for the use of Employee…).

Therein lies the question… Pro or Air?

Life’s questions should always be so rough. 🙂

I’m currently working on a 2.2GHz Macbook Pro, purchased for me by my current/former Evil Masters, as negotiated at my hiring. I didn’t negotiate hard enough though (which is partially because I was rushing to get a job as quickly as possible to finalize a mortgage application), and as a result the terms are much less favorable: I get the laptop, but I have to stay a year before I can buy it out, and even then the buyout is something ridiculous like $1500, which drops to $500 at a year and a half and $0 at two years. What can I say, I was a bit desperate for a job, and the laptop was just a perk.

As I see it, my options are to either keep the current laptop, paying the buyout cost of $1500, or to purchase a shiny new Macbook Air.

There are pros and cons to each laptop:

Current Macbook Pro:

Pro – battle-tested and proven
Pro – has my stickers on it already
Pro – 120G hard drive, faster CPU
Pro – firewire port
Pro – replaceable battery
Con – bigger and heavier
Con – screen has the nasty finger-oil marks
Con – isn’t a new Macbook Air

Macbook Air:

Pro – sexy and light
Pro – brand new screen
Pro – smells like a new laptop
Con – lose my stickers
Con – no firewire
Con – no optical drive
Con – smaller 80G harddrive, smaller CPU

For my needs, smaller and lighter is quite a value – I intend to throw it in a backpack every day and bike somewhere to work. The smaller drive is easily mitigated with fast external drives, which I already own; archival backups of all important data etc is trivial in OSX. Plus, the sheer “sexy” of the thing pleases me greatly.

On the other hand, I already have and use a MOTU 828mkII firewire audio interface – actually, based on that link, I see that they no longer manufacture the mkII in a firewire version, and that there’s actually a mkIII version now. Regardless, if I have any inclination to use my new laptop for audio-related projects I should really consider the firewire port – or maybe try to trade my 828mkII for a USB2.0 model.

There is a third option – to leave this Macbook Pro with the company and purchase a brand new Macbook Pro. That would take care of a few of the cons for sure, and is probably my best bet, all told. Still, it’s not a Macbook Air. For some reason this all feels like trying to decide between dating the super-hot, fun to hang out with and crazy in the sack blonde sweetie vs. the smart, elegant and beautiful brunette… the intelligent choice is obvious, but should I follow my head or my heart? When I listen to my head I usually accept short-term boredom but always win out in the end, but following my heart is invariably more fun.

I’ll have to decide this soon, probably within the next week.