Blogbody Rotating Header Image

technology

The XBox 360 Update is Amazing

First: it is a complete rip-off of the Wii dashboard, all the way down to the concept of “channels” and “avatars” (Miis).


medium_xboxdashboard.jpg

But it’s still really good.

A few tidbits:

  • Setting up the NetFlix integration was cake. Just download and install the Netflix app ($FREE) and then enter the activation code they provide you on the NetFlix home page.
  • NetFlix integration seems “OK”. Titles are still lacking of course, though for a streaming service fast-forward is really quite good. Not sure how they did it.
  • The avatars are actually kind of fun – maybe more so than on the Wii. You can even save your clothing styles in to different wardrobes, which I could see being kind of popular.
  • There is a new option to install games to the hard drive. This might actually get me to think about upgrading from the 20GB drive. I do wonder how this works in terms of copy protection. I’ll post an update when I learn more.

large_xboxnetflix.JPG

The overall interface is really clean and seems pretty fast. I’m pretty impressed.

Ning vs WidgetLaboratory: A lesson in unprofessionalism

From Tech Crunch: Don’t Post The Evidence Unless It Supports Your Case.

The emails provided by WL are truly amazing. Take 3 minutes to read through them. I’ve never seen such unprofessional behavior from a company. Just the email name alone (“Evil Genius”) gives most of the story away.

I don’t know Gina Bianchi, the CEO of Ning, (I spoke with her once by phone when she was doing reference checks on a friend), but I already was a big fan given how well she’s done with Ning. But after reading her emails, I’m even more impressed with her incredible level of patience. If I were in her shoes, I would have terminated my relationship with WL a lot sooner.

Truly amazing.

Using Guice and Mule Together

I’ve been playing around with Mule lately, mostly just trying to learn and see if it’d be a fit for a little side project I’m working on (it looks like it won’t, but that’s OK). But one thing that was a bit confusing about Mule integration is that the 2.0 version is very heavily dependent on Spring. That would be nice if I used Spring, but this project uses Guice.

First I tried Google, but only came up with this. Then I tried to see how other containers (Pico, Hivemind, etc) integrated in to Mule, but it turns out those integrations were for 1.x and nothing has been built for 2.x. I’m sure there is a better solution that what I came up with, but for a quick and dirty integration this worked really well:

    <spring:bean name="foo" class="com.bar.GuiceUtil" 
                       factory-method="getGuiceInstance">
        <spring:constructor-arg>
            <spring:value>com.bar.Foo</spring:value>
        </spring:constructor-arg>
    </spring:bean>

    <model name="...">
          <service name="...">
               <inbound>
                    <inbound-endpoint address="..." />
               </inbound>
               <component>
                   <spring-object bean="foo"/>
               </component>
          </service>
     </model>

Basically, you just make a simple utility class (GuiceUtil) that holds your Guice Injector and offers a static method named getGuiceInstace:

    public static <T> T getGuiceInstance(Class<T> t) {
        return injector.getInstance(t);
    }

Now Spring is configured to created a Spring bean named “foo” that actually came from Guice. Then you simply tell Mule to use that Spring bean. I’m sure there are a lot better ways to do this (I am a complete Mule newbie and know very little of the configuration options), but this got the job done for me.

Simplify Media launches for the iPhone – get it now!

An coworker from my old company, Spoke, just launched an iPhone version of their app and you’d be silly not to get it right now.

I predict this will become one of the killer apps for the iPhone. The app is really quite simple: it lets you play your home iTunes library (all of it) and your friends libraries on your phone. It works by utilizing a desktop app that integrates with iTunes. It’s simple, effective, and super cool.

And why should you get it right now? Because it’s free for the first 100K downloads, after which it’ll cost $3.99. Get on it!

13949712720901ForOSX

Sure, count me in for voting for Java 6 on OSX. Not sure what 13949712720901ForOSX is? I’m not quite sure either. Google it.

Leopard Spaces + IntelliJ IDEA = Sadness

Looks like the new Spaces feature in Leopard doesn’t work with some Java apps, including IntelliJ. Specifically, you can drag the window to various spaces, but when you click on the icon in the dock, the screen doesn’t automatically navigate to the correct space.

My guess is that this has to do with the way IntelliJ creates the Swing-based windows it displays. Spaces probably is keying in on some hidden window and so it doesn’t know where it should take you.

On the other hand, most apps properly support spaces just fine, even when multiple windows are open in different spaces. For example, Safari windows in two different spaces will simply cause spaces to alternate between the two windows every time you click on the Safari icon in the doc.

Here’s to hoping Jetbrains fixes this soon…

Java Blog Posting Library

Does anyone know of any Java-based (or any other language, for all I care) utility or library that makes it easy to post blog entries to various blog systems (Blogger, MovableType, WordPress, LiveJournal, etc)?

Embarassing

Wow – this is embarrassing. Another one of those “I can’t believe I haven’t posted in so long” posts. But really, it’s been 5 months since my last post, and 7 months since my second to last one. Ouch!

That is going to change, especially because I little side project I have going on involves a lot of blogging…

As for what I’ve been up to…

  • Got married a few weeks ago
  • Sold my company earlier this year (I don’t think I ever actually blogged that – whoops!)
  • Been traveling a lot to Boston (50% of the time)
  • Speaking at various conferences (The Ajax Experience, STPCon, StarWest, etc) – mostly QA-related stuff
  • Not too involved in Struts and OpenSymphony, but I hope to be again soon
  • Still fairly involved in OpenQA

I think that’s it. More posts soon…

Most Exciting Leopard Feature…

Forget all the whizbang stuff… Stacks, Dock, Time Machine, etc. And look past the fact that stupid Apple has decided to abort Java on OS X. As someone who travels a lot and loves his basic Dell keybaord, this is what I’ve been waiting for:

Leapard_keyboard.png

Yup – that’s right. OS X will finally automatically change the keymapping for me between my laptop keyboard and my desk keyboard. Considering all the travel (and lounging on the couch) I do right now, I have probably gone in to this preferences panel over a thousand times just this year. Never again!

Jive Forums 5.5: A quick review

I recently upgraded the OpenQA forums over to Jive Forums 5.5 (beta) and I am very impressed. We were using a pretty old version (4.2.1) and the difference was like night and day.

The upgrade

The upgrade was as simple as it can get

  1. Copy the new war file over the old one.
  2. Open the forums in the browser.
  3. Enter the administrators password to initiate the upgrade process.
  4. See a nice little list of steps that need to be completed, along with estimated times for each task.
  5. Done.

It really was that easy. Everyone should build software this good. The only other company I know that has a nice upgrade framework is Atlassian, and theirs is nowhere as elegant, nor does it provide the visual feedback that inspires confidence in a process that inherently introduces risk.

Reply by watches

By far my favorite new feature. Previously, the OpenQA forums have been using Jive’s unique “email gateway” feature that allowed a mailing list and a forum to stay in sync. This let users choose the style of message delivery (web, RSS, forum watch email, mailing list membership, etc).

I chose RSS+web because I get enough email as is and hate being subscribed to random lists that I can’t remember how to jump off of. Plus, I like knowing that my membership is part of the forums, which gets you little things like “reward points” for answering questions (something which obviously email doesn’t have).

But whenever I traveled, I missed email. I wanted to be able to reply to the threads I saw in my RSS reader while offline in an airplane, but I couldn’t. In the latest version of forums, Jive introduced a killer new feature: reply to watches by email.

Now I can watch my feeds in RSS, but when I know I’ll be on the road coming up, I can turn on my email watches to the forum. Then, as each message comes in, I can reply to the watch notification itself and my response will automatically show up in the forums (and get sent out to the mailing lists, thanks to the gateway we’re using). To me, this is the best of both worlds, and Jive did an excellent job with it.

My only complaint is that the subject the watches come in with is unique every time. This is due to how they sync up replies with threads. The downside of this is that my watch notifications won’t get grouped together as a thread in my mail client, so it’s a bit harder to follow conversations. I also had to modify the watch templates to include the entire thread instead of just the new message. This gives the required context that one would expect if they wanted to reply by email.

Wiki formatting

The new forums also allow for common formatting, often found in wikis, to be used in forum posts. This is nice because now I can format new replies by email and I know it’ll look good for both audiences: text (email) and HTML (web and RSS).

But what I was really impressed with was the customizations. Jive supports a link syntax similar to Confluence (Atlassian’s wiki) that uses square brackets. Unfortunately, the OpenQA forums use square brackets a lot due to the fact that people post xpath expressions all the time, such as

//div[contains(@id, 'border-box')]

This, of course, produced some bogus links. What impressed me is that I could drill in to the wiki formatting settings and individually turn off link support. Even more: when I turned it off, it no longer appeared in the help guide! That’s the way software should work all the time.

Other stuff

THe OpenSymphony Forums have had integrated web chat support for a while, written by yours truly. However, the OpenQA ones never did because I didn’t want to maintain the code going forward. While it isn’t quite as nice as the OpenSymphony forums, Jive Forums now comes with an integrated web-based group chat. This is a great way to host meetings and to help people out in real time.

The features I’m missing from the OpenSymphony forums are:

  • Ability for chat transcripts to be easily searchable and accessible. I did this by posting the chat log to the forums every 24 hours, but other solutions are possible too
  • When in the forums, being notified that activity is happening in the forums (new message posted). I did this with a “chatbot” in the OS forums, but again, this could be done other ways, such as XMPP watches, etc.
  • Tying chat rooms and forums together such that the people in the associated chat room are listed along side the forum as “now chatting”. Even better, their expertise level (reward points) are shown, so people can immediately tell if experts are ready to help them in real time.

The good news is that a lot of this stuff will likely end up in some sort of integration between Openfire and Clearspace (think of it as Forums + blogs + wiki + content management + etc).

Overall, Forums 5.5 was a great improvement. I’m looking forward to Clearspace, when hopefully my little nit-picks will be addressed :)