Happy New Year!

Another year come and gone. Hopefully everybody is out having a good time or recovering from a good time. I just finished up for the night and am planning to get some reading done before bed, but thought a quick blog post summarizing the year was in order.

  • This year marks my second year living in the Bay Area and working at VMware, and my first year really heading up some larger projects. I began the year by working on what would in time be known as VMware Server, and spent the first half of the year head down at my desk working on each release. Following that, I’ve been working on specifications, feature implementations, and even Tango-style icons for VMware Workstation 6.0, which I will continue with for some time.
  • Jamie and I have now been dating for just over two years.
  • For the first time, I was invited to FooCamp, hosted by Tim O’Reilly. Awesome event that I really hope to be invited back to next year.
  • I learned to boogie board with a couple of friends in Santa Cruz. Later in the summer, Jamie and I took a nice vacation in Santa Cruz and spent most of it at the Santa Cruz Beach Boardwalk.
  • I had my second trip to Boston this year for the GNOME Summit. I went with Jamie to Salem and explored the touristy little town. Fun place, and I’d definitely like to spend more time there in the next couple of years.
  • I went with some friends to Castro St. in San Francisco for the first time for the big Halloween costume party that they have every year. We found out the following day that there was a shooting not too far from us, which was unnerving.
  • I got a Nintendo DS and a Wii, and have spent far too much money on both. I’m going to just start signing over my paychecks to Nintendo.

I’m sure I’m missing a few things. 🙂

Now, New Years Eve doubles as my mom’s birthday, which I imagine was not fun when growing up. I think the only day worse for a birthday is Christmas. It was certainly fun tonight, though. The night was spent with my mom, stepdad, brothers, sister, and Jamie. We watched Cars and played Scrabble, Bomberman Touch! for the DS (fun game!), and Cranium. We ended up spending most of the evening on Cranium, which has to be my favorite family game. We kept laughing so hard that we got ourselves sick.

Jamie brought over a bottle of champagne for us to drink. It was a late Christmas present, intended for New Years. We’re not heavy drinkers, so we only finished half the bottle, but it was very nummy. Along with that, we had a variety of snacks, including cheeses, beef sausages, vegetables, sodas, and pizza. This was, I think, my first New Years with my sister Jenna, as she had always been visiting cousins on New Years. She was pretty good most of the night, considering she had to stay up until midnight 🙂

January 1, 2007. With any luck, this year will be more exciting and eventful than last year. There are changes I hope to make, projects to abandon, projects to take up, and places to go. I think I’ll get some sleep so that I can get a head start on that.

Happy New Year!

Vacation to Santa Cruz

My girlfriend Jamie and I took a vacation to Santa Cruz. We both were looking forward to getting away from work and everything else and just relaxing for a few days. And relax we did. The trip was a blast, and like any good vacation, it went by quick.

We started the trip on Tuesday, August 8th, riding the Amtrak to Santa Cruz. We stayed at the Riverside Inn. It was not a great hotel. They forgot to give us a number of things… But, it was clean enough, and the prices were reasonable, especially for the area, and it was close to the Santa Cruz Beach Boardwalk and various beaches. All in all, it wasn’t a bad place, as long as you don’t mind bugging the staff every day or so 🙂

We spent most of the first evening just getting settled into our hotel. We took a trip to the Boardwalk, which was only a couple blocks away. I had been there once before for the Workstation 5.0 release party, but a lot of it was closed off, so I didn’t realize just how big it was or how many rides were there. Jamie had never been there before, so this was in many ways a first for both of us.

We bought a 60 ticket sheet, which we later discovered may not have been the best investment. We expected to only be there for one day, and didn’t think the rides were as expensive as they were. Ah well. It turns out that on Mondays and Tuesdays after 5PM, the rides were only 1 ticket, so we did get to go on several before turning in for the night.

On the second day, Wednesday, we went to this little restaurant called the “Beach Street Cafe.” While the food was good, the service left much to be desired. It took forever for them to even acknowledge our existence and seat us. After breakfast, we hung out at the boardwalk and used some more of our tickets. We played miniature golf a couple of times and played a round of laser tag. It was a long, exhausting, but fun day. We found out that on Wednesdays and Thursdays after 5PM, unlimited ticket bracelets dropped from something like $28 to around $8, or something like $13 for one that included two free things like mini-golf and laser tag. We each got the $13 ticket bracelets, which we used for one of the mini-golf rounds and laser tag.

Mini-golf was a blast. The whole thing took place in this pirate caverns place. We haven’t played in years, so we were both pretty bad, but not as bad as we expected. Jamie was doing pretty good for a lot of it, once she warmed up. We kept score the first time, but decided it wasn’t worth it the second time, especially since we were trying to take pictures and didn’t want to hold up the people behind us.

The third day, Thursday, we rented a couple of wet suits and boogie boards and went to Seabright, a nice beach right next to Twin Lakes Beach. We were practically inbetween the two I guess. 20 feet away from Twin Lakes. The walk there was long and painful, as we kind of underestimated the distance and started off taking the long way around to there.

There weren’t that many people on the beach, which was nice because we expected to make fools out of ourselves. This was my second time boogie boarding, and I loved doing it, despite some minor injuries that resulted. Basically, I was hit by a wave and the board stuck in the sand, while my gut smacked into the top, knocking the wind out of me. It hurt for a bit, but there were no major injuries.

Jamie had never gone boogie boarding before, but I talked her into it and except for this one wave that took her by surprise, she enjoyed it too. We spent some time relaxing on the beach and making sand castles/pyramids. We were there probably 4 hours or so. Then we begun the long walk back. We then proceeded to go back to the Boardwalk for some more fun.

On the fourth day, Friday, we decided to buy souvenirs and go on a few more rides. I bought a pirate hour glass, a whole bunch of shot glasses, a towel, some Santa Cruz poker chips, and probably some other stuff. There was a store there getting rid of a bunch of their inventory and they said we could name the price on several things, so we bought up a bunch of half broken and useless junk 🙂 Some of it was nice, though, and very fixable.

That was our last real day, as we had to leave Saturday. We spent the evening on the wharf, going to a nice restaurant for dinner, and just walking around. Our legs were very sore by the end of all this, by the way. 🙂

On Saturday, we went home and attempted to relax, exhausted after our busy but extremely fun trip.

Update: More pics available here.

I Can’t Believe It’s Not Chicken, now in gelatin style

Dinner!
Something I threw together the other night in Inkscape

Galago

I finally gave up with the whole “playing everything politically safe” with Galago and am now moving the whole library to GLib. It’ll take some time, and there’s a few things I need to figure out first. For example, a very useful feature that Galago’s object model let you do was connect a signal handler on a class itself, which would call the handler any time the signal of any object of that class was emitted. This of course didn’t translate to other object models or bindings well, and certainly doesn’t translate to GLib at all.

One of my potential solutions was to create a Manager class for each class where developers would want to do this. The Managers would be singletons and objects would emit signals on them as well as themselves. Maybe Manager is a bad name of the type of object… I’m still not sure what to do about this. It’s a very useful feature though, and the only alternative for everything that currently uses this is to set up a bunch of signal handlers for parent containers to know when these objects are added/removed and then register/unregister signal handlers every time the objects of interest are created/destroyed. It’s a lot of messy code, and would take up more memory than a manager interface. Still got to play around with the idea more…

Notifications

I’ve begun work on porting libnotify and notification-daemon to D-BUS 0.3x. I plan to use a simple abstraction layer consisting of macros to keep compatibility with D-BUS 0.23.x for now. I have a lot of work to do this week at VMware, so I don’t have a whole lot of time to devote to it right now.

Mike Hearn and I had a talk earlier about extending the notifications spec. Sorry, we’re still not going to provide a way to embed Mozilla. One thing people have been wanting, though, is to be able to associate a notification with something on the screen, say, a notification icon. So what we’re going to do is provide support for X, Y coordinate hints. Since they are hints, the renderer will be able to just ignore them if they want. However, this would allow the battery applet (for example) to say, “I have a notification, and here’s my location!” and the renderer could pop up a notification near there with, say, a little arrow pointing to that X, Y location. This could be useful in a few situations, though hopefully it won’t be abused.

I have some future plans for the notification daemon. I’m going to put together a (for now at least) experimental daemon that has two types of plugins: Render plugins and Transition plugins.

The Render plugins will be responsible for rendering the notification. They could do the nifty folding thing that appeared on Planet GNOME a while back. They could do a bar sitting at the bottom of the screen, semi-transparent. They could do toaster popups. Whatever.

Transition plugins handle how the notification will be displayed. They could just show a notification, fade it in, slide it in, make a poof of smoke.

Again, it’ll be a while before I can start on this, due to life just being busy right now.

Disneyland

And this is one other reason why life is busy. My girlfriend Jamie and I are going with my family to Disneyland after next week. Unfortunately, this week is spent on some deadlines at work. But that’s just going to make the next week even more fun 🙂 We’re staying at the Disneyland Hotel, which will be a first for both of us. I’ll have plenty of pics when I return.