|
 |
 |
|
Author: |
Thomas Goddard |
Created: |
8/27/2006 2:19 AM |
 |
|
-- |
|
Microsoft's .NET Framework Throws an Unhandled Political Exception? |
|
|
By Thomas Goddard on
4/23/2008 2:51 PM
|
|
|
|
Okay, you're not going to believe this. I was in middle of debugging an issue in a Kiosk application, which I've been globalizing for a Chinese deployment (I'll leave out the company to be safe), when an exception (error in layman terms) came up after attempting to set the UI culture of the application to the culture 'zh-Hans' (Simplified Chinese).
The .NET Framework 3.5 source code is available for developers to step-into for debugging purposes, so I decided to take a dive in and see what I could come up with. After stepping into the code, I discovered some comments, which attempted to explain my problem, marked in green:
int lcid = culture.LCID;
//If we have the Chinese locale, we have no way of producing a
//specific culture without encountering significant geopolitical
//issues. Based on that, we have no choice but to return.
if((lcid & 0x3FF)==0x04) { throw new ArgumentException(Environment.GetResourceString("Argument_NoSpecificCulture")); }
What's interesting here (to me at least), is the fact that the variable 'lcid' creates the specific culture called simplified Chinese and so the line at if((lcid & 0x3FF) == 0x04) has to be true for the error to be thrown. If it looks cryptic, that's because it is!!! Not sure why they decided to pass it in as hex rather than simply check if the culture is under one specific ID. It's like the magic equation to identify geopolitical issues (or not). For some reason, simplified Chinese happens to have the right lcid to raise the exception, (4 == 4) is true in this case.
Is this political code? With all of the political issues with China lately, the Olympics coming up, I thought this was a fun snip-it and maybe even a little relevant. I am not an expert on what this is saying but my poli-sci friend tells me that it's likely related to something with Taiwanese so he suggested I post a blog entry about it. SO, it's not the most exciting thing in the world but it's still kind of funny to see an exception thrown because of geopolitical issues.
The source code above is from the .NET Framwork 3.5, CultureInfo.cs, line 636...
Here are the list of available cultures:
http://msdn2.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx
Update: The workaround is to use zh-CN for simplified chinese. As the comments suggest, this is due to geopolitical reasons.
|
 |
|
Comments (0)
|
|
|
|
Maya to XAML x64 and Maya 2008 Support |
|
|
By Thomas Goddard on
2/5/2008 1:59 PM
|
|
|
|
http://www.highend3d.com/maya/downloads/tools/3d_converters/Maya-To-XAML-3782.html
I had a little trouble getting the plug-in to work on systems that don't have the Visual Studio C++ runtime installed but found a solid workaround. I also added support for locators and a couple other minor features. I was happy to find that the XAML format from WPF 3.0 is still compatible with 3.5.
As usual, I appreciate feedback and debugging. Let me know if you want to become a contributor on CodePlex.com and I will add you. The version up on CodePlex now requires Visual Studio 2008 but if you need a project and solution to work with VisualStudio 2005, let me know and I will send it over. I should have a sample Maya scene available for download soon so check back and enjoy!
|
 |
|
Comments (0)
|
|
|
|
Mental Ray Physical Sun & Sky Shader Fun |
|
|
By Thomas Goddard on
11/28/2007 11:59 AM
|
|
|
|
In the process of remodeling my new house, I was looking to create a photoreal rendering to see how the new layout would look. I came across this great tutorial and some interesting new shaders that were introduced in Maya 8.5. The Mental Ray Physical Sun and Sky Shaders are a set of shaders that can be used to create various lighting scenarios and surfaces.
Take a look at the whitepaper and example scene created in Maya. You really have to try it out to see how amazingly simple it is to create some pretty compelling renders.

Download the Scene
|
 |
|
Comments (1)
|
|
|
|
Evolving Themes: Light and its Impact on Design |
|
|
By Thomas Goddard on
7/15/2007 10:16 PM
|
|
|
I am a huge fan of architecture and was honored when I was invited to an event with Field Architecture, hosted by the AIA. Stan Field and his son Jess are both world renowned architects with offices just down the street from my house in Palo Alto. Jess recently graduated from UC Berkeley, with a masters in architecture, where he received the Eisner Award, bestowed for the “highest achievement in the creative arts”.
Field architecture shares the same affinity I have in design-innovation and their work is an inspiration to the world of architects and non-architects alike. The event was called Cata-a-lyst, a series of architectural studies in the bay area, put on to encourage innovative thinking, stimulating creativity and broadening awareness. The event was hosted by the American Institute of Architects / San Mateo County Chapter / Associates. I was afforded the oportunity to film the architecture at the event. I hope to capture more of these fantastic designs in the near future.
Get Flash Player to see this video.
Nestled amongst the mature trees of a historic Palo Alto neighborhood, this residence is a clear departure from the ordinary. In composition, the house is defined as two volumes, one vertical and the other horizontal, mediated by connecting roofs that culminate with a curving skylight, spanning the length of the house. Field Architecure has utilized the notion of continous spacial flow to track the sun throughout the day, creating a nuanced interplay of structure and light that is at once dramatic and transparent.
Field Architecture is a Palo Alto based firm with active projects in the US, South Africa, Israel, and Argentina. The practice, headed by Stan Field, creates value through design by coalescing the dynamics of place with the client’s needs and desires. Style is redefined with each project, creating new opportunities for contemporary living.
Update 1: Minor text edits
Update 2: New video
Update 3: Video update 2
|
 |
|
Comments (2)
|
|
|
|
Illuminated Silver |
|
|
By Thomas Goddard on
5/6/2007 2:21 PM
|
|
|
I just wanted to direct anyone interested in WPF-e, ehm, I mean Silverlight, to a great blog post about some interesting new features, like Python support and LINQ support (object/xml-based-database-query-in-your-code). The fact that it runs on Mac OS & Linux (beta) is pretty amazing too. My friend and colleague Darren David, who is about as much a Flash GUI pioneer as he is a WPF instantiator, provides us the details on Silverlight's new features. Again, still no 3D support yet but SL has some hotness, like direct feedback when developing a UI with Python, using the new DLR feature (crazy!).
|
 |
|
Comments (0)
|
|
|
|
Numenta Platform for Intelligent Computing (NuPIC) Released! |
|
|
By Thomas Goddard on
3/19/2007 10:39 PM
|
|
|
|
At last, the first release of the Numenta Platform for Intelligent Computing (NuPIC) is ready. I blogged about the Numenta project quite some time ago. This appears to be a research release and is expected to be used for vision systems, robotics, data mining and analysis, and failure analysis and prediction.
This new framework should provide a nice platform for developing some interesting solutions. I brought the topic up at GDC 2007 and I can imagine that most every AI developer will be looking at the framework for possible implementation points. The uses are far reaching and span not only the game arena but also areas like Second Life and Kalliab.
They've provided a piece of demonstration software, called Pictures, which shows us what HTMs can do and can perhaps spark a few new ideas. Imagine searching all of the pictures in your harddrive for a person, based on a recent photo. There are many scenarios where this system can identify objects and apply human-like recognition of invariant representations.
|
 |
|
Comments (2)
|
|
|
|
A Handy VS.NET Find and Replace Tidbit |
|
|
By Thomas Goddard on
3/18/2007 1:45 PM
|
|
|
|
If you've ever had to find and replace, you know that it's important to be able to find within strings. Another less frequently used feature of VS.NET, is to group the find expression and replace the matched string(s) using the variables from the find expression. To do this in Visual Studio 2005, you find a string such as:
"My string with some text"
"{[^\"]+}\n{[^\"]+}" - This regular expression finds any string within quotes but not containing quotes [^\”]+, containing a newline \n between any string. The {} braces provide the grouping functionality required to save the expression groups and use the values in the replace:
"\1\2" - This will fill in the quotes with the two groups from the find and output:
"My string with some text"
I've had to use this at least a few times and it wasn't easy finding the syntax. Enjoy!
|
 |
|
Comments (0)
|
|
|
|
A Second Look at TNF Kiosk |
|
|
By Thomas Goddard on
3/3/2007 3:28 AM
|
|
|
|
If I gave you my demo DVD at GDC then you've seen the video below. I've spent the past couple of weeks editing down a few minutes of video (NVidia drivers made a 2 minute project a 2 week one). It shows a much closer look of the UI and functionality in The North Face In-Store Explorer Kiosk. I received some feedback after posting the last video and it seems like the one thing I forgot to include was an example of the 3D product rotation (skip to time 1:16 on the video timeline below). This feature is implemented with an image montage control and is not implemented with a 3D mesh and textures, but it makes for a very believable product rotation (thanks to Darren).
We never claimed that the 3D product rotation was a textured mesh rendered in realtime but we did discuss it. I think it would be a fun project to create a pipeline for generating these products in 3D and placing them in a world like Second Life or even as an additional feature of a game, like being able to buy gear in a snowboarding game. Maybe down the road we'll see realtime 3D product applications like this in the mainstream, like the Timberland Boot Configurator created by Fluid, Inc and good friend Paul Spitzer.
It's a beauty that XAML is cross-platform and has runtimes for the web, media center, XBox, mobile, and desktop. It wouldn't be too difficult to take the same XAML UI created for the original kiosk application and make it work as a Media Center app.
I'm a bit depressed that we don't see 3D in WPFe. Maybe down the road but I don't think we'll see hardware accelerated, cross-platform, and markup driven apps that are widely used, for quite some time. But hey, I guess if you want to create a UI that falls under the Animal Planet’s “Most Extreme” these days, you just have to step out into the world and develop in whatever you feel like :-) … “Big wheels keep on turning.”
Get Flash Player to see this video.
Share this video
(copy and paste this into your page source):
Download a Windows Media Version Here ~37mb
|
 |
|
Comments (0)
|
|
|
|
Flash steps up to the 3D plate |
|
|
By Thomas Goddard on
2/28/2007 9:59 PM
|
|
|
|
My close friend and colleague, Paul Spitzer (the guy with the bannana phone for his picture on IM), recently updated his blog with a very nice demonstration of Flash, with video on mesh (3D mesh that is). Something that I admitidly never thought I would see in Flash before 2010. A combination of raw talent and some math, not for the feint of heart, but it definitely illuminates the path of what looks to be some new ground breaking UIs on the Flash platform.
See the truly inspirational work

|
 |
|
Comments (0)
|
|
|
|
The Vista from The North Face In-Store Explorer |
|
|
By Thomas Goddard on
1/30/2007 1:51 PM
|
|
|
|
The North Face In-Store Explorer Kiosk definitely packs the wow! Check out these pictures and video from the pilot and final launch! The mission was to create a visually compelling and engaging user experience, incorporating the large set of features present in Microsoft's latest UI platform: Windows Presentation Foundation. Aside from the visual aspect of this project, we managed to complete it with some exciting Windows Communication Foundation, P2P, XPS, and C++ interop under the hood. Take a look at the video below from the store, right down the street from me, in Palo Alto, California.
This was a massive undertaking and we had to bring together many different teams in various locations to execute on a single vision. Firstly, Microsoft has released a core set of tools and SDKs, integrating all forms of media to the broader developer communty. In addition, with the release of Vista, WPF coupled with Microsoft’s commitment to providing the tools and SDKs the developers need freely, we had the power in our hands to make the various aspects of the solution become a reality.
Collaborating on this project was a team of interaction designers, engineers, program managers, developers, solutions architects, and other talented fellows. Brian Cherne, from Fluid, was key in the interaction design phase and delivered a very workable UI to the team. The designs were so easy to work with because they were created using vector-based design tools, which are directly converted to XAML. Much of the kiosks user friendly interface was created without having to sacrifice the "wow" factor that's inherent with WPF. The engineers at both Fluid and Microsoft include Karsten Januszewski and David Teitelbaum, who have been outstanding partners in this effort. I am grateful to have worked with a team that has such a keen ability to execute. I had a solutions architect and hands on development role working on the UI integration, navigation in the UI, 3D, animation, data, communications, XPS document imaging, and the client P2P content-distribution software.
“The Windows Presentation Foundation provides an elegant framework and it is amazing how much we were able to pull off” says Darren David, the lead developer of the In-Store Explorer and creator of TNF In-Store Explorer Proof of Concept, which rocked the audiences at PDC 2005 and Mix 06, and I'd like to add that we accomplished everything we were set out to do, producing amazing results, without hitting our heads against the wall.
The first pilot launch was a small deployment at The North Face Flagship stores in San Francisco and Palo Alto in California, and Seattle, WA. The intially small deployment presented an opportunity for gathering usage data. After figuring out what the users experienced with the live kiosks, we were able to move forward with a larger deployment. Kiosks launched around America in December 2006, so keep an eye out for a kiosk at The North Face store near you!
If you come from a Flash, Director, 3D, animation, or creative background then you should get your hands on some XAML and start building that dream UI. If you come from a software engineering background then you're going to love WPF.

|
 |
|
Comments (0)
|
|
|
|
|
Maya To XAML Goes Open Source!!! |
|
|
By Thomas Goddard on
11/7/2006 1:10 PM
|
|
|
Maya To XAML is now available to developers at large to help build its integration into Maya. If you're a 3D graphics developer or just looking to learn more about Maya or XAML, the project is now accepting requests to join so get on over to CodePlex and sign-up!!
Download Blend to easily view and edit the XAML exported from Maya.
|
 |
|
Comments (1)
|
|
|
|
Develop Without Borders Semi-Finalist |
|
|
By Thomas Goddard on
11/5/2006 9:51 PM
|
|
|
|
I want to share some very good news! My partner Jose Arocha and I were asked by Stanford and the Global Health Education Consortium to develop an application assisting health professionals around the world. http://modules.globalhealth-ec.org The Global Health Modules Project will lend a hand to Drs and students in combating infectious diseases at home and abroad, while building a social network to document their experiences. It was just announced that our project is a semifinalist in the“Microsoft Develop Without Borders Challenge”, selected from hundreds of projects promoting health and prosperity around the globe.
www.developwithoutborders.com
Wish us luck and thanks to all those who helped us get this done and for helping put this all together. (See announcement below)
--------------------------------------------------------------------------------
Dear Thomas Goddard and Jose Arocha,
We are pleased to inform you that the solution you architected and submitted to the Develop without Borders development challenge has been chosen as a semi-finalist pending eligibility validation. Your submission was chosen from hundreds of entrants from around the world as outstanding and as one that we'd like to consider for our next round of judging.
Thank you very much for your submission. Once we have received and verified the information above, we will be in contact with you to set up a conference call and LiveMeeting where you can present your solution to the judges.
Best regards and best of luck,
Develop without Borders Judging Committee
|
 |
|
Comments (0)
|
|
|
|
Reminder: Blog My Dog Rufus |
|
|
By Thomas Goddard on
9/19/2006 8:07 AM
|
|
|
|
It's amazing how much I've seen animals in the news these days. Sites are dedicated to the cutest animals and ones created for animal buddies. I wouldn't usually post about cute animals on my super-tech blog but my dog Rufus has been so "internet famous" lately, I just had to! He was recently recognized as the favorite pet on CuteOverload.com and was the featured dog on Dogster.com today! So, if you want to take a look at this loveable, cute, friendly, and sometimes crazy dog we call Roofees then cruise over to Dogster or CuteOverload. He’s "Rufus II" on Dogster and right off the homepage of CuteOverload (search for ROOFEES). Anyways, back to work. Enjoy!
|
 |
|
Comments (1)
|
|
|
|
.NET Framework 3.0 Everywhere | Maybe WPFe ? |
|
|
By Thomas Goddard on
9/15/2006 10:01 PM
|
|
|
|
I was recently asked to put together a comparison of WPF Everywhere to evaluate it against other portable presentation-layer solutions. .NET Framework 3.0 Everywhere could very well be the new name of this cross platform buccaneer.
.NET 3.0 E is a feature subset of the CLR (Common Language Runtime/.NET Framework) and the recently released Windows Presentation Foundation, which provides C# / .NET developers with the ability to create and deploy UI and lightweight applications across platforms like Mac, Linux, and numerous devices.
WPF E will offer a vector UI runtime library, to a great extent like Macromedia Flash Player provides in the present day. So why use something other than Flash? Well, today’s Flash player has a significant position on the web enabled rich media market but it fails to address one serious need: The ability to present Microsoft Office material on multiple platforms.
Sure, Office is a Microsoft’s product, so why should Flash ever try and support it? Today’s businesses require more compelling UI, rich presentation, and the ability to provide media from existing and familiar sources. Flash simply lacks the ability to easily interoperate and integrate with many of the Office products of today and the applications developed around the Office product line.
Considering that Office is one of the few applications Microsoft has released for Mac OS X and the best selling software on Macintosh today, plus with the growing popularity of Mac OS (especially after the Intel release), you can bet your bottom dollar that there’s a growing demand for cross platform presentation-layer and user interface solutions. WPF Everywhere is the solution.
Enough with my hype, let’s look at how they stack up in comparison. My partner in saving the world and co-founder of TAVOS Media Networks, Jose Arocha, put together this basic outline comparing the advantages of using several widely available presentation formats, integrated with a web based user interface, and here is what we came up with:
Comparison table of presentation formats and applications needed for an interactive integrated presentation and user experience.
Click To Enlarge

The only solution with a perfect 10 is WPF E. This was not an easy conclusion to come to, taking into consideration that WPF-E is still not released to the public yet, which weighs in on our final decision to roll it out in the end.
From the experience I have with WPF, I think we are looking at the silver bullet for UI, presentations, and compelling user experience. Here is an interesting but incomplete, in my opinion, presentation of WPF-E
Apple, say hello to your new friend!
|
 |
|
Comments (1)
|
|
|
|
It's a new blog! |
|
|
By Thomas Goddard on
8/27/2006 3:13 AM
|
|
|
|
As you can see, my blog is fresh and new. It was time to integrate the entire blog with my site so that I could get more features and content around it. I'll keep my old blog around until I get some new entries rolling on this new one. I'm in the process of creating a new site dedicated to my Maya to XAML plug-in, to help build more community around 3D and XAML, so check back in a little wihle.
|
 |
|
Comments (0)
|
|
|
|
 |
|
|
 |
|