Mar 03

Apple’s anti-Flash debacle–yes, debacle–is well known at this point in the post-iPad announcement era.

Now, Virgin makes an announcement about their move away from Flash (and, not to be subjective, any possibility of using Microsoft’s Silverlight) ostensibly to broaden the availability of their Website. I’m not saying they’re doing this to purposely drop-kick Adobe’s Flash which has had a great run for some time now. But, with their expanding iPhone (and soon iPad) platform, Apple’s decision is potentially going to lead developers towards other solutions.

One does exist:  JavaScript and  CSS. But, one the biggest uses for Flash (and the main reason it’s gotten so mainstream) is support for video–also the most likely reason Apple won’t allow it on it’s mobile platform OS (beyond games). HTML5′s potential for rich media, namely video support.

The HTML5 standard is still a ways away (the target date is 2012). But, as with previous versions, nothing will stop Microsoft, Mozilla, and others from rolling preliminary support into the coming versions of their browsers. Of course, you can be sure Apple will take as long as possible to roll it into Safari…at least on the iPhone.

If the industry pushes this (to the demise of Adobe), Apple’s going to be in a corner. Will that matter? Likely not, knowing Mr. Jobs and his disdain for following the pack. But, there’s going to be a point, sometime in the future, when Jobs and his disciples will need to stop holding that last tiny hill against the non-Apple waves threatening to submerge it.

Still, here’s hoping the push towards HTML5 continues or even accelerates. Dealing with plug-in versions and of course yet another plug-in to check for and support. Don’t get me wrong, though, Flash is still where it’s going to be when it comes to animation and flashy movie sites. JS and CSS can only go so far (though they CAN go far). Will that hurt Adobe? Maybe but who cares? Their support (version 10 was a pain in the ass for people who offer Flash controls for file downloads) and their profiteering off Flash ($699 just to be able to work with it? Maybe you shouldn’t have given it away to the end users…) has built up their egos a bit too much. They were better when they were still fighting Macromedia (remember them? They made Flash) and Quark. They tried. Now, they rule.

kn

http://www.wired.com/gadgetlab/2008/11/adobe-flash-on/
Tagged with:
Feb 13

Maybe it’s not their fault but then again, they built the server (IIS) and the Web tech (ASP.NET). This had me scratching my head for a few minutes until I just happened to figure it out by mistake.

I was doing an Ajax call to an aspx page with a Web Method. Something like this:

/someplace/somefile.aspx/MyWebMethod

Using JSON and JQuery. Fine. Done it a ton of times throughout the site but this time it was in a specific folder that contained files used exclusively for Ajax calls (mostly XML).

The error I was getting was:

Exception information:
Exception type: ArgumentException
Exception message: Unknown web method DoLookup.
Parameter name: methodName

Unknown web method, huh? But, the file was there, the code was in there and it worked fine on Dev…what the deuce?

After trolling the net to find something (mostly found people forgetting “static” or making their WebMethods private), the idea that the file might be corrupt popped into my head.

I thought I was stupid…after all, the aspx file just contains a basic page reference to the code behind. All the real action was in the site dll. It’d be stupid if–

Then I saw it. The file size was ZERO. Nice. I checked the delivery folder (where I drop deployments onto the server). Also zero. Great.

Checked my dev publish folder where said deployments start their life after a publish from within Visual Studio. 1kb. Oooo…looks like something died in between.

So, I copied that sucker all over again and lo and behold, the friggin thing works!

I dunno, I guess you’ve got to ask yourself what you’d do if you were trying to figure out an error message for that…how’s about Page reference missing? Or Holy Shit, your aspx file has NO CONTENT.

Ugh…Microsoft…love/hate is becoming hate/hate…

Tagged with:
Apr 27

So, I’d just merged some code into my test build to prepare a deployment to staging when I got a compilation error on a page stating that a “}” was expected and referencing a line in a temp file from the GAC that included a line like this:

[System.Diagnostics.DebuggerNonUserCodeAttribute()]

I’m scratching my head…wtf? I searched for the above and found a reference in the strings resource I had for the site. But, there weren’t any problems with the code…in fact, the site compiled just fine! More scratching…then I searched online. Found this. Different error but the same or rather a similar stack trace.

Then I thought about it. Missing closing bracket…well, we’d just modified some code recently that involved what I’m sure Microsoft would rather we didn’t do…in the front-end aspx file we did something like this:

<% if (something == true) { %>

<myfancyhtml></myfancyhtml>

<% }//end if %>

And, lo and behold, the recent merge managed to include two copies of the opening line with a single closing line. Lovely.

Anyhow, in case you run into this wonderfully obscure error, check your <% %> tags if the code behinds still compile successfully…probably have something in there that’s causing you problems…no need to reboot and all that crap.

kn

Tagged with:
Apr 02

Ugh…chalk this up to one of those relatively obscure problems where you’ve got this crazy idea (using XSLT to generate the HTML for a page based on an XML file) so you don’t have to code up a full blown server-side page that has to hand build the page (correction: you’ve got to hand build it).

Anyway, I wanted to pass HTML through from the XML element to the final output. Of course, as we’re in the uber-strict world of XML, that will either: a) cause issues or b) get escaped and output to the user as HTML. I had the latter.

Off I went to find a solution (the usual time sink that it was) and found a couple ideas:

1) CDATA the content and use the xml:output’s cdata-section-elements tag to have the template ignore it. Didn’t work.

2) Use the xml:value-of and xml:text elements’ disable-output-escaping. Worked for IE but failed miserably in FF3.

So, I bang my head on my keyboard as I’m prone to do and I then search for why FF hates me so when I do #2 above.

Turns out…it has something to do with the way FF processes the XML so they don’t support the attribute. Doh! But wait…what’s this just a few search results below the top? Switch xml:value-of to xml:copy-of and lo and behold that sucker starts outputting your element’s contents verbatim!

Ahhh…now I can go back the the tedious task of converting my basic form (not HTML) data into XML to use my newly minted solution!!!

kn

Tagged with:
Feb 25

This is something we discovered when we found a server or two was hitting a ceiling on the number of available connections it could make outbound or in. Just thought I’d post it here for posterity and so I can remember it next time.

Here’s a summary of it but in case the page disappears:

Registry: HKEY_LOCAL_MACHINE\CurrentControlSet\Services\Tcpip\Parameters > TcpTimeWaitDelay (DWORD Value)

Range is 30-300 seconds. Default is 240.

kn

Tagged with:
Nov 14

Another useful snippet:

http://www.kennakai.com/kentropolis/prog-downloadimage.html

UPDATE: All Web Dev content is being moved. This entry can be found here now. Be advised as this content will eventually get archived into oblivion!!!

Tagged with:
Oct 26

I don’t know how many times I’ve run into errors caused by the fact that I wasn’t paying attention to dependencies between SP’s that call other SP’s.

Got this one because I added a parameter and forgot to check for dependencies. The resulting shift of parameters (calling SPs would be one param short so it’s like they were shifted up/left by one) caused this error because the parameter that was next was an XML param:


Operand type clash: int is incompatible with xml

Never know what you’re gonna get. :)

UPDATE: All Web Dev content is being moved. This entry can be found here now. Be advised as this content will eventually get archived into oblivion!!!

Tagged with:
Oct 20

Since I keep running into this error and it makes no sense by itself AND I spend time each time I get it to figure out what the issue is, I’m posting this sucker here for posterity.

I’m getting this error on a call to ExecuteXMLReader off the SqlClient Command object.

And…it’s a stupid mistake as you’d expect. I assigned a parameter in .Net SqlDbType.Int when it was supposed to be a SqlDblType.UniqueIdentifier. Gotta love copy and paste errors.

UPDATE: All Web Dev content is being moved. This entry can be found here now. Be advised as this content will eventually get archived into oblivion!!!

Tagged with:
All original content © 2008-2009, Ken Nakai. All others © by their respective owners.