Site Network: Personal | Professional | Photography

Technical Blog

This blog will contain content related to Java, Seam, Security, my sites and projects, as well as other technical subjects I am interested in.

Comments and questions are welcome!

Startup School 2008 - Friday

April 21st, 2008

I'm splitting my post about my trip to Startup School this past weekend into two posts, as there is too much to put in one post.

On Friday afternoon, my wife drove me to the airport, where I barely caught my Virgin America flight to San Francisco. This was my first flight on Virgin America, although I had flown Virgin to London a couple of times before. I had booked first class seats for the trip, as they were barely more expensive than coach. The Virgin America First Class is AMAZING. It's the nicest First Class I've been in, with the possible exception of when I flew to Australia on Quantas. The seats were huge, comfortable, and I could stick my legs out straight in front of me, and there was still 8-12 inches between my pointed toes and the seat in front of me. The chair itself is power adjusted, like my car, which is nice, and has a built-in massager. There is an overhead reading light, and a bendable LED snake-light that comes from behind the seat for more focused light.

The Virgin RED entertainment system is very impressive. There are large touch screens which fold out of the arm rest and allow you to browse an extensive list of live TV channels, on demand TV shows, on demand Movies, a large MP3 library (including some great electronic music I wasn't expecting to find there), games, and more. On the way down I listened to some of the music, and on the way back I watched an anime movie.

The food was excellent. They offer a collection of tapas-like appetizers which were very good. For my dinner I choose a grilled vegetable ravioli with pesto sauce which was absolutely restaurant quality. Service overall was great.

I arrived into SFO on-time and was met in the terminal by my driver, who whisked me down to Palo Alto to the Westin I was staying at. The hotel was nice, and my room was great. However, they didn't offer shirt pressing or emergency laundry services. Also, no ATM in the hotel, and if you want a cab you have to walk over to the next hotel, their sister hotel the Sheraton, and try to snag one there instead. I unpacked, and then grabbed a cab to head to the pre-StartupSchool meet-and-greet at Y Combinator that evening. I arrived around 8:30, and the place was PACKED. There were hundreds of people there, all talking to each other, which filled the main room with a surreal buzz.

I grabbed a bottle of water, and made myself a name-tag. I didn't know a soul there, and I'm naturally somewhat introverted at large noisy gatherings like this, so I was a little worried. However, the great thing about this event was that virtually everyone else there A) was in tech, and B) didn't know many if any other people there. When everyone has a common ground (tech), it's easy to meet new people and join conversations. "Oh these people are talking about relative strengths and weaknesses of common databases? I can totally contribute to that conversation!"

I talked with a ton of people and must have given out about 40 business cards. I eventually ran into Paul Tyma, the owner of Mailinator, another temporary e-mail service, similar to 10MinuteMail. Mailinator was around first, so I'm the knock-off:) I actually never even looked to see if any sites like that existed before I built 10MinuteMail. We considered having a knife fight to settle which site was better, but opted instead to hang out and chat for a while.

Some other people/sites I met that night include David Parkinson and his EmptySpaceAds, Tim Robertson, Travis Cross and his OfficeTone, and many many more. Everyone I met was great.

As the last CalTrain left, and the crowd had thinned out considerably, I ended up heading over to Google with Paul, who took me on a late-night tour of the Google HQ.

Google is amazing. Very cool visualization tools, great digs, kitchens and food everywhere, laundry, mailing, etc... Every aspect of the building just screamed "We take care of our employees". I know there's lots of cynicism about many of those perks being there to "keep people working longer", but frankly the whole feel is about making the employee's life easier and less stressful, not trying to grind them up. All the free stuff is great, and of course every company needs a ball pit. This tour was definitely a highlight of my trip.

I finally made it back to my hotel, and fell asleep around 1 AM.

10MinuteMail Video on Revver

April 21st, 2008

I found a video someone made about using 10MinuteMail. You can view it here:

10 Minute Mail video

I'm pleased that people find it useful enough to bother creating a how-to video about it. Happy users are the best thing you can have.

And if you haven't seen it, I have a video tour of 10MinuteMail that I made myself:

10 Minute Mail video tour

Heading to StartupSchool

April 18th, 2008

In a couple of hours I'll be headed to the airport to catch my flight to San Francisco. It's going to be a busy weekend, but I'm really looking forward to it. I'll blog about it as I can. If you're down there shoot me an e-mail.

Adding the “Upload Image” Button in the ACC

April 14th, 2008

If you have your own content repository items defined, and you'd like the ACC to provide the Upload Image functionality for your internal binary properties, Russell Moore has figured it out:

In /atg/devtools/ create a local version of admins.xml:

 
<repository-admins>
  <default-admin id="YourRepository">
    <display-name>Your Content</display-name>
    <repository-name>YourRepository</repository-name>
    <create-bean-displays>
      <bean-display type="media" class="atg.ui.repository.MediaInternalBinaryEditor">
<property name="internalBinaryExcludedTableProperties" value="path, version, mimeType,data, length,url"/>
      </bean-display>
    </create-bean-displays>
    <standard-bean-displays>
      <bean-display type="media" class="atg.ui.repository.MediaInternalBinaryEditor">
<property name="internalBinaryExcludedTableProperties" value="version, mimeType, data, length, url"/>
<property name="internalBinaryTableReadOnlyProperties" value="path"/>
      </bean-display>
    </standard-bean-displays>
  </default-admin>
</repository-admins>
 

Thanks Russell!

RichFaces Modal Panels, s:graphicImage, and IE6

April 13th, 2008

If, like me, you are using the Seam s:graphicImage tag to serve an image from within a RichFaces modal panel, you may have run into an issue where in IE6 the image does not get displayed, and you get the dreaded red X of failure. It works fine in all other browsers, including IE7, and works outside of the modal panel, but not from within the modal panel.

It's not a problem with the image data (saving the image from another browser and serving it up directly works fine. I suspect it's a delay issue with the rendering of the modal panel. For me, it was serving up the red X about 90% of the time under IE6.

The "fix" is to stop using the s:graphicImage tag within the modal, and use a Servlet to stream out the image data instead. It's pretty easy.

One gotcha I had was that I already had a Servlet handling video output, and I couldn't find an example of how to configure two separate paths into the seam web:context-filter Servlet Filter (which allows access to Seam components, like the entity manager to load up the video/image items). A helpful response on the forums gave me this solution:

 
<web:context-filter regex-url-pattern="/image/*|/video/*" />
 

Also, if you're struggling to figure out what a library's new feature isn't working for you, no matter how many permutations of the documented usage you try, check the versions in the manifest files in the library's jars. Maybe, like me, you upgraded the jars in one project, but forgot to upgrade them in this one....