Tuesday, August 23, 2005

atom+safari

If you're publishing an atom feed but Safari only shows the title with a big "No Articles" make sure that you don't have the xmlns attribute in the root <feed> tag, no matter what the specification says :(

Sunday, August 21, 2005

Ryan returned from Ireland the other day and retol...

Ryan returned from Ireland the other day and retold some excellent stories, as always. The coolest topic was the game of Hurling. I looked up some movie clips to learn more. I think I've seen it on TV before but didn't know it was called Hurling. The second movie has some cool clips of "free taking." The county of Cork supposedly has one of the better teams in the country--Jordan, you should check it out.

I found one of my sister's books lying around the house: ttyl. I wish it had search-inside-the-book because it's pretty funny. The whole book is a series of IM conversations, and the pages are basically screenshots of chat windows.

Tommy threw another sweet party last night in honor of Arun's birthday/departure. Good bye and good luck Arun. You need to send out a copy of the video Josh put together, unless it's mostly serious people giving sentimental and personal goodbyes.

Thursday, August 18, 2005

Hope, cure, future

Anyone interested in seeing the Jimmy V Celebrity Golf Classic with me? Sunday, August 28 in Cary. The list of celebrities isn't stunning but the parents are out of town so we have a couple of tickets that aren't being used.

Sunday, August 14, 2005

94305

Stanford is pretty. Silicon Valley was made for biking. The weather is consistent.

And they have teh market.

The next couple of years should be a good time.

Monday, August 08, 2005

Baby Name Voyager

People who read Freakonomics (and people who didn't, I guess) might appreciate the Baby Name Voyager. Just heard about from a recorded conference session so it must be fairly old but perhaps some will find it novel.

Saturday, July 30, 2005

Garage Opener


Garage Opener
Originally uploaded by martin.davidsson.
Testing Flickr blog integration.

In the 6 years of living here (on and off), I hadn't noticed how poorly the garage opener design was. Why limit it to two columns instead of using the familiar layout of a mobile phone. There is plenty of available width. It must take me twice as long to punch in the PIN as it would on my phone. I'll just have to do it often enough to train the muscle memory.

Friday, July 29, 2005

Blandat

Finished my first book ever: A Short History of Nearly Everything. Everything here means astrology, geology, physics, chemistry, taxonomy, zoology, etc. Thanks to [info]amienowheels for letting [info]songchilde borrow it.

Does anyone need a car? How about a 2004 Silver Toyota Corolla. Less than 30,000 miles. Say $12,000. Strike now and I'll throw in the auxiliary input adapter, i.e. you can listen to your MP3 player through the car stereo!

Does anyone have an apartment in the Palo Alto area? 3BR... ~$2000/mo. Need to move in by mid-September.

I always wondered what the 'FT' in MSFT (Microsoft's stock symbol) stood for. I mean MS must be MicroSoft... so what's FT? I recently became the last person to figure out that it must be MicroSoFT.

Anyone ever heard of SkillFusion? Just curious, and if so, what do you know about it?

Occasionally, NetNewsWire will "stick" on certain posts. When I advance to the next unread post, the title changes, but the entry body displays the content of the previous post. After about 20 seconds the body will update to display the correct information. Lazyweb? (as if I have that luxury)

I'm tired.

Monday, July 18, 2005

Requests

NetNewsWire needs to be able to display posts in chronological order, the reverse of arrival order. And if it is able to do so, I need to know how. It also needs the prefetching functionality of the Google Accelerator, for when I use it offline. Most of the more interesting posts include a link to some other document that I can't retrieve.

I got an e-mail from a guy about a mobile social network. He got my e-mail through some site that tracks community wireless groups. I [re-]started such a group after noticing there wasn't anything in the RDU area when I was interning at a company that dealt with setting up wireless networks. All the group ever entailed was a mailing list and I don't think anyone has posted on it in a while so I'll post the note here instead.


My team has created a project called Meetro that is a location based community building software of sort. You could also call it a social network. It works completely off of wifi networks, so we're looking to work
together with as many of the community projects out there to spread the word.


I fulfilled his request because of the latest news item on the page:


We've launched! Three cheers to the entire team for their herculean+ effort. We're off to get shitfaced. See you cats in the morning.

Wednesday, July 13, 2005

)(

If you ever want a laptop with excellent wireless antennas, get an HP/Compaq. My dad has an HP; mom has a Compaq. They blow away the 12" Apple PowerBook (from 2003) with an Airport Extreme. Despite the addition of two wireless networks in the neighborhood from last summer, I can't get a consistent connection from inside... even with the aluminum foil. Looks like it'll be another summer of trading mosquito bites for bandwidth. Also, dad switched cellphones with me until his mobile gets unlocked, so there goes the Flickr activity.

Tuesday, July 05, 2005

RDU-EWR-ARN

Just to drive home my point about Continental...

  1. The agent at the gate had promised us that our flight had been rescheduled and arranged. Nothing else to do. I call to confirm the day after and the agent had in fact done nothing at all.

  2. After one hour in the air the pilot announces they're having some rudder difficulties and decides to turn around, just to be in the safe side. The return and switching of planes delays us another 5 hours, in addition to the 3 days we'd already been set back.


Either way, check Flickr for some low-res pics or davidssons.com for some better--but less frequently updated--photos.

Thursday, June 30, 2005

Work hard. Fly right.

Next on the list of people needed to started an epidemic is the Maven. I was reading about Mavens as Melanie and I were sitting at the gate waiting to fly to Newark and then on to Sweden.

Mavens are incredibly well-informed about markets and very helpful in assisting others in their purchases. I know a guy who watches automobile prices like a hawk and makes a nice profit on just buying and selling cars. He'll buy a BMW/Porsche/SAAB/whatever when he spots a good price, drive it for a few months, and then turn around and sell it for a profit.

After a few chapters we board the plane but soon the pilot says "Don't throw anything at me but we've been delayed by four hours." The flight was eventually cancelled due to inclement weather at Newark. They can't do anything about that, but the way they handled the situation was far from graceful. I'll pretend to be a maven by spreading my advice to use another airline when you fly. Fly SAS, or NWA, or any airline that uses Airbuses.

Saturday, June 25, 2005

Beach weekend

We're down in Wilmington for the weekend. Others will have better write-ups in their livejournals so I won't try to compete, but I will say that Tommy's house is very hospitable.

I began reading Malcolm Gladwell's Tipping Point on the way down. I got as far as the chapter about connectors. Connectors are people who bring other people together. In the chapter he describes an extraordinary connector who goes to great lengths to keep up with all of his acquaintances... sending out birthday cards and trying to get in touch with friends from his childhood. Reminded me of my attempt I described in my last post, but I don't really have any of the other qualitifes of a connector. For an example, Gladwell had a sort of quiz he would use to quickly identify such people. He had a list of 250 last names, randomly drawn from the Manhattan phone book. He would ask the person to go through the list and count the number of people he/she was acquainted with that had a last name in the list. If the count exceeded say 50, the person was most likely a connector. I don't think I counted more than a dozen.

My dad just emailed me an MP3 recording of a voice mail that my physician's office left me at home. Another cool feature of VOIP I guess. I logged onto their website to confirm my appointment and I find out that I can view the lab results of my blood tests. Also cool. I don't know which surprises me more: seeing these features come around or the fact that it hasn't happened earlier. With Internet reaching 75% penetration in US homes, maybe we're approaching a tipping point in the market of bringing household activities online :)

Friday, June 17, 2005

Skriv gärna namn och e-mail adress!

I just returned from a party thrown by Matt. Thanks again Matt. He thinks my blog is dorky which is hard to deny. I guess I just don't use it to speak my mind about things other than what I deal with on a daily basis. This post will be a little different, but I'm staying true to the dorkiness by blogging on a Friday night.

I met a lot of nice people, two of which I share a mutual friend with. 1) Both I and "Leeway" (I don't know how to spell is name but that's what it sounds like) know Chethan. They know each other through ultimate at Cornell. I got to know Chethan through Americana at NCSU. 2) Both I and Simon know TJ. They know each other from being students at Georgia Tech. I met TJ at IBM earlier this year. The small world phenomenon never gets old. Surprisingly, the one person at the party who expressed an interest in social networks came off as the most socially inept person there. Reminds me of Dr. Doyle speaking about Marvin Minsky and how he noticed that students would always be most interested in the aspects of AI that they didn't handle very well themselves in real life. Clumsy students who fumbled around were interested machine vision, for an example. Minsky was always worried about the students who said they were interested in general intelligence.

I'll close on another random note. Eight years ago I got confirmed through the Swedish church. It took place over 3 weeks in the summer before high school started. At the end of the three weeks, I asked people to write down their email address in my bible that I just happened to come across. If I can get just one response, that would be neat.

Tuesday, June 14, 2005

Fixing web applications

Informative read. There are at least two items mentioned that I now need to address with our web application at work. Speaking of which, before that link popped up in my RSS reader, I was trying to figure out why our web application would call the homepage twice for one page load in the browser. Turns out <link rel="home" href="..." /> was causing it. I don't know why but both Safari and Firefox were causing the associated Struts action to execute twice. Fetching the page with wget, however, resulted in the expected behavior.

Another page had a more severe problem. It would hit the homepage 8 or more times for every load. I traced down the cause of this problem to a simple JavaScript statement that preloads an image. It just hit me. The images no longer exist and so multiple 404s must've been firing (the 404 pages happen to share the homepage's Struts action). I'll leave in the strikethrough text for my co-worker(s) to laugh/scowl at.

Random note: if you google for rel link="home", the web application I'm talking about shows up as the third result. Odd.

Sunday, June 12, 2005

OJB to Hibernate 3 Migration

I've spent far too long on this already so I'll make this brief but still try to help others out who want to go through the same process.

To convert your repository_user.xml file to a hibernate mapping file, try using this stylesheet. It's not completely automatic. I still had to add inverse="true" attributes in a few places were we're using bi-directional associations (see section 2.3.6 of the Hibernate Reference Documentation).

I also needed to tweak a few proxy attributes because we're using Castor XML which turned out to make things much more difficult. Hibernate uses CGlib for what it calls proxy generation. The problem is that it changes the class signature of the original class it's proxying for. When the modified classes get sent to Castor it complains about illegal/invalid characters because the class name is now suffixed with $$EnhancerByCGLIB$$. I had to patch the Castor source with a hack. Still looking for a long term solution.

Before all that mess I spent some time trying to figure out why Hibernate wasn't reading my JNDI datasource resource. It complained about an empty driver setting and a null URL. For those issues, refer to this helpful forum thread. Not the solution I was hoping for but it works.

Update:

I'm posting the change I made to Castor in response to a comment but it's pretty embarrassing :) These lines went below line 1293 of org.exolab.castor.xml.Marshaller in version 0.9.5.3 (notice the second if condition):

if (!containerField) {
//-- Make sure qName is not null
if (qName == null) {
//-- hopefully this never happens, but if it does, it means
//-- we have a bug in our naming logic
String err = "Error in deriving name for type: " +
_class.getName() + ", please report bug to: " +
"http://castor.exolab.org.";
throw new IllegalStateException(err);
}
if( qName.indexOf("$$-enhancer-by-cGLIB$$") != -1 ) {
return;
}
handler.startElement(qName, atts);
}

Lovely solution, right? Hope it helps you, Michael.

Thursday, June 09, 2005

Greasemonkey scripts for Greasemonkey scripts

It turns out that you can in fact modify a document that contains nothing but a javascript file. So if you set the @include directive to *user.js and do something like

var href = "http://www.example.com/stuff?" + getDataUri( document.documentElement.innerHTML ); document.documentElement.appendChild( aLinkUsingThatHref )

, you'd be ready to redistribute your own scripts. It even seems to work for Platypus generated scripts, despite the fact that the URL isn't in the form scriptname.user.js.

Sunday, June 05, 2005

Grandmothers Skyping

There was a link on the Skype Journal to a post about somebody's grandmother using Skype to communicate. I have to brag a little about my own grandmother. She's been Skyping for almost a year now, and sometimes she even initiates the call! OMG.

Saturday, June 04, 2005

Queues

I read a lot of other feeds out there. I at least skim all of the entries. I'm able to because the feed reader stores state and doesn't lose it between restarts. Many posts link to either other people's blog entries or web pages in general. I click the link and a new tab opens in my browser and remains there until I read it. For whatever reason, I rarely read it directly but queue it up for later instead. This becomes problematic when the browser crashes or I'm forced to restart the browser and it's been so long since I opened up the tabs that I don't care about losing them. Except that I do. I need a system to queue up tabs like this. I need a bookmarklet that forwards the page to a service that re-publishes the page to RSS and places it in a feed that I subscribe to so that I eventually will read it. Because then I'll be sure to revisit the topic as I make my way through unread items in my reader. The reader (NetNewsWire lite) is able to display HTML so maybe I can get away with escaping the entire page's content and serving that up in RSS.

Thursday, June 02, 2005

Notebooks on night stands

My dad (XFN link!) once told me to always keep a notebook by my bed for times like these. I've tried going to bed but random thoughts are keeping me up so I'll jot them down on my notebook. My notebook just happens to connect me to the Internet.

I was experimenting with data URIs a few weeks back and learned you could create separate documents on the fly. My experiment created an inline OPML XML file based on a blogroll-like listing that you could save and import in your favorite reader. I thought it could lead to cooler things, like create a bittorrent of larger downloads where the site didn't already make them available. Tracking and seeding this file was still necessary, however, which put an end to those plans. Now that there's a trackerless version of BitTorrent, maybe this is possible?

Platypus

I haven't seen this anywhere other than on the O'Reilly Radar so I'll give it some more visibility (thanks to my awesome Google PageRank): Platypus.

Creating scripts for Greasemonkey was pretty simple, but now it's ridiculous. When this gets out there's going to be an explosion in the number of scripts. I activate the extension, click around one the screen a little, and suddenly I have a customized page (within reason). In some ways, the whole web just became a portal.

Now we just need an easier/integrated way to share these scripts with the world. I wonder if you can write a greasemonkey script that modifies another greasemonkey script to insert a link. Ideally, the link would submit the title, description, and target pages of the script (pulled from the standard comments) along with the script itself to the repository of scripts.

Oh! And then... (this is like the 3rd edit of this post), we need an easier way to discover greasemonkey scripts that people have published. I need something to alert me when there's a greasemonkey script available for the current page I'm on--similar to the RSS auto-discovery feature.

And then... we'll do it all over again for Trixie.