The Blog

Jun 21, 2008

Stan Winston: 1946 - 2008 

by Maxim Porges @ 12:01 AM | Link | Feedback (0)

I found out via the Uberbot Blog that Stan Winston passed away.

Stan was the special effects genius behind most of the movies I loved during my formative years, most notably Predator, Aliens, and the Terminator movies. As a young geek, I had a great appreciation for him bringing the characters to life and doing so in a realistic enough fashion to both thrill and entertain me in equal measure.

I'm sure the special effects industry owes Stan a debt of gratitude for his skills and inspiration. While he may be gone, he will live on in both his past work and its influence on future generations of movies.

Jun 13, 2008

AAPL Tanks on Concerns of Jobs' Health 

by Maxim Porges @ 7:34 AM | Link | Feedback (0)

Once again, AAPL investors react like a bunch of scared little girls due to speculation over Apple's prospects for continuity if something were to happen to Steve Jobs.

Jobs' departure is coming in the next decade IMO, and will certainly be a blow to Apple for obvious reasons. However, I'm personally unconcerned about the company's future under different leadership. I'll go on the record saying that (short of any major changes to the management structure at Apple) the CEO job will go to Phil Schiller.

Phil gives presentations that are equally peppy and enjoyable as Jobs', and he has the same passion and enthusiasm for Apple's products as Steve. I think he can do a great job running the WWDC and other conferences/trade shows and taking the company where it needs to go.

In addition, TImothy Cook has done a great job as the company's COO, and would continue to operate a tight ship behind the scenes if Schiller took over. He ran the company for nine months while Jobs was dealing with pancreatic cancer, and nobody noticed the difference.

I'll just ask one favor: don't give the job to the guy who did the iPhone presentations at WWDC this year. His mechanical, clearly-rehearsed delivery was compensated for only by the bad-assedness of the iPhone 3G and the sample apps. I'm sure he's a nice and capable guy, but presentation and evangelism are obviously not his strengths.

I'm still long on AAPL, with a $240+ price target for the next year. The volume sales that the $199 iPhone 3G promises are comparable in my mind to the iPod rush at the beginning of the millennium, with the App Store representing the next killer device/electronic storefront consumer experience in the same way that the iTunes Music Store did for the iPod.

I just wish I had the balls to buy some options. :)

Jun 11, 2008

Silverlight 2 Beta 2 Released and Adobe Thermo Sneak-Peeked 

by Maxim Porges @ 12:28 AM | Link | Feedback (4)

If this feature rundown is any indication, it looks like Silverlight has caught up with Flex in terms of the base feature set. I'm hoping Microsoft figures out the multi-platform issues soon so I can give Silverlight a serious spin (everybody I know who has tried it says the player doesn't work worth a damn on OS X).

Meanwhile, some Adobe Thermo screenshots went up today. Thermo sounds like a really neat product, so I am just as interested to see where this takes RIA development with Flex.

Jun 10, 2008

Performing XSL Transformations with JavaScript 

by Maxim Porges @ 11:38 PM | Link | Feedback (3)

At Highwinds, we document release notes for our software releases on our wiki. While this is a necessary and sensible practice, I do find it a little tedious since it requires copying some of the information from Bugzilla to our wiki.

Since I am lazy, and Bugzilla allows export of search results to XML, I made an XSL style sheet to convert the results of a bug search for a particular release to wiki text that TWiki would understand. This was all well and good, but required me to go through a number of manual steps:

1) Run the search for bugs in a particular release in Bugzilla
2) Push the button to pull the results as XML
3) Save the XML
4) Open the XML in a text editor and add the line to reference the XSL style sheet
5) Save the XML file and open it in a browser
6) Copy the XML-transformed-to-wiki-text to the clipboard
7) Open the release notes page on the wiki
8) Edit the release notes page, pasting the wiki text and saving the article

While this process was better than manually writing the wiki text (especially since I have the transformer create links from the release notes to the Bugzilla articles, lay the bugs and features out separately, and put the entire thing in a table-based layout), it still sucked that I had to go through it all. So, I decided that since I've been meaning to learn Ajax forever, I would use this opportunity to figure out how to write some JavaScript that would post the search parameters to Bugzilla (taking care of items #1 - #3) and apply the stylesheet (knocking out #4 - #6). If I can embed the JavaScript in the wiki article, then #7 and #8 would also be automated, leaving me even more free time than usual to stare at my desk while eating Girl Scout cookies.

So, I did a little research, and found an XML processing library for JavaScript called Sarissa. In combination with Scriptaculous/Prototype (which was dead easy to get started with), I had the script I wanted written and working in under an hour.

Initially, I embedded the XML for the data and style sheet, with the intention of making this dynamic via Ajax calls after it was all working. I thought that others might be interested in the source, so here it is. The XML for data/style sheet are obviously simplified since I had to smash them all together on one line.


<html>
<head>
<script src="javascripts/prototype.js" type="text/javascript"></script>
<script src="javascripts/scriptaculous.js" type="text/javascript"></script>
<script src="../sarissa-full-0.9.9.4/gr/abiss/js/sarissa/sarissa.js" type="text/javascript" charset="utf-8"></script>

<script>

function performXsltTransformation(xml)
{
var xsltDoc = '<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/cds/cd"><p><b><xsl:value-of select="artist"/>:</b><xsl:value-of select="title"/></p></xsl:template></xsl:stylesheet>';
var xsltDocument = (new DOMParser()).parseFromString(xsltDoc, "text/xml");

var xsltProc = new XSLTProcessor();
xsltProc.importStylesheet(xsltDocument);

var htmlDoc = xsltProc.transformToDocument(xml);
var htmlString = new XMLSerializer().serializeToString(htmlDoc);
$("display").innerHTML = htmlString;
}

window.onload = function()
{
var xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cds><cd><title>Super Duper CD</title><artist>Michael Jackson</artist></cd></cds>';
var domDocument = (new DOMParser()).parseFromString(xml, "text/xml");

performXsltTransformation(domDocument);
}

</script>
</head>

<body>
<div id="display"></div>
</body>

</html>


This worked like a treat, and I was all pleased with myself. Unfortunately, as I got in to the Ajax piece, I found out that you can't have a page served from one domain (such as our wiki) pull content from a server on another domain (such as our Bugzilla server) due to XSS security sandboxing. It appears that there are a few hacks to get this to work, but nothing that really makes my life easier for my specific use case.

In any event, I got all the JavaScript libraries for doing Ajaxy things together and dipped my toe in, so it wasn't a total loss. If anybody has any neat suggestions for getting around the two-different-servers thing I'd like to hear them.

Jun 9, 2008

Welcome Mario Talavera 

by Maxim Porges @ 11:11 PM | Link | Feedback (0)

Mario Talavera joined us on the StrikeTracker team at Highwinds today. Mario hails from FCE where he was a lead developer. We're looking forward to Mario contributing his skills to the team as we get going with lots of refactoring and new features scheduled for the summer.

We are chugging along on StrikeTracker with a full team for the present time, and we're just weeks away from the 1.5 release which is packed with juicy goodness. As always, I will keep you posted.

WWDC 2008: New iPhone, No Native Exchange Support Yet 

by Maxim Porges @ 9:45 PM | Link | Feedback (1)

Plenty of other sites have gone over what happened in WWDC today, so I will just summarize my feelings on it.

iPhone 3G
The original iPhone, while very cool, had a few major flaws.

1) Too damn expensive, even at $399

2) What? No 3G?

The latest offering at $199 seems very reasonable to me, and they finally have 3G support (which IMO they should have had from the beginning).

Jessica now wants a new iPhone, and so do I. At $199, it's hard to beat, and my Samsung BlackJack from work pisses me off to no end.

1) The keys don't register my typing; even when they click, they don't always type the character.

2) The browser is horrendous. Not only does it render things in an unintelligible fashion, but when you want to type in an address, you have to sit there for two minutes holding down the delete key and waiting for the entire URL query string and address to back up far enough for you to type the new URL. The curosr moves at one speed: too slow. Also, there is no way to reset the home page from the settings - WTF?

3) The user interface is completely inconsistent, and does stupid things like letting you answer a call when the phone is locked (which is actually a useful and smart feature) while keeping the phone locked so you can't put that call you took on to speakerphone without typing the unlock key sequence (completely f***ing retarded).

I could go on and on, but let's just say that I'm glad it was free (to me, at least). It's a downgrade from the newer Blackberry models IMO, and a very, very far cry from the iPhone. I've talked to our IT guy at Highwinds, and while we have AT&T as a carrier, the price difference for the iPhone data plan means that I can't simply buy the phone and upgrade. As a result, I might consider picking up my own contract, transferring the work contract over to a consumer contract which I'll pay for myself. I'll wait to see what the new 3G data plans are like costwise before I make up my mind.

MobileMe
MobileMe is a pretty cool way of bringing Exchange-like functionality to consumers, although I find myself wondering if anybody will care. I don't think .Mac was that much different, and I can't see consumers jumping for joy over sync capabilities. I mean, how much do you need instant sync as a consumer? You can just plug your phone in when you get home and sync over the wire.

The one area I do see MobileMe being good for is acting as a bridge solution for companies that don't use Exchange. I can see consumers buying an iPhone and telling people to email them at their MobileMe address instead of their work address (or forwarding their work email instead), and just managing all of their stuff from there.

Snow Leopard
I must say I was particularly disappointed that they didn't get Mail and iCal integrated with ActiveSync/Exchange yet, and that I have to wait another entire year for it with Snow Leopard. I'm glad it's coming, but after my experiences with Entourage I'd really rather have it sooner. I guess I will just have to wait.

In Summary
Not the greatest WWDC. It would have been nice to see some hardware upgrades, although honestly the hardware offerings from Apple are pretty bad ass at the moment, so this is more of a want than a need.

At least Apple is clearly committed to boosting the platform for the iPhone, and the new applications being developed give you a taste of things to come. I can easily see the iPhone becoming the best mobile platform in a few short months, which won't hurt my stock.

So, an iPhone year it is. As my boss says, the BlackJack is a phone that happens to also behave like a crappy computer. The iPhone, on the other hand, is a cool little mobile computer that also happens to have a phone on it. For about the same price as a decent cell phone, I can get most of the benefits of a portable GPS unit and a mini gaming platform like the DS or PSP with a cell phone on it to boot. That's enough to sell me.