Saturday, April 30, 2005
Welcome Richard Davis To The Blogosphere
Richard Davis, one of the software design engineers over here at SharpLogic, has begun blogging. Check out his site at http://www.sharplogic.com/blogs/rdavis, say hello, and subscribe to the feed. He's working on some very cool stuff that will be public very soon, so stay tuned!
4/30/2005 1:21:11 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  

 Tuesday, April 26, 2005
Error 2908 Happens To Be PEBCAK More Often Than Not

I was working on testing some bootstrapping code today and ran across error 2908 when my test machine tried to install DirectX's managed components. If you happen to be looking for help with this particular error and don't care about the rest of my story, check out http://blogs.msdn.com/astebner/archive/2004/11/10/255346.aspx.

Anyway, we're in a time crunch to get this particular project out the door, so I disabled a bunch of the prerequisite installs (including the .NET Framework 1.1) in order to save time. However, every time I hit the MDX install it would fail violently with error 2908. After doing a little research, it turns out that it's a GAC-related issue. My first thought was a la Homer Simpson: "stupid computer, you don't even have a GAC!" This, of course was the problem--you can't install MDX without the .NET Framework. As a result, this bug was truly due to the fact that a Problem Exists Between Chair And Keyboard (http://www.webopedia.com/TERM/P/PEBCAK.html).


4/26/2005 10:03:12 PM (Pacific Standard Time, UTC-08:00)  #    Comments [3]  

Admirable Spam Persistence

I started a consulting firm nearly 6 years ago (also named "SharpLogic Software", ironically) and signed up for a TGI Fridays card so I could earn points towards...whatever. As part of the signup process I gave them my email address and unintentionally became signed up for their monthly email. When I closed shop to join Microsoft 4 years ago, I took the domain offline and my ISP set up a bouncer to indicate all email to that domain was no longer valid. Now that the domain is back up, I'm getting the emails every month, which shows that they never stopped sending them over the 4 year period it was rejecting the messages. I wonder what effect anti-spam laws will have when well-intentioned companies aren't doing their part to minimize the email they send. Sure, I'm just as much to blame for not going up to their site and unsubscribing, but it's surprising that someone didn't catch the mail exceptions and remove them from the list after a few months worth of bounces. Maybe it's too much work for something that costs practically nothing. I wonder if anyone does that?


4/26/2005 4:40:11 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1]  

 Sunday, April 24, 2005
HB1515 And The Publicized Internal Scrutiny Of Microsoft

There has been a huge amount of debate over Microsoft's decision not to take a stance for or against HB1515 (at http://www.leg.wa.gov/wsladm/billinfo1/dspBillSummary.cfm?billnumber=1515), a Washington state bill intended to amend a series of existing non-discrimination laws to protect people of all sexual orientations in the same way they currently protect people of race, creed, and so on. Microsoft decided not to take a public stance on this bill and CEO Steve Ballmer has written a broad company memo (published at http://seattletimes.nwsource.com/html/localnews/2002251461_webmemo24.html) explaining how his personal feelings support the bill, but that the company cannot take a position for various reasons, including the fact that the company is largely made up of people on both sides of the debate. As a side note, I think this email was one of the most finely written emails I have ever seen. I also personally feel that discrimination for any reason is wrong in the IT industry (the only industry I know well enough to make a claim about) and will do my best to follow practices that reflect that feeling. But I digress…

Over the past few days, a number of Microsoft employees have publicly blasted the company for not coming out in favor of this bill. The general sentiment from these individuals is that if Microsoft claims to be supportive of the concepts included then the company should come out in favor of it, regardless of the fact that a significant portion of the company, its shareholders, and its customers may feel against it. They feel that the moral thing to do is for Microsoft's management to act unilaterally in favor of what they feel is right, and that Microsoft only decided not to support it because it was in Microsoft's best interest to stay neutral.

In other words, these individuals feel that Microsoft lacks integrity for not doing what they themselves feel is right. They feel so passionately that they publicly lambaste the company for following its own best interests. They're the kind of people who scorn those who continue to work for a company they feel acts immorally (or doesn't support the morals they hold dear) just because they enjoy the paycheck or “love the technology”. It's these hypocrites that are bad for the process, but hopefully those who have spoken out are truly sincere.

It will be interesting to see how many of these rants end up in resignations and how many were just angry at the time. I certainly don't expect these individuals to resign their highly paying, highly rewarding positions because it's not in their best interests, but I have great respect for those with the passion and willingness to leave their jobs over what they feel is right.


4/24/2005 7:19:38 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]  

 Friday, April 22, 2005
.NET Compact Framework And J2ME At Orange Code Camp

I had the opportunity to speak on Windows Mobile and .NET Compact Framework development at Orange's Code Camp earlier this week. Although the conference was somewhat small, it was very impressive to see an overseas operator (Orange is a subsidiary of France Telecom with over 50 million subscribers) invest so much in communicating with the US mobile developer community. The venue wasn't great, but the Orange team definitely did a great job with what they had to work with.

When I first joined the .NET Compact Framework effort at Microsoft in early 2002 (keep in mind that I have since left Microsoft to build software on the Microsoft platform), we hadn't quite hit Beta yet and were facing a developer community that was entirely wrapped up in J2ME. I spoke at several conferences about what we were planning and found that not having cross platform support was a show stopper for many developers. There were early signs of fragmentation starting to form in the J2ME space, but promises of an organized effort to fight this, the Java Technology for the Wireless Industry JSR, were mitigating fears.

Fast forward three years, and the .NET Compact Framework is nearing version 2.0 (in Beta 2 at the time of this writing). There are hundreds of thousands of developers, tens of millions of devices (still a somewhat small number but growing quickly), and—in my opinion—the most useful open source project in the mobile space, OpenNetCF.org, built around it.

As I spoke to attendees at Orange's Code Camp, I found that more and more they would talk about increased fragmentation being their biggest issue when developing for mobile devices. As it turns out, not only has the JTWI effort not really borne any fruit for the J2ME developer community, but the major players like Symbian and Nokia (you can generally use these names synonymously) have greatly distanced themselves from J2ME development in favor of their native platform APIs. As I attended sessions and spoke with reps at the various booths (people are much more honest with me now that my name tag doesn't say “Microsoft” anymore) I found that the handset players generally want developers to avoid J2ME in favor of their stickier native platform. However, once you get into a corporate development discussion, the native platforms aren't really useful, and so they fall back to J2ME with OSGi as an umbrella management story. This sounds like a much better story for corporate project managers because it implies a level of code and component reusability, as well as device independence, while offering the integration support Java is know for. Unfortunately, once companies dig into J2ME development they begin to turn over rocks that show that developing corporate, data-driven applications is much more difficult than expected due to significant limitations in the platform. Individual vendors have addressed these issues by providing device-specific libraries, which removes the ability to go cross-platform, but since the corporation can mandate the device used for the application it's not an issue. My response to this is “then why don't you just use Windows Mobile to begin with?” With Windows Mobile you are guaranteed of a very capable baseline platform, and can even swap out devices from different manufacturers if desired (there are over 35 Pocket PC manufacturers). While each manufacturer may decide to ship an SDK to add support for their custom features and applications, all you really need for development is Visual Studio (or the eMbedded Visual Tools) and the Smartphone or Pocket PC SDK and you're ready to go.

Ironically, every—yes every—cool J2ME demo shown to me at the conference was on a Microsoft device. (This is probably due to the fact that Orange ships one of the coolest Windows Mobile smartphones.) I asked developers what their cross platform answer was for J2ME apps and they told me that for commercial application development they knew that the app could run on other platforms, but that it would require a separate codebase in order to ensure the best experience on each device, even if those devices came from the same manufacturer. As a result, they just go with the most capable device to begin with.

Although I will admit my bias when it comes to Windows Mobile, anyone who has given the platform a legitimate chance can agree that it is extremely capable and the progress over the past three years has been tremendous. If the Windows Mobile team continues to ship consistently—which they have 3 years in a row—then it'll be very difficult for the JCP to catch up.


4/22/2005 9:35:13 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]