Archives
-
Silverlight Crossdomain Access Workarounds
I was testing out some typography with Silverlight and figured I’d try grab some text from Wikipedia. I started with the naive approach:
-
Looking back at MicrosoftPDC.com (from the inside)
I had the privilege of working on the MicrosoftPDC.com website as lead developer for the past several months. The process hasn’t been kind to my blogging schedule lately, but the experience definitely taught me quite a bit: working with the top-notch Microsoft developer evangelism team, setting up a site for maximum flexibility, setting up the Silverlight experience, and troubleshooting some interesting issues during the conference. I’m going to run through several of these at a high level and may dig into some of these in more detail later (so comment if you want to hear more about something).
-
Running Silverlight 2 on Google Chrome using the Chrome Dev Channel
When Google Chrome first came out and I read that it used Webkit, the same rendering engine that powers Safari, I tried browsing a few Silverlight 2 sites. It kind of worked, as long as the sites didn’t exclude browsers that weren’t on Microsoft’s official Silverlight support list. The controls loaded, but didn’t animate or update smoothly. While Microsoft still isn’t officially supporting Silverlight on Chrome, Chrome’s latest Dev Build (0.2.151.2) includes some specific fixes to support Silverlight 2 Beta 2. The information about the updates is in the release notes, specifically revision 1735:
-
Silverlight and Relative URI’s for Image and Video Sources
-
MSDN Low Bandwidth Bookmarklet
There’s a semi-hidden feature in the MSDN Library website: Low Bandwidth view. We’ll talk about how to use it, why I like it, and some tips for switching it on and off. We’ll end up with an MSDN Low Band bookmarklet I whipped up to make it even easier.
-
Subtext 2: OpenID Login Support
The recent Subtext 2 release includes a feature I worked on: OpenID login support. Let’s take a quick look at how you use it, then we’ll talk about the how the code works and why it’s a useful feature.
-
Upgrading to Visual Studio 2008 / .NET 3.5 SP1
I was prompted for the original installation media both when uninstalling the SP1 Beta and when installing the SP1 RTM. The file it’s looking for is vs_setup.msi in most cases, but they’re not all created equal. If you installed from a Visual Studio 2008 Professional DVD or image, you can’t just insert a Visual Studio 2008 Standard DVD. In my case, I installed of in ISO image, so I mounted the iso file (en_visual_studio_team_system_2008_team_suite_x86_x64wow_dvd_X14-26461.iso) as my F:\ drive and browsed to vs_setup.msi.
-
ASP.NET Themes Don’t Like IE8’s X-UA-Compatible header; Neither Do I
I ran into an interesting issue a few months ago with IE8 support on sites which use ASP.NET Themes. I’ll talk about the issue and how to fix it. More important, though, I’ll talk about how this small example fits into the whole IE8 / X-UA-Compatible thing, and why I think the way that turned out was bad for everyone.
-
Upcoming Guests on HerdingCode: Rob Conery, Glenn Block, [your suggestion here]
We’ve done eight episodes of Herding Code in round table format, but we’ve always anticipated bringing on some guests once we had our act together. We’re excited about having Rob Conery as our first guest Tuesday night (7/15). We’ve also had a few folks tell us they’re willing to appear in future shows, including Glenn Block and Scott Bellware.
-
Speaking at the So Cal Code Camp on 6/29/08: Deep Dive Into Deep Zoom
I'll be speaking at the SoCal Code Camp in San Diego on Jun 29, 2008. My session’s titled Deep Dive into Silverlight Deep Zoom. We'll look at the code that runs the Hard Rock Memorabilia site, then build a site on the fly that takes advantage of Deep Zoom, including all the new features in Silverlight 2 Beta 2.
-
Our Round Table Podcast gets legit - Now we're the Herding Code Podcast (herdingcode.com)
We’ve been experimenting with a weekly technology round table podcast for the past five weeks; now we have our act together to the point where we’re ready to officially launch it. We’re at HerdingCode.com, and you can subscribe to our feed at http://feeds.feedburner.com/HerdingCode on your iPod, Zune, or whatever crazy podcast client you choose.
-
Jon's News Wrapup - June 25, 2008 Edition
Here's the grab bag of tools, development toolkits, etc.
-
Technology Podcast #5 - Firefox 3
Download (click the play button to listen)
-
Using <body> Classes To Fight CSS Class Explosion
I previously wrote about taking CSS beyond a simple style library by writing HTML that’s easy to style. I’d like to go into one point in a bit more detail – avoiding class explosion by leveraging descendant selectors:
-
Technology Round Table Podcast #4 - iPhone v2 and K. Scott Allen's report from TechEd 2008
Here's our temporary podcast feed.
-
Silverlight 2 (beta 2) and Firefox 3... so happy together...
If you've been holding off on using Silverlight 2 or Firefox 3 because they weren't playing well together, it's safe to come out now. One of the best "undocumented" features in Silverlight 2 Beta 2 is that it now works with Firefox 3.
-
Technology Round Table Podcast #3 - Should Developers Learn C? + TechEd 2008 Keynote Announcements
Here's our temporary podcast feed.
-
TechEd 2008 Keynote Summary
Here are the highlights from the TechEd 2008 Keynote (as seen from afar by watching the TechEd 2008 Keynote and reading posts and press):
-
Technology Round Table Podcast #2 - AJAX Frameworks
Last week I posted the first in a new podcast series with K. Scott Allen (a.k.a. OdeToCode), Scott Koon (a.k.a. LazyCoder), and Kevin Dente. We got some great feedback, but we decided to ignore it and continue the podcast. So here's another one!
-
Technology Round Table Podcast - "Hello World" Edition
We're starting up a technology round table podcast. By we, I mean:
-
Yahoo Media Player
-
Using Vista Previous Versions to Restore Files You Thought You'd Lost
I'm a big fan of being productive by not losing work. I don't care how optimized your system and development tools are; if you have to do work to get back to where you were at a half hour ago, you're going backwards. I've previously written about using TimeSnapper as screen recorder so I can retrace my steps to anything that's happened on my screen in the past month. TimeSnapper continues to be one of the first tools I install on a new system.
-
Jon's News Wrapup - May 8, 2008 Edition
-
[Utility] TeraCopy removes the file copy pain from Windows Vista
Last September, I asked why aren't Windows file copies restartable? It's a huge productivity killer - and very frustrating - when you're copying a large file from a network share or over a VPN and the copy fails when it was 80% complete. At that point, your file copy has just failed. Try again and hope it works this time.
-
My first MVP Summit
I really enjoyed my first MVP Summit as a rather freshly minted Microsoft ASP.NET MVP of all of six months. I struggle with writing about that kind of thing, since MVP posts often turn into "I heard some awesome new secrets, can't tell you, giggle giggle, bye!" taunts, but having been to one I don't think that's so much of a problem. I did hear some new things, but the real highlight was the face to face meetings with old and new friends.
-
Encrypting Passwords in a .NET app.config File
I've been contributing to the Witty project lately. I'm a fan of Twitter, and it's nice to work on a popular WPF application with some hotshot coders including a WPF pro like Alan Le. Lately, I noticed that we were storing the user's password in plaintext application config file:
-
February / March 2008 Recap
At the end of January, I published a monthly recap and threatened to do it at the end of every month. I've generally avoided link blogging in favor of trying to write original content, but I think there's some value in compiling the major events I think developers - especially ASP.NET developers - would want to know about. I put some effort into selecting what I thought are the top stories, with a mind towards summarizing what's going on rather than just inundating you a bunch of links you won't have time to read. I included either excerpts, commentary, or both, so you can hopefully just skim the list if you like.
-
Visual Studio 2008 (Beta 2) Install - Easter Egg?
Exactly one week ago, I was testing something that required me to install the old Visual Studio 2008 (Beta 2) on a virtual machine. I got part way through the install when a bizarre set of circumstances led to my accidentally sitting on the keyboard. A bunch of buttons got pressed in some random order, and all of a sudden the screen switched to this:
-
Running the Mono VMWare image in VirtualPC
A lot of people love VMWare, but it bugs me. I think the main reason is that it installs with a bunch of Windows services that run automatically, every second my computer is running, whether or not I use VMWare. Since I don't use virtual machines every day, that's annoying. So, after running the free VMWare Player for a few times times, I banished it from my computer.
-
[Speaking] 3/25 at Code Trip / San Diego .NET User Group about Silverlight (Hard Rock, Video.Show, etc.)
-
Why Silverlight 2 Deep Zoom Really is Something New
The Hard Rock Memorabilia site got a lot of press MIX 08; TechCrunch called it the coolest part of the MIX keynote. It takes advantage of a new Silverlight 2 feature called Deep Zoom, which allows for smooth zooming and panning over a large collection of large images. It's really the kind of thing you have to see; words don't capture it well.
-
Opening Adobe Illustrator (AI) files when you don't have Adobe Illustrator
You've been waiting for the design firm to send final artwork. The e-mail finally arrives...
-
What's been announced about Silverlight 2? See ScottGu's "First Look" post
I've had a lot of people ask me for hints about what's in Silverlight 2. My general strategy is to tell them to read Scott Guthrie's blog, then fake a seizure. That strategy will work even better starting today, since Scott just posted a First Look at Silverlight 2, along with an eight part tutorial on building a Silverlight Digg client.
-
Using Windowless Silverlight Controls To Blend HTML and Silverlight Elements
Silverlight 1.0 has no intrinsic controls. Forget about dropdowns and sliders, Silverlight 1.0 doesn't have textboxes or buttons. That doesn't mean you can't build and deploy advanced Silverlight 1.0 applications today, though. [Sheesh, that sounded like marketing-speak - sorry about that.]
-
Video.Show 1.0 - A Ready To Run Solution For Hosting Video On The Web
I'm really excited to announce that Video.Show has officially been released. It's been available on CodePlex (under the liberal MsPL license) since our beta release back in November, but today it's officially been blessed as a 1.0 release. While we were really proud of our beta release, we've been really busy moving this project from a sample to something that's easier to extend and maintain. And when I say "we", I mean Mike Moser, because I moved off the project soon after we hit the beta release.
-
Getting JavaScript and ASP.NET talking (outside of AJAX)
A lot of effort has gone into simplifying the AJAX pattern, in which your JavaScript code calls methods on the server without requiring a full page post. You don't hear much about the synchronous case (SJAX?), though - how does your server-side code set values in JavaScript, and how do you set values in JavaScript and pass them back to the server when the page is submitted? In the diagram below - we've got AJAX covered pretty well, but what about the Rendered JavaScript case?
-
No, you're crazy! (or, the problem with assuming that computer programmers have all that much in common)
Jeff Atwood recently linked Steve Yegge's post on Five Essential Phone-Screen Questions. My first impression was that it was horrible advice. For reference, here's the five areas which Steve considers essential in eliminating poor job candidates:
-
January 2008 Recap
-
Adding simple trigger-based auditing to your SQL Server database
How do you track changes to data in your database? There are a variety of supported auditing methods for SQL Server, including comprehensive C2 security auditing, but what do you do if you're solving a business rather than a security problem, and you're interested in tracking the following kinds of information:
-
ASP.NET Menu and SiteMap Security Trimming (plus a trick for when your menu and security don't match up)
ASP.NET 2005 introduced a pretty solid menu which is integrated with a configuration driven sitemap. The cool part is that the menu can be hooked in with your security roles, so you don't have to worry about hiding or showing menu options based on the user - the menu options are automatically kept in sync with what the user is allowed to see. We'll talk about how to set this up, using an example from a website I worked on recently.
-
The Man Who Knew Too Much?
I've been thinking about the odd problem, and what can be done about it. I've found that more active participation in a group can lead to more information, but that new information can actually stifle further participation. Here are some of the problems I'm thinking of, as well as some possible solutions.
-
Writing a custom ASP.NET Profile class
We made heavy use of the ASP.NET membership and profile system for Video.Show (a Silverlight 1.0 video community website system, available on CodePlex). In addition to storing basic profile information, we created a custom profile with some additional fields. It's a really easy way to add add some additional personalization to your site without having to add a bunch of tables to your database.
-
Registry setting keeps Windows from wigging out when you open lots of IE7 tabs
Opening too many tabs in Internet Explorer 7 can cause the Windows shell to switch to "Evil Mode". Fortunately, there's a registry setting that fixes the problem by increasing the Windows heap size.
-
Three posts a week - my new year's resolution
I'll pass my 5 year blogging anniversary this year. I've written over 520 posts. But, I'd like to be more consistent. So this year, I'm resolving to post three times a week. I'll give myself an exemption when I'm on vacation, which explains why I'm posting this on the second week of the new year.
-
Inkscape to support XAML export
Today, Adam Kinney gave me the tip off to some cool news: Inkscape is adding XAML export.
Great, what's Inkscape? Glad you asked! Inkscape is an open source vector graphics editor, like Adobe Illustrator. Rather than drawing in pixels (like you'd do in Photoshop, Paint.NET, etc.), you're drawing in vectors. Inkscape is a little unique in that it uses SVG (scalable vector graphics) as its base format. SVG is a W3C standard, with pretty good support in most non-IE browsers (check out SVG Tetris in Firefox 1.5 or higher). It's unfortunate that IE doesn't (and likely never will) support SVG, since browser support for standards based vector-based graphics and text could do so much for the web.
Although the drawing primitives in XAML are very similar to SVG, up until now there hasn't been a really solid way of developing assets in SVG and moving them to XAML.
Right now, there are only two real ways to do any serious design in XAML:
- Buy Expression Blend and Expression Design ($599)
- Buy Adobe Illustrator ($599) and use the XAML export plugin
Now that Inkscape is picking up XAML export, there's a third way that doesn't start with any buying.
-
Large file uploads in ASP.NET
Uploading files via the FileUpload control gets tricky with big files. The default maximum filesize is 4MB - this is done to prevent denial of service attacks in which an attacker submitted one or more huge files which overwhelmed server resources. If a user uploads a file larger than 4MB, they'll get an error message: "Maximum request length exceeded."