Sunday, September 16, 2007

Are They Really This Good?

Two weeks ago I was at a friend's house in San Francisco watching Cal play Tennessee. Somebody asked me who I was rooting for. I stated that I would usually root for an SEC team, but that I hate Tennessee. I felt compelled to repeat that with emphasis: I hate Tennessee.

So I really enjoyed watching Florida crush Tennessee yesterday. I found myself wondering: Is Florida really this good? I mean 59-20 !?!?

In all fairness, Florida got lucky. It was 28-20 when Tennessee fumbled the ball and Florida ran it in for a touchdown. Tennessee seemed to really fold after that. But isn't that how any blowout goes? There's some back-breaking play and the loser folds? One of the hallmarks of a great team is sensing this and jumping on it. That's exactly what Florida did yesterday.

Are they a great team? Hard to say. I will say this, barring some kind of awful injuries, Florida's offense is great. I thought they would be great next year, but we didn't have to do wait. When Urban Meyer came to Florida, every Gator fan thought "wow what would this guy's offense look like with the kind of athletic talent the state of Florida grows?" Certainly this had to be part of what Meyer wondered too when he accepted the job at Florida after turning down the Notre Dame job.

Now we know what the answer is. It's not the speed option anymore, it's the supersonic option. It's like watching a kick return on every play. There's so much action going on. And oh man, how it opens up the passing game! Did you see the 49 yard pass from Tebow to Harvin from the Florida 1 yard line? What made it so ridiculous was that it was play action. Play action from your own end zone? Unthinkable normally, but not when you can do play action on a three step drown and not involve the running back. The play action was to Tebow. He faked like he was going to run. Truth be known, that play should have gone a TD. A year from now, you can be sure it will, but Tebow was a little excited on that play and his throw wasn't as accurate as usual.

Harvin is the real key. His health scares me at times. He seems a little fragile. He's as talented as Reggie Bush in my opinion. He is such a perfect fit for Florida's offense. He makes the running game scarier, not to mention the passing game. I can't wait to see what LSU tries to do against him.

And of course that's when we really find out how good Florida is. LSU is such a hard place to win at, and their defense is ridiculous. I'm not too scared of their offense though. It's going to come down to strength against strength.

Tuesday, September 11, 2007

Open Letter to the President and Congress

I subscribe to several progressive mailing lists. Through those sites, I get lots of "sign this petition" or "donate money" or "write a letter" solicitations. Now I am far from progressive, but that's ok. Sometimes I agree with their topic, and participate. For example, I've signed anti-war petitions and sent anti-war letters to the San Jose Mercury. Sometimes I got solicited and I have the opposite viewpoint. I respond to those too, as that's part of why I subscribe to these mailing lists.

Today I got an email soliciting me to write the President and Congress on bailing out homeowners who are being foreclosed. I'm pretty sure that I was supposed to support more aggressive bailout maneuvers, but of course I advocated just the opposite. Here's what I wrote:

The last seven years have demonstrated the inherent problems with the Federal Reserve System. An attempt to soften a recession lead to massive debt and yet another unsustainable boom. Once again we find ourselves at the beginning of an economic correction. Will we continue to make the same mistakes as in the past? Will we try to soften things again, but this time by spending billions of taxpayer dollars to bail out failed speculators and foolish home buyers? Please let the answer be no this time. Let speculators fail and let homes get foreclosed. It's the only way for the market to correct itself and reward the people who did not make bad decisions by borrowing more than they could repay. Our national debt is so huge and the dollar is so weak, don't make things worse by wasting the tax dollars of future generations on the irresponsibility of the current one.

Friday, September 07, 2007

Today's Roid Roundup

I'm somewhat embarrassed to say this, but a mainstream journalist (Jayson Stark) actually wrote something that I half-way agree with. His point was that there is a double standard when it comes to steroid controversies. Barry Bonds get crucified, but Rick Ankiel and Rodney Harrison get a pass. He's right that there's a huge double standard, and there shouldn't be. Of course the "single standard" that he and I would prescribe are probably quite different.

I've said it before, but I'll say it again. I don't care that Rick Ankiel used HGH. I don't care if Barry Bonds used HGH. There that is a single standard, and a very easy one. It involves no qualifiers about their positions, the rules of the game, quantification or qualification of empirical evidence, etc. Just say "I don't care." It's easy really.

If I'm watching a baseball game, I hope to see the highest level of play possible. I don't care what it took to get to that level of play, that's somebody else's problem. Now the law might care, and if it does, so be it. Arrest Rick Ankiel if you want, just like you arrested Michael Vick. If we start talking law, I would argue against laws against drugs, but would argue for laws against dog fighting, but that's beside the point. I can't be too unhappy with somebody getting arrested for breaking a well-known law.

Jayson Stark is generally a complete idiot who is wrong too often to be funny. But he's right. It's really all a matter of if people like a particular athlete or not. If they do, then they don't care about steroids. If they don't, then they're just looking for any reason to defame, and steroids is an easy one ("You cheater! Think about the children!") Stark better watch out, or he'll wind up being really cynical about the public. And that's not good for ratings...

GWT 1.4

I recently finished writing a series of four articles for IBM on GWT. You might recall that earlier this year I wrote a two-part tutorial on GWT. The new articles for IBM aren't as introductory, though they don't require a lot of prior GWT knowledge. They're definitely more advanced though. I wrote the articles using the 1.4 release candidates, and then last week 1.4 went final. So I figured it was time to look at how GWT has progressed since the last time I wrote about it.

  • Cross Platform Problems -- Hard for me to say how much things progressed. I did almost everything on my MacBook, and things had always worked well on OSX. I did do a little on Windows. I had to do a little more configuration to get it to correctly run in hosted mode than I did on OSX.
  • Obfuscation -- Still a problem. Of course you can turn it off, which is good. Still, I pity the fool trying to debug GWT JS in Firebug.
  • No Java 5 -- Still a problem. GWT will choke on a List, but String[] is ok. Also, any annotations will choke it as well. So no returning @Entity classes from your RPC services.
  • Lots of boilerplate code to write -- Still a problem. You still have to write two interfaces and one class to create an RPC service. Inserting GWT into an existing page is easier, with just a single JS file to include.
  • Better build support needed -- This has a improved a little. The ant script that is generated is slightly more useful than the previous version. Still frustrating that there's no build script generated for creating a WAR file. You don't have to use GWT with a Java application server, but obviously a lot of people are. The RPC services require it as well.
  • RPC is bad -- Of course that can't change! RPC is still bad. I like how in the documentation, the GWT team mentions two different design philosophies for RPC services. One is to create RPC's specifically for the web application. The other is to have general purpose ones that can be re-used by many clients. Good luck on that last one. That would mean your general purpose services can only accept and return classes from the subset of Java 1.4 that GWT supports.

So that addresses my old pain points. Not much progress has been made. There are some new good points.

  • Performance improvements -- Ok, they've really done a good job here. Things are snappy even on a page where you use lots of generated JS to create your UI.
  • More Widgets -- Steady progress has been made here. You can get pretty far just using their widgets. I haven't tried out any of the commercial WYSIWYGs built for GWT, but these seem more viable and useful with more widgets. Of course, their widgets are very limited. They definitely aren't components. Compare a GWT widget to a Flex component, for example, and it's not even funny. GWT's widgets are pretty lightweight, but are low in functionality compared to similar abstractions found in similar frameworks.
  • Image Bundles -- Very cool new feature. I like how they use CSS to get nice layout of the images from the bundle. It seems like a great way to optimize the static assets in your app. Seems like it might play tricks with a user who wants to right-click on one of your images and do save-as, but oh well.
  • Localization -- This has always been there, but it seems better documented and exposed now. Plus there is a command line tool for it. It's pretty nice, though I question the logic behind doing your localization in code that is going to be converted to JavaScript and executed on the client.

So all in all, GWT has made some nice improvements and added some new features. They have not addressed the things that are their most blaring weaknesses (IMO), but then again those are probably the hardest things to address. I was surprised though. From my last big write up, I got a lot of feedback from people talking about how these exact issues were being addressed, i.e. that the work was already in progress. Was that really the case?

Thursday, September 06, 2007

More iPhone/iPod Thoughts

I didn't pay much attention to the price discount on the iPhone yesterday. I have no interest in an iPhone since I love my Blackberry and I like being on a 3G network. But in terms of business, the $200 price cut on the iPhone is big news. The obvious analysis from every wannabe Wall Street analyst all the way up to the real guys is that the only reason you'd cut the price of the iPhone is if it is not selling. That is an obvious reason to cut the price, and that is the most likely reason. But let me play devil's advocate for a moment.

The thing that caught my attention yesterday was the iPod Touch. Let's forget about why Apple released this wonderful looking gizmo for a moment. Let's just look at its price point. It's $300 for an 8GB iPod Touch. Imagine if the iPhone was still being priced at $600 for the 8GB version. That would mean you have to pay twice as much to get cell phone features added to your iPod Touch (remember the equation iPhone - phone = iPod Touch.) That's right, $300 just for phone features. In short, the iPod Touch @ $300 would really cut into iPhone sales @ $600.

So maybe Apple should charge more for the iPod Touch? Maybe it should go for $500? Ok, that's one way to go. Keep margins high across the board. Obviously there would be lower sales of the iPod Touch, but unaffected sales of the iPhone. There's clearly some calculus that could be done here with an examination of lower or higher prices for both iPod Touch and iPhone. Looks like the lower prices won out.

Then there's the other option of just not releasing the iPod Touch at all. There's clearly an untapped market for people who like the iPhone but will have nothing to do with AT&T. I should know because I'm in that market. So not releasing the iPod Touch would definitely leave some money on the table. Again there's a clear calculus here. How much money do they lose by cutting iPhone prices vs. how much are they gaining by introducing the iPod Touch. Keep in mind that some of the losses in iPhone prices are bound to be made up by higher sales.

So maybe the iPhone sales have stunk it up, but there's more variables in play here. I personally think that iPhone sales have been better than expected and that this was the plan all along. If you look at it in terms of Apple maintaining their monopoly on MP3 sales, and thus digital music downloads, this seems to make a lot of sense. That's their cash cow, not the iPhone.

One last iPhone related thing... The launch of the iTunes Wi-Fi Music Store is very interesting to me. Is it a pure web app? Apple claimed that there would be no special apps for the iPhone, it would just be a web app device. Are they eating their own dog food here, or is there some kind of binary being downloaded to iPhones via software update and being pre-loaded on the iPod Touch.

Elite Colleges

Just finished reading Paul Graham's latest blog about how overvalued degrees from "elite colleges" are. Obviously I am very biased on this topic, as I went to a college that would be considered elite by folks like Graham. So of course I disagree with Graham, right? Sort of.

I might sound rather arrogant to say "no elite schools produce smarter, more capable professionals." Instead I'm going to say something even more arrogant: most elite schools do not produce more capable professionals, but there is one that does and that's my alma mater, Caltech. So basically Graham is right, except when the school in question is my school!

When I was a freshman at Caltech, I had a very good high school friend who was a freshman at Harvard. She and I would talk on the phone every week. I had also been accepted to Harvard, and a lot of my family and teachers were disappointed that I went to Caltech instead of Harvard. So I was very interested in what life was like there, since I could have gone there.

Anyways, my friend at Harvard told me her schedule one night. My dorm room had a white board on the outside of it. I wrote her schedule on it. Everybody who walked by got a good chuckle out of it. It was humorous for a Caltech student. Why? You could only take four classes at Harvard. You had to get special permission to take more than that. Four classes was the minimum you could take at Caltech. You had to get special permission to take less than that. In amusing mathematical terms Max(Harvard) <= Min(Caltech)

I had another classmate at Caltech who had a tough time there. He felt like it was just too hard, so after his freshman year he transferred to Yale. A year later he transferred back to Caltech. Why? He said that after going to Caltech, Yale was a complete joke. Even though he was miserable at Caltech, he knew he had to go there.

The point of these anecdotes is that Caltech is a unique place. Not everybody who comes out of there is guaranteed for success. Ask Terry about Caltech, and he'll tell you that Google's dominance in search vs. Yahoo is evidence of the inadequacies of a Caltech education. However, Caltech is a tough place to survive. A lot of students don't survive in fact. There's a certain amount of intelligence and even more determination needed to get through. That's why Caltech grads are fundamentally different than grads from other elite schools.

Wednesday, September 05, 2007

New iPods

I've been thinking about buying a new iPod Nano. I've had mine for two years, and its been a little flaky lately. I had to do a restore on it, losing some workout data. It froze up on me, and I had to do a soft reset. It's had some unexplainable loss of battery, where it suddenly only got an hour of play off a full charge (it then got four hours of play on a subsequent full charge.) I knew Apple was planning on new iPods though, so there was no point in buying one until the new ones rolled out. That day was today.

Thew new Nano is interesting. It's cool that it can play video. The pricing is nice, with 8GB for $200 (my 1st gen Nano was $250 for 4GB.) However, it is not backwards compatible! What do I mean? Well it looks like it would still work with my Nike+iPod kit. That is good. The new form factor will definitely not work with my existing Marware armband. A protective armbad is essential for anybody who uses their Nano to work out. So that is bad. Right now the only armbands are the weak one from Apple. These are not sweat-proof. So maybe I'll buy a new Nano, but only Marware (or somebody) has a protective armband.

But wait, there's more. There was a new iPod, now dubbed the Classic. You gotta love a 160GB iPod.

The big news is obviously the iPod Touch. Apple took the iPhone and ripped out the phone part. Perfect! Perfect! Perfect! For $100 more than the Nano, you get a bigger screen with Wi-Fi and Safari. Ok, so it's not quite the iPhone sans AT&T. Looks like it is missing some of the iPhone's widgets, namely email. Email sucks on the iPhone when compared to my Blackberry anyways. Now somebody just needs to get Skype on the iPod Touch and Apple's conversion to the dark side will be complete.

As for me, I don't think the iPod Touch would be useful for running. I don't think I'd be able to use the Nike+ thing, and I've heard the iPhone's headphones jack is weird. So my Sennheiser sweat-and-wind proof headphones might not work either. That's how Apple rolls.

Thursday, August 30, 2007

Ozzie Guillen

I got a good chuckle when I read about Ozzie Guillen's latest tirade. This is just sweet justice. They so deserve to stink. Their lineup is full of the kind of players that ruin your team. Their love affair with small ball has their roster full of guys who can't take a pitch and just make outs constantly. Guys like Scott Podsednik, Darin Erstad, and Jerry Owens. They've gotten about what you would expect out of Jim Thome, Paul Konerko, and Jermaine Dye, but I'm sure that's where the blame will fall. The only guy in their whole lineup who has any plate discipline is Thome. He's had a slightly subpar year by his standards, but he's 37. What can you expect? They are dead last in the AL in runs scored, but this exactly what they should have expected. They're also dead last in OBP at .317 (!!!) -- funny that.

Their pitching has been bad, too. John Garland has been a little worse than you might have expected, and Jose Contreras has been truly awful. Mark Buehrle and Javier Vazquez have been about what you would expect. Their bullpen has been bad except for Bobby Jenks. Again most of these guys haven't been any worse than you would expect.

So yeah the White Sox are really bad, but they should be really bad. Their management put together a bad team. Who knows how much of that equation is Guillen. He's certainly shown a love for putting fast guys with no patience at the top of his batting order, and that is a major reason for their terrible offense.

Wednesday, August 29, 2007

HTTP Request Headers and Flash

I've been doing a lot of Flash/Flex work over the past few months. I recently had a colleague ask me if a SWF embedded in a page has access to the cookies for that domain. I knew the answer was no, and said as much. Then I started thinking, that just seems wrong. Why doesn't a SWF have access to cookies, and for that matter, all the HTTP headers that were sent as part of the request for the SWF?

It's easy to create a simple page with a SWF embedded in it and load up Firebug to watch the HTTP traffic. I created a simple two page app to experiment with this. On the first page, I used so JavaScript to write a cookie. By the way, this is annoyingly mundane. I know there are JS libraries for abstracting this and providing a clean API, but you would think that IE or Mozilla would have added an extension to JavaScript that does exactly this. Having to do document.cookie.indexOf(...) and document.cookie.substring(...) all the time is just ridiculous.

Back to the app. After setting some cookies, there is a link that goes to page two. Page two includes an embedded SWF. Watching the traffic on page two, I could clearly see cookies, user-agents, referrers, etc. all being sent as part of the HTTP request for the SWF. One interesting thing is that the referrer was page two, not page one. That makes sense, though.

So everything is clearly there, it's just not available to the SWF runtime. Any parameters on the query string are available. In Flex you can get to them using Application.application.parameters. This gives you a classic ActionScript Object, i.e. an associative array. So if you put the URL for the SWF as http:///widget.swf?foo=bar then you can write AS code like Application.application.parameters.foo. So not all of the HTTP request is being thrown away, though the headers certainly are.

All I can think of is that this is a security issue. It creates other potential security problems though. Imagine if page one in my app was a login page, and page two was some kind of personalized home page. A lot of websites use cookies for authentication, and that authentication is not being passed to the SWF. What's a developer to do? There are lots of options, but you can imagine some very unsavory and horribly insecure ones.

Anyways, I thought maybe I was wrong all along, and just didn't know what I was talking about. It certainly wouldn't be the first time, and especially considering I didn't know any Flash 12 months ago. So I posted the question on Flexcoders... It's been about 24 hours with no responses, which usually means nobody knows the answer.

Michael Galpin: May 9, 1974 - October 14, 2007

It's official. I'm going to die on October 14, 2007. That's the date of the San Jose Rock n' Roll Half-Marathon. I've been training for it for a couple of months now, and I've stepped that up recently. I did a 10-Mile run about a month ago, and that was definitely a huge physical challenge. I've got less than six weeks to get ready for 13 miles! Definitely going to die...

Saturday, August 18, 2007

iWork '08 Stupidity

I downloaded the trial of iWork '08 last week. I would really like to stop using MS Office on my MacBook. I had a new IBM article I needed to start working on, so I figured one good way to see if I could switch to iWork would be to use Pages to write the article. It's an easy test really, since I don't do anything too complex.

I was working on the article on the plane this morning. When we were about to land in Dallas, I saved my work and closed iWork. I'm going to be in Florida for the next week, so I decided to switch over my time to central, as Dallas is also in the central time zone. So I did that.

Now I'm sitting at my gate with a two hour layover. I decided to do so more week after I ate lunch. I put together a nice graphic in Pages, where I overlayed a screenshot and drew on it to highlight important parts of the screen. This is something I usually use a separate program for because it's awkward in Word. I was able to do it easily in Pages. The thought went through my head "Word, your days are done."

I was so happy with this accomplishment that I hit CMD-S to save my work. I got some cryptic message about not being able to save unless I either entered a serial or began a trial. I clicked trial, and it told me that my 30 day trial had ended. Thus I could not save my work.

WTF!?!?! The stupid program hasn't even been out for 30 days. I'm assuming that it did this because I had tinkered with my date (changing the time zone) earlier. This indicates several layers of stupidity. First, iWork is verifying the trial against the clock on the computer. I didn't think anybody was dumb enough to do that anymore because it's so easy to circumvent. Oh, but Apple is smart. They're also doing a check to see if you mess with the date/time. Only problem is that their cleverness isn't clever at all. Changing timezones caused a false positive.

At this point I did consider going ahead and buying iWork. I figured I'm probably going to do it anyways. I just couldn't do that though. It would be like I had been bait-n-switch'ed. Apple broke their part of the deal (letting me use their product for 30 days) and I was supposed to now pay them for this? There's no way I could do that. I might not even buy iWork at all now.

So instead I opened up Word, and copied the document over to it. Luckily I wasn't too far along, so it wasn't too hard to re-assemble or reproduce the non-text parts (like tables, code samples, and the infamous screenshot.)

Thursday, August 16, 2007

Have MacBook, Will Travel

Saturday I'm flying to Florida to visit family. I'm planning making heavy use of my MacBook both on the flight and in Florida. The thought occurred to me that maybe I should buy one of Apple's MagSafe power adapters that work on the airplane. Reading the reviews on Apple's site was very useful. Here's what I learned:

  • First, make sure your airline seat has a power outlet. This turns out to be easy. Just go to SeatGuru. This is an awesome site! For me, I looked up my flight on American Airlines (I needed the confirmation code, but that was included in my itinerary on Expedia.) For each flight, I could look at the Flight Details and see what kind of plane it would be. I then went to SeatGuru, picked airline, and then picked plane model. You get a map of the seats with not only information on what seats have power outlets, but also other info like "this seat doesn't tilt back" or "it gets cold or loud here" etc. Very nice! I found out that neither of the seats on my two flights (coming and going) had power outlets, but I could change my seat assignment on American Airlines' site and pick seats that did!
  • Next, the Apple airplane adapter does not provide much juice! It will not re-charge your laptop, and in some cases you will continue to drain your battery albeit at a slow rate. So if you're going to use it, start using it as soon as you get out your Mac. Don't wait until you get the warning about being low on juice.
  • Finally, the adapter has a removable tip of some sort that allows it to work with different kinds of outlets used by different airlines. This tip is a major source of problems because you can pull the adapter out of the outlet, and the tip remains behind. Many people have left their tips behind, forcing them to buy a new adapter ($60.)
In the end, I decided not to bother with the adapter. I didn't want to change my seats because I would have to give up aisle seats for seats in between people to get a seat with an outlet. Plus, my MacBook gets very good battery life, especially when you turn off the wireless, which obviously I will do. I figured I would only have about 3 hours of time I could use my MacBook on the flight, and my battery life is much better than that. I will use my iPod to listen to music, just to save a little more juice from my Macbook. Speaking of which, I am looking forward to using my headphones on the plane.

Tuesday, August 14, 2007

Silicon Valley Millionaires

There's been a lot of talk about this article in the NY Times and once again I felt compelled to join the echo chamber. The thing that struck me about this was how the NYT spun things.

On one hand, we have hard-working professionals who have made a lot of money. They made a lot of money, and yet they continue to work hard. They continue to worry about sending their kids to college. They drive modest cars and live in modest homes. In short, they made a lot of money and it didn't change them.

How is this bad? If you make a lot of money you're supposed to suddenly not want to work, not care about your kids, and live lavishly?So that would be good, and continuing to work hard and living modestly is bad?

Then the article is littered with statements like "People around here, if they have 2 or 3 million dollars, they don’t feel secure" ... Ouch. But who said that? Maybe it was an engineer at a startup? Or maybe it was a salesman at large software company? Nope. That quote (and another similar one) are from an estate planner. That's right it's a quote from a guy whose job is to tell people they need to worry about their ... financial security.

Now I can't forget another quote that's the big finale of the article: "Here, the top 1 percent chases the top one-tenth of 1 percent, and the top one-tenth of 1 percent chases the top one-one-hundredth of 1 percent." Now who said this? This time it's from a serial entrepreneur. Clearly that's a good source for a generalization about the millions of people in The Valley.

Look, I don't expect the NYT to understand The Valley. This is a very unique place. There's a lot of smarts and a lot of money. The thing is that both of those ingredients are necessary and you have to understand both to have any hope of understand The Valley. It's easy for outsiders to concentrate on the money and try to explain everything. So if rich people are working hard it must be because they feel like they aren't rich enough, right? Um, no...

Thursday, August 09, 2007

The Age Question

I've avoided joining the echo chamber on the question of age and entrepreneurs, but then Marc Andressen wrote something really interesting about it. One of the important "scientific" conclusions he sites is that in some disciplines (math, physics) people peak in their late 20's to early 30's, but in others (writing, history) they peak much later, in their 40's or even 50's. So then the question becomes are entrepreneurs more like mathematicians or historians?

Of course most people would say that entrepreneurs are more like mathematicians, so the younger the better. I will argue that entrepreneurs are nothing like mathematicians and physicists, but that does not mean that they are not more like those types than they are like historians and writers.

First some disclaimers. I have a degree in mathematics, and like to humor myself by considering myself a mathematician at my core. Truth is that I am a software engineer, a very different discipline, and I cannot deny this.

Ok, first off entrepreneurs are completely full of themselves for trying to enter this kind of comparison. By even making these analogies, you are equating the creativity and skill of scientists and scholars with the ... attributes ... of entrepreneurs. This is ridiculous. It is like trying to compare the skills of a microsurgeon with the skills of a race horse. It just doesn't make any sense.

Entrepreneurs definitely have creativity, intelligence, and skill, but it is not of the same species as scientists and scholars. Entrepreneurs have any measurement of their prowess: money. If their ideas make money, they are good ideas. If they do not make money, they are not good ideas. It's painfully simple.

Scientists and scholars are held to very different standards. Now it is true that scientific endeavor is open to experimentation and verification, a kind of litmus test similar to the success or failure of an entrepreneur's business. But a lot of the really great scientists have theories that are so theoretical and advanced that they cannot just be easily verified in a lab experiment. Similarly mathematicians must write proofs of their theories. These proofs must judged both objectively and subjectively by peers. Of course scholars have no "out" in terms of being proven right or wrong. Thus they all share something similar: their success is measured in the near term by the scrutiny of the most brilliant minds in the world.

This is a kind of scrutiny that no entrepreneur can experience. If the top two dozen computer scientists all thought that Google had a great search engine eight years ago, it would not have meant anything for Google. If those same elite scientists decided Google was crap, again it meant nothing.

The other flip side to the world of science and scholarship is that the very peers who decided your success or failure, are often wrong. That's why there are numerous examples of scientists whose work is not appreciated until after their death.

I could easily make arguments about how scientists and scholars have to be so much "smarter" than entrepreneurs, but I think just looking at the criteria for success is sufficient.

Again, given my background in mathematics, I have a little insight into why mathematicians peak in their late 20's or early 30's. The obvious reason is that solving highly theoretical problems requires tremendous time and submersion into you work. This is true, but it's only part of the reason. The other reason is that to solve those kind of problems, you need to have very little else to think about. I'm not talking about things outside of your work and study, I'm talking about things inside it.

As you progress in any field, you absorb more and more knowledge. This knowledge is tapped in some way, even if subconsciously, whenever you set out to solve a new problem. Knowing less, and thus have more focussed concentration on what you do know, is exactly the kind of thing needed to solve certain kinds of problems. Those kinds of problems are much more common in mathematics and physics than in history and literature.

So even if I humor the self-loving entrepreneurs out there and compare them to scientists and scholars, I cannot really say who they are more similar to. I do think that engineers play a significant role in the kind of technological endeavors common to entrepreneurs. As an engineer who was once a mathematician, I can say with confidence that engineers are much more like writers and historians than like mathematicians and physicists. Extra knowledge and experience definitely help an engineer to be more creative and productive. Computer scientists may be more like physicists. I wouldn't know, as I am an engineer, not a computer scientist.

#756

One of the great things about eBay is the endless opportunities for profit. It's like when the iPhone debuted. The only company (besides Apple) hoping for Apple stores to sell out quickly was eBay. Of course we would love to have #756 auctioned on our site. For that matter, how about #757 hit just last night? And don't forget #755. You get the picture.

Anyways, I was pretty surprised to see the Hank Aaron video message to Bonds after Barry hit #756. Everyone wants to be so righteous and hold Barry in contempt. At the same time, they realize that people everywhere were following the chase, so they wanted a piece of that action. Bud Selig may hate Barry, but how much coin has Barry put in his and the other owners' pockets?

I like having Barry Bonds as the top player of my generation. I like that we have a guy who was already the best in the sport, but who went out, broke the rules, used technology and took the game to levels it had never seen before. He did it and never apologized for being better than everybody else before him.

When Mark McGwire broke the single season record, I remember thinking "man if he suddenly stays healthy into his 40's, he could break Aaron's record." I am so glad that didn't happen. McGwire was always ashamed of his use of juice. He just wanted to fit in with the greats and be liked by the masses. He needed the juice to do that, but he also needed for people to not know about the juice at the same time. He was too weak to break the record, and too weak the represent my generation.

Barry is perfect. He doesn't care about people liking him. He doesn't want to fit in with the greats of the game, he wants to tower over them. He's egotistical, self-centered, and completely focussed on success at all costs. He's the modern day Ty Cobb.

Wednesday, August 08, 2007

Numbers

I had to try Apple's latest addition to iWork, Numbers. It's not just a pure Excel clone. It has a very nice UI. I really liked the templates it came with. I was most impressed with being able to copy HTML tables and past them into Numbers. That's a nice feature of Excel 2004 on the Mac. On Windows, you only get that if you use IE with Excel. It doesn't have pivot tables though. That is a deal breaker for power users. Still, it's pretty nice. I'm going to see if Pages has improved more. If it has, I could definitely seeing myself using Pages and Numbers instead of Office, especially since Office is still not a universal binary. Keynote was already superior to PowerPoint IMO.

Artile on TheServerSide.com

My first article for TheServerSide.com is now available. It's about calling a SOAP-based web service from JavaScript. It uses WSO2, a powerful set of web service tools built on several of Apache's products like Axis2. WSO2 is similar to Geronimo. It takes a lot of best-of-breed technologies and ties them together in an integrated, and easy to use package. The article talks a lot about a JavaScript library called WSRequest. This is a very cool JS library for calling web services. It lets you expose your application through a web service, and then leverage the same web service for building a UI on top of that service. It's classic don't repeat yourself.

Tuesday, August 07, 2007

New Articles on IBM

There's a couple of new articles that I wrote that are now available on IBM developerWorks:

The Geronimo renegade: Using integrated packages: Codehaus' Woodstox: This is an article all about Geronimo's StAX implementation, Woodstox. If you're an old veteran of XML parsing like I am, you have to love StAX. Woodstox is not only an excellent StAX implementation, it is a killer piece of software. We use it in a lot of places at eBay because it is so fast.

Use JavaScript to make your XForms more robust: This is a very cool article about mixing JavaScript and XForms together. XForms has become kind of a forgotten technology, which is a real shame. It has so much to offer. I think part of the reason it is forgotten is because people don't realize that it is standardized and integrated with other technologies. It plays nice. It's not some one-off technology that lets you do some cute things in a sandbox. This article shows how everything in the XForms world is accessible through JavaScript. It's not a read-only kind of access either. You can modify models and forms, etc. I'm planning on writing some more on XForms and how it integrates with a certain well known AJAX framework that is usually referred to as a three letter acronym...

Monday, August 06, 2007

Mmm Frameworks...

Java guys love frameworks. Instead of solving problems, we'd much rather build things to help others solve problems. We feel like we've accomplished so much more that way. There are a number of different, but equally interesting motivations for frameworks.
  • Make things easier ... This is the one we're all the biggest fans of. Ain't it great when a framework turns hundreds of lines of code into a dozen? That's why Rails is so popular. There is tremendous tangible evidence of what the framework is doing for.
  • Incremental improvement ... We've all got our favorite frameworks, and we always wind up finding the warts in them. You inevitably find yourself saying "the guys who wrote this framework should've just done X, Y, and Z. Then it would be perfect." This leads to somebody doing X,Y, and Z. You could probably fork, but it's so much more glamorous to claim your own territory. All the Struts clones like Spring MVC and Stripes are great examples.
  • Port ... A lot of frameworks are just ports of other frameworks from other languages: NHibernate, Grails, even Cake for that matter. Sometimes it's somebody's way to prove that thier language is still better than that other language, or maybe they've just been forced to write in some other language and miss their favorite framework.
  • Solving hard problems ... These are the least glamorous kind of frameworks. They take on really hard problems and try to solve them, or at least make some progress. There's no Hello World fluff in these frameworks. They may not be easy to use, heck they might be really hard to use. Google Web Toolkit is a pretty good example of this kind of framework, though it also seeks to make some things easier (a la #1.)

What do you look for in a framework?

Wednesday, August 01, 2007

Tomcat 6 on OSX

I needed to run Tomcat, so I decided to use Tomcat 6 for a change. I got an all too familiar when I tried to start things with catalina start:

The BASEDIR environment variable is not defined correctly

Grrr... I've had this error before, but I couldn't remember at first what the deal was. Then I remembered it... The shells scripts in $CATALINA_HOME/bin aren't executable by default...

cd $CATALINA_HOME/bin
chmod +x *.sh
./catalina.sh start
Using CATALINA_BASE: /Users/michael/dev/apache-tomcat-6.0.13/
Using CATALINA_HOME: /Users/michael/dev/apache-tomcat-6.0.13/
Using CATALINA_TMPDIR: /Users/michael/dev/apache-tomcat-6.0.13//temp
Using JRE_HOME: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home

Ahh, much better!