samskivert
samskivert » geek

September 20, 2009

Why am I surprised?

I go to set up my My Qwest account page for my glorious new phone service and when I click “Create account” after typing in a bunch of annoying crap, it gives me a page that says “Oh, sorry, our shit is down right now. Try again later.” (I’m paraphrasing.) I try again a few minutes later and it claims that my username already exits. Awesome.

My account must already be created, so I try logging in and get:

Sorry, there was an Error
Found in: /profile/pageFlows/profileValidation/ProfileValidationController.jpf

The source of this error is:
Developer: Please check tag attributes and closing tags. Be careful of reserved words

[View Error]  [Close]

com.bea.portlet.adapter.scopedcontent.ActionLookupFailedException: javax.servlet.ServletException
 at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:699)
 at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.renderInternal(ScopedContentCommonSupport.java:268)
 at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.render(PageFlowStubImpl.java:136)
 at com.bea.netuix.servlets.controls.content.NetuiContent.preRender(NetuiContent.java:288)
 at com.bea.netuix.nf.ControlLifecycle$6.visit(ControlLifecycle.java:427)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:708)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:720)
 at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:183)
 at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
 at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:339)
 at com.bea.netuix.nf.Lifecycle.runOutbound(Lifecycle.java:186)
 at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:140)
 at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:370)
 at com.bea.netuix.servlets.manager.UIServlet.processControlTree(UIServlet.java:256)
 at com.bea.netuix.servlets.manager.PortalServlet.service(PortalServlet.java:779)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
 at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
 at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
 at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
 at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
 at master.com.qwest.filters.PrimaryServletFilter.doFilter(PrimaryServletFilter.java:149)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
 at master.com.qwest.filters.log.TeaLeafServletFilter.doFilter(TeaLeafServletFilter.java:78)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
 at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
 at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3229)
 at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
 at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
 at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)
 at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)
 at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)
 at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
 at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) Caused by: javax.servlet.ServletException
 at org.apache.beehive.netui.util.internal.ServletUtils.throwServletException(ServletUtils.java:164)
 at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:580)
 at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:851)
 at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:630)
 at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:157)
 at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
 at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1169)
 at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1200)
 at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:688)
... 55 more
Caused by: java.lang.NullPointerException
 at com.qwest.commons.utilities.AccountInfoHelper.createAccountInfo(AccountInfoHelper.java:72)
 at com.qwest.commons.controls.ProfileLoginManagerImpl.getAccountInfo(ProfileLoginManagerImpl.java:254)
 at com.qwest.commons.controls.ProfileLoginManagerImpl.getNextFailure(ProfileLoginManagerImpl.java:372)
 at com.qwest.commons.controls.ProfileLoginManagerImpl.validateProfile(ProfileLoginManagerImpl.java:190)
 at com.qwest.commons.controls.ProfileLoginManagerBean.validateProfile(ProfileLoginManagerBean.java:164)
 at profile.pageFlows.profileValidation.ProfileValidationController.validateProfile(ProfileValidationController.java:225)
 at sun.reflect.GeneratedMethodAccessor1294.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:869)
 at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:305)
 at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:51)
 at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2042)
 at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors[snip](ActionInterceptors.java:57)
 at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2114)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
 at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:554)
 at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:851)
 at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:157)
 at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1169)
 at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1200)
 at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:688)
 at com.bea.netuix.servlets.controls.content.NetuiContent.preRender(NetuiContent.java:288)
 at com.bea.netuix.nf.ControlLifecycle$6.visit(ControlLifecycle.java:428)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:708)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(ControlTreeWalker.java:717)
 at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:140)
 at com.bea.netuix.servlets.manager.PortalServlet.service(PortalServlet.java:780)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:857)
 at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
 at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
 at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
 at master.com.qwest.filters.PrimaryServletFilter.doFilter(PrimaryServletFilter.java:150)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
 at master.com.qwest.filters.log.TeaLeafServletFilter.doFilter(TeaLeafServletFilter.java:79)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43)
 at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:252)
 at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3229)
 at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
 ... 4 more

We have noted the error and will be working on the issue.

I’m sure it’s going to be fun to get my half-created account fixed. Joy.

I especially like the built-in warning to their obviously awesome developers: “Please check tag attributes and closing tags. Be careful of reserved words.”

Posted to geek by mdb at 8:54 am | Comments (0)       

March 26, 2009

A Whirled Tour

I gave a talk at the GDC this year, this time with a more technical bent than the usual business + metrics talks that Daniel and I have established an annual tradition of delivering.

The slides are available here for the curious and indulgent:

http://samskivert.com/work/2009/gdc/WhirledTour.pdf

I dare say it seemed to go over well. At least that was my impression and I have no intention of disabusing myself of it.

Posted to games| geek by mdb at 2:38 pm | Comments (0)       

December 1, 2008

Git out of my head

Last night I dreamt about GIT and implementing complex revision control policies atop its basic tools. In my dream I danced around the room as changes were fetched and pushed.

Posted to geek by mdb at 8:30 am | Comments (0)       

March 25, 2008

What in the Whirled?

Hey, here’s the crazy project that’s been consuming the last year and a half of my life:

How handy that it can be embedded right into my blog. At some point we’ll fix the URL clicking, but for now you can check it out for reals at www.whirled.com.

Posted to games| geek by mdb at 4:37 pm | Comments (2)       

February 3, 2007

iConcertCal

This thing is so awesome! It’s a plugin for iTunes (a visualizer) that scans your music library and then looks for upcoming shows by anyone whose music you own. Within seconds of installing it, I found out about four great shows that I would have never thought to look for. I didn’t even have to tell it I was in San Francisco. It magically figured that out from my IP address. It would be even cooler if it just exported this data in iCal format so that I could integrate it with my regular calendar. Huge props to Jonathan for the pointer.

Posted to geek by mdb at 9:05 pm | Comments (0)       

August 6, 2006

Scala

Scala has piqued my interest more than any language to come down the pike in a long time. Type inference makes me cry out with joy, Java-compatibility, sensible mix-in support (made all the more useful by their very sophisticated type system), first-class functions, continuations (mostly), very SML-like type pattern matching, list comprehensions. One could get into some serious trouble with this language.

I was then even more excited when I saw a paper by the language designer describing how he was able to easily implement an elegant stackless threads system as a library using only the functionality provided by the language (and the small compromise of requiring a continuation passing style, but the elegance of the language construct being used makes that hardly noticable).

I wish I wasn’t mired in a bastard mashup of Java, JavaScript and ActionScript at the moment. I’ll have to wait a bit before giving Scala a thorough run around the block.

Posted to code| geek by mdb at 7:15 pm | Comments (0)       

July 15, 2005

A new way to remap your keys

This keyboard is mind-bogglingly cool.

Posted to geek by mdb at 10:11 pm | Comments (0)       

February 7, 2005

The Centiscopic World

I finally dug out and plugged in this Intel Play microscope that I picked up on a lark a while back. At 200x it’s damned near impossible to adjust the cheap plastic platform in increments small enough to get good focus and without decent lighting, it’s hard to get a good image, but it is pretty neat. After looking at the collection of dog hair and honeybee wings they included in the box, I looked around for something else to jam under there.

My cellphone’s LCD screen looked pretty cool.
My phone at 10x My phone at 60x
10x 60x
My phone at 200x
200x

This nasty looking business is some cork at 60x:
Cork at 60x

While disassembling a Nintendo cartridge to see if there was anything interesting inside, I got a good close look at one of the screws:
Screw at 60x

Then I took a peek at some printed text. I figured that at, say, 600 dpi, I might see some actual dots at 200x magnification. However, it was not to be. Probably they print at a higher resolution like 1200 dpi and the resolution of the microscope is far from stellar:

Text at 60x Text at 200x
60x 200x

If I catch any small creatures in my apartment in the near future, you’ll be sure to get a good close look at them.

Posted to geek by mdb at 11:12 am | Comments (0)       

June 2, 2004

The terrorists have already won the browser wars

I ask myself why it’s not trivially easy for me to share bookmarks between browsers on the same and different machines, why I can’t even share my remembered password database between various incarnations of Mozilla on the same machine, why my addressbook is a scattered mess of overlapping collections in any number of incompatible formats. How have these basic needs been going unmet for now well over a decade?

Is it because the many eyes of open source are focused on esoteric bullshit like platform independent, declarative, XML-based user interface specification languages and the ability to skin everything from my word processor down to the dock applet that displays the network traffic going in and out of my machine? Maybe if I used only Apple products, I could sync everything through .Mac, or if I set up a whole Microsoft Back Office environment I could have these problems handled in some deviously proprietary way. But what happens if I use a Windows PC and a Mac (let alone throwing Linux back into the mix)? I’m right back up shit creek.

Somehow, we passed so quickly from one-computer-many-users, through one-computer-one-user, to one-user-many-computers, that the fundamental problem of sharing data between working environments slipped through the cracks. Unfortunately, one person or company can’t just “solve” this problem and make millions selling the solution. Instead it requires the coordination of myriad adversarial entities that are about as likely to cooperate as the Israeli and the Palestinians.

I guess it’s time to break out the duct tape and baling wire.

Posted to geek by mdb at 5:15 pm | Comments (0)       

February 9, 2004

Clever spammers

I happened to notice there were comments on some of my posts. Rather surprised that anyone I knew would bother to spend words on this solipsistic enterprise, I curiously investigated. I was right in a totally unexpected way. Spammers are apparently now posting to blogs with semantically ambiguous content, presumably in hopes that people will click on the link provided to the “poster’s” home page. They leave no stone unturned.

Posted to geek by mdb at 6:12 pm | Comments (0)       

MDB

Bits
Ludography
Reviewlets
Camera Wrestling
Archives:

samskivert.com ©2001 - 2009 Michael Bayne <mdb@samskivert.com>