<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-13405220</id><updated>2011-04-21T17:47:40.474-05:00</updated><title type='text'>Pavan Podila's Blog</title><subtitle type='html'>the Approach rather than the Solution</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pavanpodila.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>93</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13405220.post-115592834359260589</id><published>2006-08-18T14:07:00.000-05:00</published><updated>2006-08-18T14:13:32.550-05:00</updated><title type='text'>Using Live Spaces for blogging</title><content type='html'>I have decided to switch to Live Spaces for blogging all the WPF stuff. Its not that Blogger is bad but just that I find it much more easier to use &lt;a href="http://windowslivewriter.spaces.live.com/blog/cns%21D85741BB5E0BE8AA%21174.entry"&gt;Live Writer &lt;/a&gt;with Spaces. Uploading pictures in Blogger is a pain, especially if you are uploading a couple of them. So starting today I am going over to Live Spaces. Here is my new &lt;a href="http://pavanpodila.spaces.live.com/"&gt;Blog Url&lt;/a&gt;. BTW, I have a new slideshow application out there.&lt;br /&gt;&lt;br /&gt;I will continue to keep this blog but won't be posting here anymore.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-115592834359260589?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115592834359260589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115592834359260589'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/08/using-live-spaces-for-blogging.html' title='Using Live Spaces for blogging'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-115542057614539485</id><published>2006-08-12T16:47:00.000-05:00</published><updated>2006-08-12T17:09:38.513-05:00</updated><title type='text'>Using SmartArt in Word 2007 as images</title><content type='html'>Word 2007 is a very powerful and rich blog editor and I've spoken about that once over &lt;a href="http://pavanpodila.blogspot.com/2006/07/blogging-with-word-2007-my-experiences.html"&gt;here&lt;/a&gt;. I use it as my default editor for composing posts. This post was also composed within Word 2007 and then copy-pasted into Blogger's Web based editor. It works great for textual content but when it comes to using images, it breaks down a little.&lt;br /&gt;&lt;br /&gt;The problem with the Blog settings of Word 2007 is that it is too rudimentary. I can certainly setup Blogger inside Word 2007 but that works only for text. For images I will have to provide a FTP or other location for hosting the images. Unfortunately I have no clue what the hosting server is for the Blogger images. I know I can do from within Blogger but I have no idea where it is uploading to. Also this doesn't seem to be a publicly know piece of information.&lt;br /&gt;The only way to get around this problem is to create the images separately and then upload them through the Blogger Image Upload functionality, which can only be done through the web-based editor.&lt;br /&gt;&lt;br /&gt;For creating the rich visuals I would like to use Word 2007's SmartArt feature. Using SmartArt it is possible to create great looking images with very little effort. It also integrates well with Excel for creating graphs/charts, etc. However if you had to export the SmartArt created in Word 2007 as images, there is no direct way to do it. Previously I would use Alt-PrntScreen command to take a snapshot of the screen in Word and then crop the image using an editor like Paint Shop Pro. But this was a tedious process and I always knew there was a better way to do it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The solution&lt;/span&gt;&lt;br /&gt;Today I found a way out, which gives me exactly what I want without any extra hoop-jumping.&lt;br /&gt;The way to do it is to use the &lt;span style="font-weight: bold;"&gt;Save As...&lt;/span&gt; command within Word 2007 and select &lt;span style="font-weight: bold;"&gt;Web Page (*.htm, *.html)&lt;/span&gt; as the save format. Once that is done, Word creates a separate folder for the images and if you look inside that, you will find all your images, just the way you wanted!&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://photos1.blogger.com/blogger/7348/1065/400/Image1.png" alt="" border="0" /&gt;&lt;br /&gt;Word creates a PNG file that contains the full-size image and also a GIF file which is the compressed version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-115542057614539485?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115542057614539485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115542057614539485'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/08/using-smartart-in-word-2007-as-images.html' title='Using SmartArt in Word 2007 as images'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-115534773119108035</id><published>2006-08-11T19:13:00.000-05:00</published><updated>2006-08-12T09:15:58.186-05:00</updated><title type='text'>Designer - Developer workflow - Part 1</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;"&gt;There is certainly lot of information and awareness floating around that Windows Presentation Foundation (WPF) creates a new style of collaboration between the Designer and the Developer. How is that possible? The holding glue is a new XML based language called XAML. There are certain key elements of XAML that make this workflow a possibility. In this series of posts I’ll expound more into the world of XAML and its tools.&lt;br /&gt;&lt;br /&gt;A common theme found in XAML is a clear separation of concerns. The logical structure of the page is distinctly separate from its styling. Interface elements like Buttons, Textboxes, Listboxes, etc. can be made to look dramatically different from the classic appearances that we have always known. Animations can be intermixed with static elements like text and they can also be applied on a wide variety of elements. Interface elements are not just limited to 2D but extend to 3D as well. It is thus possible to have a page design that mixes 2D and 3D to create a very immersive experience. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="line-height: 115%;"&gt;Anatomy of a Control&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;"&gt;Underneath all these are some specific XAML elements that make it all happen. If we dissect a single UI element like a Button we can start seeing many layers. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;&lt;span style="line-height: 115%;"&gt;The look:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;"&gt;The topmost layer of course is the appearance or the look of the Button control. We can separate it out into a template and just switch the template to acquire a different look. This idea of templates is more formally called Control Templates&lt;controltemplate&gt;. UI controls themselves are of different kinds. On one hand we have a control like a Button that does not contain any other children and on the other hand we have controls like the Listbox which host a list of items or children. In addition to these two types we also have a third type of control, like the Tree, which is a hierarchy of children. So it makes sense that the control template be also be different. Sure enough. We have a ContentTemplate for a Button-like control (aka singular control), an ItemTemplate for a Listbox-like control (plural control) and a HierachicalDataTemplate for a Tree-like control.&lt;o:p&gt;&lt;/o:p&gt;&lt;/controltemplate&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;&lt;span style="line-height: 115%;"&gt;The interaction:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;"&gt;Once the look is established we would like to interact with the control and we have events just for that. These events are very similar to the ones in WinForms but with some extra capabilities. In most UI paradigms events always originate from the control and &lt;i style=""&gt;bubble-up&lt;/i&gt; to their parent. So if I had a Button inside a Panel and I clicked on the Button, the Button would see the click event first followed by the Panel. In WPF this event propagation strategy is made bottom-up as well as top-down. The top-down approach is where the Panel would see the event first. This is more formally called the &lt;i&gt;tunneling&lt;/i&gt; &lt;/span&gt;strategy&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;i style=""&gt;&lt;span style="line-height: 115%;"&gt;Trigger the Animations:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;"&gt;In addition to plain events, the control becomes more lively with animations and the way to &lt;i style=""&gt;trigger&lt;/i&gt; animations are generally events or some state changes. The way to capture a state change is to use a Trigger. Simply put, a trigger says that when a property changes its value to something, just trigger an action. That action could be an animation or a simple change in the appearance of the control. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;"&gt;To play an animation we first create a Storyboard, which could have one or more animations. An animation is just a time-based, progressive change in the value of a property.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;&lt;span style="line-height: 115%;"&gt;Encapsulating with &amp;lt;Style/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;"&gt;All of these elements: templates, events, triggers, animations can be captured into a single structure called the Style. Style is a list of property-value pairs for an element which also be used to specify other properties of the control. Thus we can encapsulate the complete &lt;i style=""&gt;anatomy&lt;/i&gt; of the control inside a &lt;style&gt;&lt;/style&gt; declaration.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style=""&gt;&lt;span style="line-height: 115%;"&gt;The ResourceDictionary --- the mother load&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;"&gt;Bundling up the look and feel of a single control is straightforward but how do you encapsulate this information for a 100 different controls, say. The next higher level of organization is the ResourceDictionary. It is a list of name-value pairs where the name stands for a uniquely identifiable resource and the value part of the pair is the resource itself. Resources are not just limited to styles but absolutely any object. So I could have a ResourceDictionary that has a bunch of styles, templates, data-objects, brushes, etc defined that could be used in other parts of the application. I can also nest ResourceDictionaries. In other words if you think your resource-dictionary is growing too long, just break it up into smaller resource-dicationaries and merge them together inside a top-level resource dictionary. That greatly improves the organization of all the resources or assets.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;"&gt;ResourceDictionaries can be then linked into a page and the contained resources can be used by referring to their unique names.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="line-height: 115%;"&gt;Summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%;"&gt;We have covered enough material to understand the structure of a Control. In the next post I’ll talk about how these concepts can help in the designer-developer collaboration.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-115534773119108035?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115534773119108035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115534773119108035'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/08/designer-developer-workflow-part-1.html' title='Designer - Developer workflow - Part 1'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-115512758469845149</id><published>2006-08-09T07:46:00.000-05:00</published><updated>2006-08-09T07:52:03.493-05:00</updated><title type='text'>Did you miss WWDC 2006 Keynote?</title><content type='html'>&lt;p&gt;&lt;if you="" are=""&gt;&lt;/if&gt;&lt;/p&gt;If you are like me and missed the WWDC 2006 keynote by Steve Jobs -- you can watch the streaming webcast &lt;a href="http://events.apple.com.edgesuite.net/aug_2006/event/index.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Interesting parts:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;PC-Mac Ad in the introduction&lt;/li&gt;&lt;li&gt;New features in Leopard (Time Machine, Spaces, 64-bit, ...etc..about 10 in all)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-115512758469845149?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115512758469845149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115512758469845149'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/08/did-you-miss-wwdc-2006-keynote.html' title='Did you miss WWDC 2006 Keynote?'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-115288462486697963</id><published>2006-07-14T08:41:00.000-05:00</published><updated>2006-07-14T08:43:44.876-05:00</updated><title type='text'>Zooming in Google Maps</title><content type='html'>I just noticed that &lt;a href="http://maps.google.com"&gt;Google Maps&lt;/a&gt; finally has the scroll-wheel based zooming. Yes! you can use the scroll on your mouse to zoom in and out. I first saw this feature in MSN Virtual Earth and wanted it badly in Google Maps. My prayers have been finally answered :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-115288462486697963?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115288462486697963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115288462486697963'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/07/zooming-in-google-maps.html' title='Zooming in Google Maps'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-115287939190596762</id><published>2006-07-14T07:09:00.000-05:00</published><updated>2006-07-14T07:16:31.916-05:00</updated><title type='text'>NFS Carbon: new videos</title><content type='html'>I love the way the Need for Speed series of games has progressed over time. I have had the privilege of playing almost all of those titles right from NFS 2 to NFS underground. The next addition to the series is NFS Carbon. IGN has released some new videos of its gameplay. Watch it &lt;a href="http://www.techeblog.com/index.php/tech-gadget/need-for-speed-carbon-gameplay-footage"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Oooo...I love the feeling when the car turns on those sharp turns.&lt;br /&gt;&lt;br /&gt;Also check out: &lt;a href="http://www.techeblog.com/index.php/tech-gadget/latest-need-for-speed-carbon-images"&gt;Images&lt;/a&gt;, &lt;a href="http://www.techeblog.com/index.php/tech-gadget/first-look-need-for-speed-carbon"&gt;First Looks&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-115287939190596762?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115287939190596762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115287939190596762'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/07/nfs-carbon-new-videos.html' title='NFS Carbon: new videos'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-115284031312466989</id><published>2006-07-13T19:35:00.000-05:00</published><updated>2006-07-13T20:25:13.163-05:00</updated><title type='text'>Blogging with Word 2007: My experiences</title><content type='html'>I have been trying different blogging clients for a while now: w.Bloggar, BlogJet, BlogDesk, Qumana, Ecto, etc. So far I love BlogDesk because of its nice and clean interface and also its ability to add effects to images like drop shadows, paper tear effect, borders, rotations, etc. Best of all its free! No wonder its my default client for blogging.&lt;br /&gt;&lt;br /&gt;But my quest for finding something better has not stopped and to add to my list is Word 2007. I heard about the blogging features in Word 2007 when the Beta 2 was released. As any curious observer I got my copy of Word and started playing with it. Initially my blog posts were limited to text only, which made it easier for me to upload it to Blogger and also the Movable Type blog that I use at workplace.  Today my co-worker and I decided to setup an FTP server so that we could upload images through Word 2007. The blog configuration for Movable Type is pretty basic right now, which I am sure will improve as we get to the RTM version of Office. After some initial hiccups with the configuration, we got the image-uploading capability in place. Uploading those sexy-looking images (SmartArt, WordArt, ClipArt) in Word was finally possible :-)&lt;br /&gt;&lt;br /&gt;To give Word 2007 a real test run, I decided to create a long blog post to explore many of the image/text editing capabilities. BTW, I am blogging a lot about Windows Presentation Foundation (WPF) in my internal blog. Today I also got to know that I could officially publish those posts even on my external blog! Sweet. I should have them here soon.&lt;br /&gt;&lt;br /&gt;Now let me switch back to the topic of blogging in Word. The editing experience in Word is definitely superior compared to any of the other clients I have used before. Word 2007 makes it even more enjoyable with all those nice features for creating rich art and typography. But it is not without problems. Before I tell you the bad, let me give a quick listing of the good:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I like the fact that I can just copy code from the editor window of Visual Studio and paste directly into Word, preserving all the syntax highlighting. That is a big plus for me as I tend to write lot of code in my posts...mostly XAML/C# code.&lt;/li&gt;&lt;li&gt;The image editing tools are great. I love the different effects that I can apply on an image: drop shadows, reflections, 3D rotations, borders, etc. This really makes my post look outstanding!&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;So what's the bad?&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I had chosen an FTP location for uploading the images. When I published the post all my image URLs had an ftp:// protocol but without the user information. The problem is that none of these images show up on the browser or in a client. This is probably because I was not using an anonymous login. Since my blog is internal I don't mind if the username/password attached to the FTP Url, but there is no way to specify that. I guess I should be using the anonymous login anyways. Something to try out tomorrow.&lt;/li&gt;&lt;li&gt;The nice images that I create in Word are poorly rasterized during the upload stage. I like the fact that Word is using the PNG format and not JPG or BMP but the rendering is pretty bad.&lt;/li&gt;&lt;li&gt;The numbering on the bulleted list was not properly maintained. I was using a bulleted list where each list item was having many paragraphs + images. That kind of broke the numbering and every item was numbered as 1. on a list of 5 items.&lt;/li&gt;&lt;li&gt;I could not upload the post as a draft and it complained that images could not be uploaded because the directory was set as read-only. However when I published the post directly (not as a draft) everything went well. I guess Word is doing some name mangling to publish as draft and in doing so it was looking for a different directory than the one I specified in the configuration.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Even with all these problems I published the post, only to open it up again in BlogDesk and make a ton of corrections like fixing the list items, fixing the image Urls, changing some font-styles, etc. I am glad that the blog editing experience is very enjoyable but the published result is pathetic. I hope this will be fixed soon, may be in the next CTP/Beta/RC release of Office. I would be glad to hear anyone having a better experience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-115284031312466989?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115284031312466989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115284031312466989'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/07/blogging-with-word-2007-my-experiences.html' title='Blogging with Word 2007: My experiences'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-115210222356904209</id><published>2006-07-05T07:22:00.000-05:00</published><updated>2006-07-05T07:23:43.586-05:00</updated><title type='text'>EID - June 2006 CTP is out!</title><content type='html'>Finally the EID CTP for June is out and works on the .NET Framework 3.0. You know what to do when you go &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B8557886-C1BE-43F8-BCF8-5DE4CB5675AB&amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-115210222356904209?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115210222356904209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/115210222356904209'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/07/eid-june-2006-ctp-is-out.html' title='EID - June 2006 CTP is out!'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114989070023948550</id><published>2006-06-09T16:21:00.000-05:00</published><updated>2006-06-09T18:20:03.420-05:00</updated><title type='text'>Simple Flickr Explorer with WPF databinding</title><content type='html'>Databinding is a great feature of the Windows Presentation Foundation and playing around with it has been fun. As a sample I made a simple Flickr explorer that would show the most recent photos of a user. It takes the username as input.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/flickr_explorer.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/flickr_explorer.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Databinding&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The interesting part of this application is that it is entirely driven by Data-binding (markup + little code-behind). The markup creates the ObjectDataProvider which is then populated in the code-behind. All though I could have done everything in markup I deliberately chose to do some of it in code-behind just to have a taste of the API. I have a helper class which defines some public methods to get the list of photos and also the user-info. The ObjectDataProvider class has two properties: MethodName, MethodParameters which can be used to bind to methods of any CLR object. The data-binding engine would internally make calls on these methods to get the required data. The bindings to the ObjectDataProvider are set to asynchronous (by setting the Binding.IsAsync to True).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Styling&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have defined DataTemplates for the Photo class that represents each item in the list of photos. There are three different templates for different size of the photos. You can switch between the sizes using the radio-buttons. Additionally there are styles for the ListBox, Button and TextBox. For the ListBox I have changed the ItemTemplate to use a WrapPanel (which becomes the ItemsHost). All of these are declared in a separate ResourceDictionary and linked to the main XAML file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Libraries&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I am using the &lt;a href="http://www.wackylabs.net/flickr/flickr-api/"&gt;Flickr.NET&lt;/a&gt; library to communicate with Flickr.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.cs.uh.edu/%7Epavan_p/myblog/WPF_flickrExplorer.zip"&gt;Source and Binaries&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114989070023948550?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114989070023948550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114989070023948550'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/06/simple-flickr-explorer-with-wpf.html' title='Simple Flickr Explorer with WPF databinding'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114954929365728481</id><published>2006-06-05T18:11:00.000-05:00</published><updated>2006-06-05T18:19:32.506-05:00</updated><title type='text'>Using the “assembly” when mapping clr-namespace</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;I was playing around today with Data binding in WPF using the ObjectDataProvider. It is a powerful concept and you can apply it effectively if you understand it well. &lt;a href="http://www.beacosta.com/"&gt;Beatriz Costa&lt;/a&gt; has been blogging for a while about DataBinding and her blog is a great resource.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Since the Feb CTP of WinFX the syntax has changed for mapping a CLR namespace to a XML namespace. Using the new syntax the mapping can be part of the root tag as:&lt;br /&gt;&lt;/p&gt;&lt;span style="font-family:Consolas;"&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;Grid&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&lt;/span&gt;"&lt;span style="color:blue;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns:x&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/span&gt;"&lt;span style="color:blue;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns:mc&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;http://schemas.openxmlformats.org/markup-compatibility/2006&lt;/span&gt;"&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns:d&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;http://schemas.microsoft.com/expression/interactivedesigner/2006&lt;/span&gt;"&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;mc:Ignorable&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;d&lt;/span&gt;"&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;Background&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;#FFFFFFFF&lt;/span&gt;"&lt;span style="color:blue;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;x:Name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;DocumentRoot&lt;/span&gt;"&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;x:Class&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;UntitledProject1.Scene1&lt;/span&gt;"&lt;span style="color:blue;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;Width&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;640&lt;/span&gt;"&lt;span style="color:blue;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;span style="color:red;"&gt;Height&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;480&lt;/span&gt;"&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns:f&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;clr-namespace:MyHelper;assembly=MyHelper&lt;/span&gt;"&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="background-color:yellow;"&gt;xmlns:system&lt;/span&gt;&lt;span style="background-color:yellow;"&gt;=&lt;/span&gt;&lt;span style="background-color:yellow;"&gt;"&lt;span style="color:blue;"&gt;clr-namespace:System;assembly=mscorlib&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;    &lt;/p&gt;&lt;/span&gt;&lt;p&gt;Note the highlighted line which contains the mapping. With this concise syntax, we are creating a XML namespace “system” which maps to  the CLR namespace of “System”. In the same line we also have an “assembly” attribute. This tells the XAML parser that the aforementioned namespace is not in the current assembly but lies in an external assembly (in this case “mscorlib”).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Thus when the XAML parser sees a fragment like below:&lt;br /&gt;&lt;/p&gt;&lt;span style="font-family:Consolas;"&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;        &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;ObjectDataProvider&lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;span style="color:red;"&gt;x:Key&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;odp_1&lt;/span&gt;"&lt;span style="color:blue;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;span style="color:red;"&gt;ObjectType&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;{x:Type f:MyHelper}&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;        &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;ObjectDataProvider&lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;span style="color:red;"&gt;x:Key&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;odp_2&lt;/span&gt;"&lt;span style="color:blue;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;span style="color:red;"&gt;MethodName&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;GetPhotos&lt;/span&gt;"&lt;span style="color:blue;"&gt;&lt;br /&gt;     &lt;/span&gt;&lt;span style="color:red;"&gt;ObjectInstance&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;{StaticResource odp_1}&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;ObjectDataProvider.MethodParameters&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;                &lt;span style="background-color:yellow;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color:yellow;"&gt;system:String&lt;/span&gt;&lt;span style="background-color:yellow;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background-color:yellow;"&gt;pavan-podila&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;system:String&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;    &lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;            &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;ObjectDataProvider.MethodParameters&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:blue;"&gt;        &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;ObjectDataProvider&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;it would know that the “system:String” is a Type defined in the CLR “System” namespace which lies in the mscorlib assembly.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I have had enough trouble debugging a solution when I missed the “assembly” attribute. I would keep getting a XamlParseException and when I drill down into the InnerException it would say:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color:yellow;"&gt;{"Error at element 'String' in markup file 'TestUI;component/scene1.xaml' : 'f:MyHelper' string cannot be converted to object of type 'System.Type'."}&lt;/span&gt;&lt;br /&gt;   &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;After scratching my head for a while it dawned on me that I was missing the “assembly” attribute. The mapping should be:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Consolas;"&gt;&lt;span style="color:blue;"&gt;    &lt;/span&gt;&lt;span style="color:red;"&gt;xmlns:f&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;clr-namespace:MyHelper;assembly=MyHelper&lt;/span&gt;"&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;WITH the assembly attribute!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114954929365728481?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114954929365728481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114954929365728481'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/06/using-assembly-when-mapping-clr.html' title='Using the “assembly” when mapping clr-namespace'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114879391828587441</id><published>2006-05-28T00:18:00.000-05:00</published><updated>2006-05-28T00:25:18.296-05:00</updated><title type='text'>WPF Polarium clone updated to May CTP of WinFX</title><content type='html'>To get my hands wet with a little WPF code I decided to update my &lt;a href="http://pavanpodila.blogspot.com/2006/02/polarium-clone-in-wpf-compendium.html"&gt;Polarium clone&lt;/a&gt; to the May CTP of WinFX Beta 2. There were minor changes related to the namespaces as detailed in this &lt;a href="http://blogs.msdn.com/karstenj/archive/2006/02/22/537049.aspx"&gt;blog post&lt;/a&gt;. In addition I had to update the namespaces related to the &lt;a href="http://www.microsoft.com/products/expression/en/interactive_designer/default.mspx"&gt;Expression Interactive Designer (EID)&lt;/a&gt;. For that I created a sample EID project and looked at the generated XAML code to get the namespaces.&lt;br /&gt;&lt;br /&gt;Here is the direct link to the &lt;a href="http://www.cs.uh.edu/%7Epavan_p/myblog/Polarium_v22.zip"&gt;Source and Binaries&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114879391828587441?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114879391828587441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114879391828587441'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/05/wpf-polarium-clone-updated-to-may-ctp.html' title='WPF Polarium clone updated to May CTP of WinFX'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114858515574260153</id><published>2006-05-25T14:23:00.000-05:00</published><updated>2006-05-25T14:29:40.143-05:00</updated><title type='text'>A simple iBlok Mod</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;After getting my WinFX runtime installed, I decided to try out the iBloks Beta (yet another of all the floating Betas!). iBloks looks more of an app for kids. It provides a pretty simple interface to drag and drop media content onto a MOD. Currently there are a couple of mods available like Dancing Man, Hearts, Cube, etc. Each of these mods have one or more plain surfaces onto which one can drag media content (photos, videos, text).&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Choosing the media is also pretty straightforward. On the lower part of the window, there is a tabbed interface to switch between videos, photos, text, audio, etc. Once you have all of the media attached to the MOD, one can also share it or simply save to the local drive. Of all the mods I personally like the Dancing Man…for a simple reason…it has more surfaces to drag content to ;)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/iBloks.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/iBloks.png" alt="" border="0" /&gt;Dancing Man on the Ocean Theme&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114858515574260153?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114858515574260153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114858515574260153'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/05/simple-iblok-mod.html' title='A simple iBlok Mod'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114852199886189086</id><published>2006-05-24T20:50:00.000-05:00</published><updated>2006-05-26T14:46:07.850-05:00</updated><title type='text'>Day of the install</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;Today has been pretty busy right from the morning.  It all started from yesterday evening after the &lt;a href="http://blogs.msdn.com/tims/archive/2006/05/23/605418.aspx"&gt;announcement of the betas (Vista, Office 2007 and WinFX)&lt;/a&gt;. I decided to try out Office and WinFX.  Fortunately Microsoft put out the Office betas out in the public (i.e. not requiring a MSDN subscription). I downloaded the installers for Office professional, Visio and OneNote. Late in the night when I had all of the office installers I loaded them onto my laptop. The installation was smooth without any hitch. I was already impressed looking at &lt;a href="http://channel9.msdn.com/Showpost.aspx?postid=195021"&gt;the Channel9 video of Outlook 2007&lt;/a&gt; and then the official &lt;a href="http://www.microsoft.com/office/preview/ui/video.mspx"&gt;Office 2007 videos&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Today morning was the time for WinFX. I got rid of the previous versions of the runtime (Feb CTP), Windows SDK, Expression Interactive Designer (EID) and the Expression Graphic Designer (EGD). Just to be on the safer side I also downloaded the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AAE7FC63-D405-4E13-909F-E85AA9E66146&amp;displaylang=en"&gt;uninstall utility&lt;/a&gt; and ran it over after I had manually uninstalled from the Add/Remove programs. Meanwhile I was downloading the applications as per the &lt;a href="http://blogs.msdn.com/expression/archive/2006/05/23/605217.aspx"&gt;links in this post&lt;/a&gt;. Once I had the installers I started with the WinFX installation. It ran fine for about 2 mins and then it crashed. I looked into the logs (stored in the %temp% directory) and found that it was crashing for Windows Communication Foundation  (WCF). I did a quick search on the MSDN forums and found that people had faced &lt;a href="http://msdn.microsoft.com/windowsvista/support/relnotes/winfxbeta2/default.aspx#topic2"&gt;similar problems&lt;/a&gt;. That however didn’t help me, even after restarting installation a few times. I guess the problem has to be with an earlier install of &lt;a href="http://www.microsoft.com/max/"&gt;Microsoft MAX&lt;/a&gt;. MAX installs its own WinFX runtime and I am thinking there must have been some sparks flying in the registry because of that.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;After many failed attempts I decided to take the most drastic step…reinstall the OS. This was anyway long overdue. I had a ton of software piled up and I was also having some performance problems.  Plus it always gives me a sublime feeling of starting on a clean OS ;) So there I was with my recovery disks, backing up data, formatting hard disks, reinstalling OS and then followed by a ton of software installs (betas of course included). With all that behind me, I am now typing this blog post …with a sign of relief…zzzzzZZZZZ&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114852199886189086?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114852199886189086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114852199886189086'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/05/day-of-install.html' title='Day of the install'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114847629362340878</id><published>2006-05-24T08:08:00.000-05:00</published><updated>2006-05-24T08:11:33.763-05:00</updated><title type='text'>Word 2007 test post</title><content type='html'>&lt;span xmlns=""&gt;&lt;p&gt;This is a test post sent using the Word 2007’s &lt;strong&gt;Blog Post&lt;/strong&gt; feature.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114847629362340878?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114847629362340878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114847629362340878'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/05/word-2007-test-post.html' title='Word 2007 test post'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114841508832893539</id><published>2006-05-23T15:01:00.000-05:00</published><updated>2006-05-23T23:45:35.346-05:00</updated><title type='text'>iBloks early access</title><content type='html'>I &lt;a href="http://pavanpodila.blogspot.com/2006/03/after-north-face-its-ibloks.html"&gt;mentioned sometime back&lt;/a&gt; that iBloks would be the next cool app after the North Face demo. iBloks is built using the Windows Presentation Foundation (WPF). In their own words:&lt;br /&gt;&lt;blockquote&gt;"Welcome to the only way to create 3D personalized, multimedia, entertainment            and game experiences to share with others. You can use your own digital media content or check out            the iBloks shop for cool content from iBloks, and our partners.  It's a fun, easy and totally            new way to express yourself." &lt;/blockquote&gt;iBloks was &lt;a href="http://blog.mix06.com/virtualmix/archive/2006/03/15/iBloks.aspx"&gt;first announced at the MIX 06&lt;/a&gt;. They also had a beta sign-up program where one would get early access to the software. Today I got a mail saying that I can now download the application. It is available on their &lt;a href="http://www.ibloks.com/shop/download_launch.php"&gt;download page&lt;/a&gt;. Check it out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114841508832893539?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114841508832893539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114841508832893539'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/05/ibloks-early-access.html' title='iBloks early access'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114796503967800344</id><published>2006-05-18T10:09:00.000-05:00</published><updated>2006-05-18T10:10:39.696-05:00</updated><title type='text'>Expression Web Designer for Download</title><content type='html'>Finally, the Expression Web Designer (EWD) is available for download. In fact it was supposed to have released a few days earlier but there were some problems with the site. Now its here -- &lt;a href="http://www.microsoft.com/products/expression/en/web_designer/wd_free_trial.aspx"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114796503967800344?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114796503967800344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114796503967800344'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/05/expression-web-designer-for-download.html' title='Expression Web Designer for Download'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114723767070113086</id><published>2006-05-09T23:34:00.000-05:00</published><updated>2006-05-10T00:09:30.350-05:00</updated><title type='text'>They say "Seeing is Believing", Wii says "Playing is Believing"</title><content type='html'>The E3 is underway and the 3 big players: Sony, Microsoft, and Nintendo are off to demo some of the cool titles for their systems. Somehow my attention is all for Nintendo; for the &lt;a href="http://wii.nintendo.com/home.html"&gt;Wii&lt;/a&gt;. I can't be blamed. I have been playing Nintendo games since I was a kid: Gameboy, Gameboy Advance, then GameCube and more recently Nintendo DS. For me its all about fun and fascinatingly Nintendo delivers just that!&lt;br /&gt;&lt;br /&gt;Wii comes out in Q4 of 2006. Until then I'll hang around &lt;a href="http://www.kotaku.com/"&gt;this place&lt;/a&gt;. For the latest and greatest at E3, go &lt;a href="http://www.e3insider.com/"&gt;here&lt;/a&gt;. There is a cool Wii Tennis video with Miyamoto, waiting for you!&lt;br /&gt;&lt;br /&gt;BTW, the inspiration for this post comes from this &lt;a href="http://www.mtv.com/news/articles/1531448/20060509/index.jhtml?headlines=true"&gt;press article&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114723767070113086?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114723767070113086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114723767070113086'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/05/they-say-seeing-is-believing-wii-says.html' title='They say &quot;Seeing is Believing&quot;, Wii says &quot;Playing is Believing&quot;'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114677474937289576</id><published>2006-05-04T15:18:00.000-05:00</published><updated>2006-05-04T16:31:28.886-05:00</updated><title type='text'>The last Redesign</title><content type='html'>As I approach towards my last day as a Graduate Teaching Assistant (GTA), I got assigned a final redesign task for sprucing up an email. This was going to be a memo that would be sent out to all the faculty at the Bauer School of Business (the place where I am a GTA). Since I had already done similar tasks &lt;a href="http://pavanpodila.blogspot.com/2006/03/webpage-redesign.html"&gt;before&lt;/a&gt; I got picked up for doing this...just when I thought I could catch a nap...@#@$#%#$ :-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Before&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/Before_Redesign.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/Before_Redesign.png" alt="" border="0" /&gt;&lt;/a&gt;This is how the webpage looks before the redesign. Some of the things I had to change was the layout, images, header, and most importantly CSS-ifying the page.&lt;br /&gt;&lt;br /&gt;The page was having a complex table-structure for layout -- which is definitely something the Web-Standards gurus won't appreciate. Plus, the markup was not &lt;a href="http://www.digital-web.com/articles/writing_semantic_markup/"&gt;semantic&lt;/a&gt; and had lot of elements just for styling (think lot of &amp;lt;FONT&amp;gt; tags). This really bloated the markup and the file size was about 7 Kb.&lt;br /&gt;&lt;br /&gt;I am guessing somebody must have used FrontPage for this design ;-)&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: both;"&gt; &lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;After&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/After_Redesign.png"&gt;&lt;img style="margin-left: 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/After_Redesign.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;For the redesign, I decided to stick to a 2-column layout with the main-content in the left-column and a sidebar for the faculty testimonials. All the styling was done in CSS and the markup was made more semantic. This brought down the file size to around 3 Kb. The images were also changed: a new image for the Director and also a new banner image for the header. The images were floated to give the effect of flowing text. I also added some rounded corners for style.&lt;br /&gt;&lt;br /&gt;Since the "Key Features" list was expanded to more than two, the page became longer and required scrolling. I have a couple of ways for dealing with that but for now I'll leave it as it is.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: both;"&gt; &lt;/div&gt;As an aside, I used the &lt;a href="http://www.hanselman.com/blog/ConsolasFontFamilyNowAvailableForDownload.aspx"&gt;Consolas font&lt;/a&gt; for writing the markup and CSS. I think I like this font a lot and I am going to switch to that for my regular coding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114677474937289576?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114677474937289576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114677474937289576'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/05/last-redesign.html' title='The last Redesign'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114660733415805439</id><published>2006-05-02T16:40:00.000-05:00</published><updated>2006-05-03T13:23:07.330-05:00</updated><title type='text'>MAC takes on PC</title><content type='html'>Apple really seems to be getting together to challenge the PC world. First it was the &lt;a href="http://macworld.apple.com.edgesuite.net/mw/index.html"&gt;Ad at the MacWorld Keynote 2006&lt;/a&gt; -- "Intel chips: so far were dull little machines running dull little tasks". Now they have a &lt;a href="http://www.apple.com/getamac/ads/"&gt;new set of Ads&lt;/a&gt; where they pit two guys, one is a MAC and the other is a PC. I like the &lt;span style="font-weight: bold;"&gt;Restarting&lt;/span&gt; Ad.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[Update]: &lt;/span&gt;Translations available for the &lt;span style="font-weight: bold;"&gt;Networking &lt;/span&gt;Ad. Go &lt;a href="http://takaakikato.jp/2006/05/he-looks-like-otaku-doesnt-he.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.apple.com/macbookpro/"&gt;MacBook Pro&lt;/a&gt;s are out: 15.4" and 17". So I'll see you at my Birthday Party ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114660733415805439?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114660733415805439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114660733415805439'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/05/mac-takes-on-pc.html' title='MAC takes on PC'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114623526760432763</id><published>2006-04-28T09:14:00.000-05:00</published><updated>2006-04-28T12:19:40.050-05:00</updated><title type='text'>SketchUp your world</title><content type='html'>Google &lt;a href="http://sketchup.google.com/index.html"&gt;Sketchup&lt;/a&gt;, released recently, is a great and fun 3D Modeling software. It has amazing interactivity and also very easy to use. Looks like Google really got the intereaction part right. I have been a user (although at an amateur level) of a couple of 3D modeling softwares but I am very impressed with SketchUp.&lt;br /&gt;&lt;br /&gt;As soon as I got over the initial learning curve (thanks to some great &lt;a href="http://sketchup.google.com/tutorials.html"&gt;video tutorials&lt;/a&gt;) my mind started wandering. I have been exploring the XAML markup for sometime and tried my hand at Zam3D for creating markups for 3D models. Although Zam3D is a great tool, it has a very crowded interface which can overwhelm the user. SketchUp is just the opposite of that -- easy and intuitive (love the Push-Pull tool). So I started thinking if there is a way I could export the SketchUp 3D model to a XAML file. After a little digging, I found that SketchUp exposes a set of APIs for doing just that. The greatest surprise came when I read that the API bindings are for the Ruby language -- absolutely amazing. I personally love Ruby and it looks like there is no better way to play around more than with the SketchUp API. [Activity detected, appended to TODO list]&lt;br /&gt;&lt;br /&gt;Just for fun I made this 3D model spelling the letters of my name. Took under 5 minutes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/Untitled.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/Untitled.0.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114623526760432763?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114623526760432763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114623526760432763'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/04/sketchup-your-world.html' title='SketchUp your world'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114619437615308761</id><published>2006-04-27T22:06:00.000-05:00</published><updated>2006-04-27T22:19:36.166-05:00</updated><title type='text'>13 minutes of Creativity</title><content type='html'>I remember sometime back when Honda had come up with an Ad that had lot of domino effects; like a gear rolling upto something which would trigger something else and that would continue to do some more. In short the Ad was trying to show the various car parts of Honda Accord.  Now look at this video (again Japanese)...which is a set of Ads that really display amazing creativity. At the end of every Ad, a card would pop up that has the name of product written on it (ofcourse in Japanese). A lady would also pronounce the name of the product in the background.&lt;br /&gt;&lt;br /&gt;After hearing it so many times I can pronounce too: "Hi tha ko ra su ii chi" :) &lt;a href="http://video.google.com/videoplay?docid=6176491654107670145&amp;pl=true"&gt;Watch the video&lt;/a&gt; and get Wowed!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;If you haven't watched the Honda Ad, its &lt;a href="http://video.google.com/videoplay?docid=6722002846290561138&amp;amp;q=honda+ad&amp;amp;pl=true"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114619437615308761?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114619437615308761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114619437615308761'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/04/13-minutes-of-creativity.html' title='13 minutes of Creativity'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114615038623571467</id><published>2006-04-27T09:42:00.000-05:00</published><updated>2006-04-27T10:10:42.883-05:00</updated><title type='text'>Use 'Bon Echo' WITH your extensions</title><content type='html'>I am a loyal FireFox user but over the last few months I am discomforted with the fact that v1.5.x takes up tons of memory. I have read about the memory leaks, tried lots of fixes (like decreasing the browser.cache.disk.capacity, trimming memory on minimize, etc.) but no change. FireFox still continues to be the hungry fox. It was not just the memory but also my CPU was serving like a slave, working at its full potential (100%) and causing a sluggish experience. Today I threw up my hands and decided to make the switch. Switch to &lt;a href="http://www.mozilla.org/projects/bonecho/releases/2.0a1.html"&gt;FireFox 2.0 - Bon Echo&lt;/a&gt; (ya! still FireFox, not Opera, not IE).&lt;br /&gt;&lt;br /&gt;The most important concern was whether my extensions will work -- which ofcourse turned out that they don't. With a little help from Google, I found out this &lt;a href="http://www.outraged-artists.com/node/31"&gt;site&lt;/a&gt;, that provides extensions for Bon Echo. All that it does is to bump the maxVersion tag in the XPI file. Fortunately I found all my extensions over there.&lt;br /&gt;&lt;br /&gt;Its good to know there are already people on the cutting edge (no...bleeding edge)...good company is always welcome! Now I am back to HappyLand and there is more food (memory and CPU) for everyone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114615038623571467?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114615038623571467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114615038623571467'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/04/use-bon-echo-with-your-extensions.html' title='Use &apos;Bon Echo&apos; WITH your extensions'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114610771622288483</id><published>2006-04-26T22:12:00.000-05:00</published><updated>2006-04-26T22:15:16.236-05:00</updated><title type='text'>How I want to play Tetris</title><content type='html'>Totally awesome video of a grandmaster playing Tetris. I was dumbstruck. For a moment I was wondering if this is a computer player, but then I saw the moving hands on the right.&lt;br /&gt;&lt;br /&gt;Amazing. Go &lt;a href="http://www.gizmodo.com/gadgets/gadgets/you-suck-at-tetris-169834.php"&gt;Watch!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114610771622288483?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114610771622288483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114610771622288483'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/04/how-i-want-to-play-tetris.html' title='How I want to play Tetris'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114606260558507540</id><published>2006-04-26T09:32:00.000-05:00</published><updated>2006-04-26T09:43:25.606-05:00</updated><title type='text'>Creating sidebar gadgets with WPF</title><content type='html'>The current state of art for creating sidebar gadgets is to use the &lt;span style="font-weight: bold;"&gt;DHTML model&lt;/span&gt;. This is not as nice as using &lt;span style="font-weight: bold;"&gt;WPF&lt;/span&gt;. But the good news is: there is a workaround available! mszCool on MSDN Blogs &lt;a href="http://blogs.msdn.com/mszcool/archive/2006/04/25/583317.aspx"&gt;writes about&lt;/a&gt; using an &lt;span style="font-weight: bold;"&gt;XBAP in an IFrame&lt;/span&gt;. The XBAP would ofcourse be the WPF gadget.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;If it doesn't work, work around it!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114606260558507540?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114606260558507540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114606260558507540'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/04/creating-sidebar-gadgets-with-wpf.html' title='Creating sidebar gadgets with WPF'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114592767268716570</id><published>2006-04-24T20:01:00.000-05:00</published><updated>2006-04-24T20:18:43.123-05:00</updated><title type='text'>Rotational scroller with IScrollInfo</title><content type='html'>Ben Constable has published a &lt;a href="http://blogs.msdn.com/bencon/archive/2006/01/05/509991.aspx"&gt;set of tutorials/posts on IScrollInfo&lt;/a&gt;, in which he explains how one can create custom scrollers. I found these posts very interesting and decided to give it a little twist. Generally the scrollbar that you see on the right is used to scroll the content up/down. In Ben's posts, he uses the TranslateTransform to move the content up/down depending on the VerticalOffset.&lt;br /&gt;&lt;br /&gt;I decided to replace the translation with rotation. Instead of TranslateTransform I use a RotateTransform and map the vertical offset to an angle between 0-180. Although such a rotational scroller is pretty useless, it does show a different way in which one can use the IScrollInfo interface. How about a simple dial control? We can hide the horizontal scrollbar and replace the vertical scrollbar with a custom ControlTemplate. The inner content could then be custom drawn to depict a dial.&lt;br /&gt;&lt;br /&gt;Check out the &lt;span style="font-weight: bold; font-style: italic;font-size:130%;" &gt;&lt;a href="http://pavan.podila.googlepages.com/rotational_scroller.swf"&gt;Flash video&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114592767268716570?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114592767268716570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114592767268716570'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/04/rotational-scroller-with-iscrollinfo.html' title='Rotational scroller with IScrollInfo'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114545773066626192</id><published>2006-04-19T09:34:00.000-05:00</published><updated>2006-04-19T10:01:57.000-05:00</updated><title type='text'>New blogger template</title><content type='html'>If you are already reading this on the website, you know what I am talking about: I've changed my Blogger template. If you are reading this on a client...you got to &lt;a href="http://pavanpodila.blogspot.com"&gt;visit&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My previous template was something like&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.blogger.com/templates/113/sample.html"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; text-align: center;" src="http://www.blogger.com/templates/113/thumb.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114545773066626192?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114545773066626192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114545773066626192'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/04/new-blogger-template.html' title='New blogger template'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114540157886030899</id><published>2006-04-18T18:06:00.000-05:00</published><updated>2006-04-18T23:34:55.206-05:00</updated><title type='text'>Pragmatic Book - signed by the Author</title><content type='html'>&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt; &lt;a href="http://static.flickr.com/49/131033131_fcdef0a7e8_b.jpg" title="photo sharing"&gt;&lt;img src="http://static.flickr.com/49/131033131_fcdef0a7e8_m.jpg" alt="" style="border: 2px solid rgb(0, 0, 0);" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;My advisor Dr. Venkat Subramaniam recently published his second book "&lt;a href="http://www.pragmaticprogrammer.com/titles/pad/index.html"&gt;Practices of an Agile Developer&lt;/a&gt;", his first being "&lt;a href="http://www.oreilly.com/catalog/netgotchas/"&gt;.NET Gotchas&lt;/a&gt;". I had the privilege of getting a copy of the book - personally signed by the Author! How often does that happen?&lt;br /&gt;&lt;br /&gt;Venkat is also an accomplished speaker and is a regular on the &lt;a href="http://www.nofluffjuststuff.com/speaker_view.jsp?speakerId=11"&gt;No Fluff Just Stuff (NFJS)&lt;/a&gt; tour, .NET User Groups, Java User Groups and the C# SIG. He is the founder of &lt;a href="http://www.agiledeveloper.com/"&gt;AgileDeveloper.com&lt;/a&gt;: a training and consulting firm that specializes in a wide range of technologies: OO, .NET, Java, Ruby...the list goes on :) Venkat is also an adjunct professor at the &lt;a href="http://www.cs.uh.edu/%7Esvenkat"&gt;University of Houston&lt;/a&gt; (that's how I know him). He also has a &lt;a href="http://www.agiledeveloper.com/blog/"&gt;blog&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;He is a great guy to be with and I have certainly learnt a lot interacting with him. Thanks for the book Venkat!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114540157886030899?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114540157886030899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114540157886030899'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/04/pragmatic-book-signed-by-author.html' title='Pragmatic Book - signed by the Author'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114489913261777179</id><published>2006-04-12T22:22:00.000-05:00</published><updated>2006-04-12T22:32:12.630-05:00</updated><title type='text'>30 years of Apple computers</title><content type='html'>A cool video which is a compilation of all the Ads for Apple since 1976. Watch it &lt;a href="http://video.google.com/videoplay?docid=5035642018079323278&amp;q=apple&amp;amp;pl=true"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I like the Ad where a school kid shows off what he did using the Mac to his friends. The other kids have a computer but not a Mac. One of them says "I must be stupid to not know how to do such stuff". His friend (who also does not own a Mac) then says "We are not stupid. Our dads just got us crummy computers". :-) This ad starts at 3:37.&lt;br /&gt;&lt;br /&gt;Check it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114489913261777179?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114489913261777179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114489913261777179'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/04/30-years-of-apple-computers.html' title='30 years of Apple computers'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114485897963579884</id><published>2006-04-12T10:56:00.000-05:00</published><updated>2006-04-12T11:30:46.183-05:00</updated><title type='text'>Poster Competition</title><content type='html'>On April 10th, the CS dept. at UH organized a Poster Competition for all CS students. The theme for the posters was the current research that was underway in various labs. My advisor asked me to send my Thesis for the entry. This gave me an opportunity to bring up Expression Graphic Designer (March '06 CTP) to design the poster. It is always fun to use EGD.&lt;br /&gt;I spent about 2 days designing the poster and had a couple of reviews with my advisor. The size of the poster was &lt;span style="font-weight: bold;"&gt;3 ft x 2 ft&lt;/span&gt;. We had setup a Subversion server wherein I would checkin the rendered poster (a .PNG file) and my advisor would pass on his comments in a text file.&lt;br /&gt;&lt;br /&gt;Once we reached consensus on the content and layout, I started tweaking it with different combinations of colors, brushes, strokes, etc. For the review, I used to render the poster at 72 DPI (which takes about a minute). However for printing it, I had to render at a minimum of 300 DPI and preferably at 600 DPI. I started with 600 DPI but soon realized that it was going to take forever to render it. Plus EGD used to crash halfway into the rendering process. When I rendered at &lt;span style="font-weight: bold;"&gt;300 DPI&lt;/span&gt;, it took about &lt;span style="font-weight: bold;"&gt;45 minutes&lt;/span&gt;, which was reasonable. So for my testing purposes, I decided to stick to 72 DPI (which is good enough to view on-screen).&lt;br /&gt;&lt;br /&gt;I even tried exporting the XPR file to Adobe Illustrator and Adobe PhotoShop but that resulted in corrupted files. When exporting to PDF, the live effects were lost, especially the drop-shadows. So I had to stick with &lt;span style="font-weight: bold;"&gt;PNG&lt;/span&gt;, which was the most faithful. The only problem is that rendering a PNG takes much longer than the other export options.&lt;br /&gt;&lt;br /&gt;Here is that poster:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.cs.uh.edu/%7Epavan_p/myblog/Poster_Competition_Apr2006.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/200/Poster_Competition_Apr2006.jpg" alt="" border="0" /&gt;&lt;/a&gt;(PNG file, ~1.4 MB, 72 DPI, 3 ft x 2 ft)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Results of the Competition&lt;/span&gt; - Not yet declared. [Will be updated]&lt;br /&gt;(In all there were 32 submissions and mine was #12 in the list.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114485897963579884?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114485897963579884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114485897963579884'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/04/poster-competition.html' title='Poster Competition'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114399413028186225</id><published>2006-04-02T11:00:00.000-05:00</published><updated>2006-04-02T11:08:50.890-05:00</updated><title type='text'>My entry up on RoadToWinFX developer challenge</title><content type='html'>Jonathan Hodgson, the guy who maintains the &lt;a href="http://www.roadtowinfx.com/"&gt;RoadToWinFX&lt;/a&gt; website had announced the WPF Developer Challenge sometime back. I was interested in participating and had sent him my &lt;a href="http://pavanpodila.blogspot.com/2006/02/polarium-clone-in-wpf-compendium.html"&gt;Polarium clone&lt;/a&gt; as entry. Today morning I got a mail that he has put it up on the website. So &lt;a href="http://www.roadtowinfx.com/devchallenge.aspx"&gt;here&lt;/a&gt; it is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114399413028186225?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114399413028186225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114399413028186225'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/04/my-entry-up-on-roadtowinfx-developer.html' title='My entry up on RoadToWinFX developer challenge'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114330559963826242</id><published>2006-03-25T11:47:00.000-05:00</published><updated>2006-03-25T11:53:19.660-05:00</updated><title type='text'>EWD - coming in June '06</title><content type='html'>The Expression Web Designer CTP was supposed to be released during the MIX 06, but didn't happen that way. The first CTP will be out in June 2006. I really wanted to play around with this promising tool and probably give a face lift to my personal &lt;a href="http://www.cs.uh.edu/%7Epavan_p"&gt;webpage&lt;/a&gt;. That will have to wait until June :(. For those who are still wondering what is this Web Designer thing, here is a snippet of description:&lt;br /&gt;&lt;blockquote&gt; &lt;p style="color: rgb(51, 51, 255);"&gt;The professional design tool to create high-quality, standards-based web sites&lt;/p&gt; &lt;p style="color: rgb(51, 51, 255);"&gt;Generate modern CSS layouts using powerful design surface tools and direct manipulation of positioning, sizing setting margins and padding&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Develop dynamic Web sites and applications by taking full advantage of the power of ASP.NET 2.0"&lt;/span&gt; &lt;/p&gt; &lt;/blockquote&gt;In short a great design tool that leverages the power of CSS and XHTML. To learn more about the presentation at MIX, visit &lt;a href="http://by-expression.com/web-designer/index.aspx"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114330559963826242?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114330559963826242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114330559963826242'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/ewd-coming-in-june-06.html' title='EWD - coming in June &apos;06'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114305508047483668</id><published>2006-03-22T14:04:00.000-05:00</published><updated>2006-03-23T00:33:25.326-05:00</updated><title type='text'>REZN8 Nascar demo</title><content type='html'>Today's the final day of MIX 06 and as I was searching the &lt;a href="http://blog.mix06.com/virtualmix"&gt;Virtual Mix&lt;/a&gt; website for cool videos, I found this: &lt;a href="http://blog.mix06.com/virtualmix/archive/2006/03/17/REZN8_demo.aspx"&gt;video&lt;/a&gt; of the REZN8 Nascar demo. Here are a few screenshots to entice you :) Shouldn't come as a surprise if I tell you its built using WPF!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://blog.mix06.com/contest/virtualmix/images/original/REZN8_1.aspx" style="text-align: center;" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://blog.mix06.com/contest/virtualmix/images/original/REZN8_2.aspx" style="text-align: center;" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://blog.mix06.com/contest/virtualmix/images/original/REZN8_3.aspx" style="text-align: center;" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://blog.mix06.com/contest/virtualmix/images/1932/original.aspx" style="text-align: center;" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Check it out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114305508047483668?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114305508047483668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114305508047483668'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/rezn8-nascar-demo.html' title='REZN8 Nascar demo'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114289436561088973</id><published>2006-03-20T17:27:00.000-05:00</published><updated>2006-04-19T15:25:33.893-05:00</updated><title type='text'>After North Face, its iBloks</title><content type='html'>For a long time now (since PDC '05), the &lt;a href="http://channel9.msdn.com/showpost.aspx?postid=116327"&gt;North Face demo&lt;/a&gt; was considered the coolest app in exploiting the WPF platform. It was the first of its kind, with rotating videos, image montages, rolodex controls, etc. But today after watching the &lt;a href="http://blog.mix06.com/virtualmix/archive/2006/03/15/iBloks.aspx"&gt;screencast&lt;/a&gt; of the iBloks 3D entertainment app, I was totally blown away with the possibilities. &lt;a href="http://www.ibloks.com/"&gt;iBloks&lt;/a&gt;, as described on their website:&lt;br /&gt;&lt;blockquote style="color: rgb(51, 0, 153);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Welcome to the only way to create 3D personalized, multimedia, entertainment and game experiences to share with others. You can use your own digital media content or check out the iBloks shop for cool content from iBloks and our partners.  It's a fun, easy and totally new way to express yourself.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;The CEO, Julia Miller, says in the screencast that they would put up beta sign-ups for the app on their website. However there is no such thing available as yet. I guess I'll have to wait a little longer :(&lt;br /&gt;&lt;br /&gt;Also worth checking out is Bill Gates &lt;a href="http://blog.mix06.com/virtualmix/archive/2006/03/19/BillG_Keynote.aspx"&gt;keynote&lt;/a&gt;, during which a guy from BBC shows off a content viewer program built using WPF.  Again a cool demo.&lt;br /&gt;&lt;br /&gt;Update: The beta sign-ups are now available. Go to the &lt;a href="http://www.ibloks.com/index.php"&gt;iBloks&lt;/a&gt; website and simply enter you email to get signed up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114289436561088973?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114289436561088973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114289436561088973'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/after-north-face-its-ibloks.html' title='After North Face, its iBloks'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114265276496442628</id><published>2006-03-17T22:18:00.000-05:00</published><updated>2006-03-18T11:41:59.976-05:00</updated><title type='text'>Fun with Flash</title><content type='html'>I have always found Flash to be a wonderful platform for experimenting with ideas. I used to use javascript earlier, but there if you had to do anything with UI, you had to do some tricky HTML DOM manipulation or use a package like &lt;a href="http://dojotoolkit.org/"&gt;Dojo&lt;/a&gt;. Over the past few days I (re)discovered Flash to be a great tool which can come in handy sometimes. With ActionScript 2.0, there is also a pretty rich OO language for creating fairly complex programs (people have written &lt;a href="http://www.teamcraft.at/flashworx/"&gt;3D engines in Flash!&lt;/a&gt;). I enjoyed tinkering and in the process picked up a little bit of ActionScript 2.0, Math, and Physics concepts!&lt;br /&gt;&lt;br /&gt;Here is a small sampling of programs I wrote:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.cs.uh.edu/%7Epavan_p/myblog/bounce.swf"&gt;Bounce.swf&lt;/a&gt; - simulates some basic forces of gravitation/drag on a ball. You can click and release the ball to give it some speed. The ball bounces around inside a box until it comes to a stop (due to all those forces acting on it).&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cs.uh.edu/%7Epavan_p/myblog/tentacles.swf"&gt;Tentacles.swf&lt;/a&gt; - uses some basic trigonometry and the 2D drawing API of Flash. It simulates an organism which is hyper-active and has some tentacles. You can click to move it. It also tracks your mouse movements. When you click on a new location, the movement has an easing-in effect. The tentacles are beziers with one control point.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114265276496442628?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114265276496442628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114265276496442628'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/fun-with-flash.html' title='Fun with Flash'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114246359556216918</id><published>2006-03-15T17:35:00.000-05:00</published><updated>2006-03-15T20:03:27.116-05:00</updated><title type='text'>Mini-App here, Mini-App there</title><content type='html'>The ability to create mini applications (aka widgets, gadgets, etc.) seems to be the new feature addition in lot of popular applications (let me call them parent-apps). Each of these parent-apps have their own framework/engine that reads in a bunch of config, scripts, media resources, etc and renders some UI on the screen. The framework also provides interaction through mouse (stylus) and keyboard. It just seems that the complexity of the parent-app is so much that you need to start thinking in task-oriented mini-apps. These mini-apps are also lightweight (as in lower memory footprint) and are generally more responsive.&lt;br /&gt;&lt;br /&gt;Having this ability to create widgets is also good for refactoring the application. This makes us think of how we can make the mini-app Framework sit alongside the original codebase. It also provides developers with more freedom to explore the possibilities with the parent-app. Beside making the parent-app more functional there is also a fun-side to it. Mini-apps are more enjoyable to use. Having a nice analog-clock or a mini-calculator or a weather widget adds the feel-good-factor to your desktop. It just makes the UX more enjoyable. As longs as we respect the scalablity of these widgets, we are fine. Trying to force-feed too much functionality is not a good idea (as some of the widget authoring docs will tell you: think in simple tasks!).&lt;br /&gt;&lt;br /&gt;Some examples of mini-apps can be seen in:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://widgets.yahoo.com/"&gt;Yahoo! Widgets&lt;/a&gt; (previously Konfabulator)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.apple.com/macosx/features/dashboard/"&gt;Apple's Dashboard widgets&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://microsoftgadgets.com/"&gt;Gadgets&lt;/a&gt; in Windows Vista and on Start.com&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Opera's &lt;a href="http://my.opera.com/community/dev/widgets/"&gt;widgets&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;I don't know if I have missed any significant player, but these are the most popular ones I could find.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114246359556216918?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114246359556216918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114246359556216918'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/mini-app-here-mini-app-there.html' title='Mini-App here, Mini-App there'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114231635890903955</id><published>2006-03-14T00:58:00.000-05:00</published><updated>2006-03-14T01:05:58.923-05:00</updated><title type='text'>Web-designers and Superheroes</title><content type='html'>Found this cool &lt;a href="http://www.stuffandnonsense.co.uk/downloads/super.pdf"&gt;link&lt;/a&gt; (PDF: be careful 13.5 Megs) which compares the lives of webdesigners and superheroes. The principles described in there are also applicable to an Agile Software Developer. Very nice graphics (all Marvel style comics) and fun read. If you are curious about web design, CSS, HTML (rather XHTML), standards compliance, you will surely enjoy!&lt;br /&gt;&lt;br /&gt;Lot of eye candy in there, so I tagged it &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt;-ly. A friend of mine pointed me to this tagging craziness. I am finding this very useful: tagging bookmarks...finding all the good/great/cool breadcrumbs on the web :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114231635890903955?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114231635890903955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114231635890903955'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/web-designers-and-superheroes.html' title='Web-designers and Superheroes'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114230371153867654</id><published>2006-03-13T20:56:00.000-05:00</published><updated>2006-03-13T21:35:11.596-05:00</updated><title type='text'>Vote JSON for Data</title><content type='html'>&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;XML&lt;/span&gt; has long been the champion format for describing data. It is very flexible and can describe data structures like lists, trees, and other nested structures very nicely. We can also associate object properties using attributes. No wonder you find dozens of XML parsers/libraries for all kinds of programming languages. It has effectively become the language of business communication over the web (read webservices).&lt;br /&gt;&lt;br /&gt;But with all this goodness, there is also a big caveat: XML is very verbose and can eat up lot of bandwidth. This can also be the cause of losing performance while users patiently wait (... and sip more and more cups of caffeine ... well those are developers!) for something to happen.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.json.org/"&gt;&lt;span style="font-size:130%;"&gt;JSON&lt;/span&gt;&lt;/a&gt; is a cool new format for describing data, which is gaining more popularity. It is a derivative of the the JavaScript language and infact JSON stands for Java Script Object Notation. The JSON syntax is pretty minimal and the complete grammar can be described in half a page. It consists of two basic data structures: &lt;span style="color: rgb(255, 0, 0);"&gt;Dictionary&lt;/span&gt; (aka object, Hashtable, Map, etc) and &lt;span style="color: rgb(255, 0, 0);"&gt;List&lt;/span&gt; (aka Array). Dictionary is a bunch of name/value pairs and List is just a list of values. A value can be one of &lt;span style="color: rgb(0, 153, 0);"&gt;string, number, array, object, true, false, null&lt;/span&gt;. Below I am linking to the JSON grammar (shown as BNF-style state-diagrams):&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://www.json.org/img/oav.gif" alt="" border="0" /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://www.json.org/img/sn.gif" alt="" border="0" /&gt;&lt;br /&gt;JSON cuts away lot of extra text that XML uses for correctly defining boundaries: &amp;lt;tag&amp;gt;, &amp;lt;/tag&amp;gt;. That certainly saves bandwidth! As JSON gains more momentum, there would be more high performance libraries available. Right now we just have basic implementation for couple of programming languages (listed on JSON.org). It still has to go a long way in terms of search capabilities (like XQuery, XPath) and styling abilities like XSLT. But all that is possible as we see more industry adoption. We already have one big name: &lt;span style="font-style: italic;"&gt;Microsoft&lt;/span&gt;, which uses JSON in its &lt;a href="http://weblogs.asp.net/scottgu/archive/2005/06/28/416185.aspx"&gt;Atlas Ajax Framework&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114230371153867654?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114230371153867654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114230371153867654'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/vote-json-for-data.html' title='Vote JSON for Data'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114218215639512577</id><published>2006-03-12T11:21:00.000-05:00</published><updated>2006-03-12T11:49:16.476-05:00</updated><title type='text'>ACID2: Unit test for the Browser's rendering engine</title><content type='html'>Opera becomes the &lt;a href="http://www.howtocreate.co.uk/operaStuff/acid/"&gt;second browser&lt;/a&gt; which passes the &lt;a href="http://webstandards.org/act/acid2/guide.html"&gt;ACID2&lt;/a&gt; test. The first was Safari. There is a big drive to achieve standards compliance in the browser space; sparked by the &lt;a href="http://webstandards.org/"&gt;WebStandards &lt;/a&gt;project. This is certainly good and takes away the pain to maintain separate web-pages and browser-sniffing logic for different browsers. If you have a web-based solution and your customers demand that it should work with both IE and FireFox, you may have to introduce a compatibility layer or some abstraction layer to hide away the browser differences. That is certainly some investment in time and effort. Moving forward this abstraction layer should become minimal as the adoption of web-standards increase.&lt;br /&gt;&lt;br /&gt;But how do we test if we are standards-compliant? Here comes in the ACID tests for the browsers. It tests how good is the browser in rendering HTML + CSS markup. The tests verify that the browser uses a standards-compliant CSS box model and is also resilient to bad markup. The complete test is described in the ACID2 &lt;a href="http://webstandards.org/act/acid2/guide.html"&gt;guide&lt;/a&gt;. In simple terms, the ACID2 test is just HTML + CSS markup that displays the text "Hello World!" and a smiling face below the text. The smiling face is a bunch of rows (DIV elements) styled with CSS. Here is the reference smiley face shown as image.&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://webstandards.org/act/acid2/reference.png" alt="" border="0" /&gt;&lt;br /&gt;To test if your browser is ACID2 compliant, go &lt;a href="http://webstandards.org/act/acid2/test.html#top"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114218215639512577?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114218215639512577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114218215639512577'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/acid2-unit-test-for-browsers-rendering.html' title='ACID2: Unit test for the Browser&apos;s rendering engine'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114210351350146042</id><published>2006-03-11T13:45:00.000-05:00</published><updated>2006-03-11T13:58:42.316-05:00</updated><title type='text'>Extending interaction with Origami</title><content type='html'>Sometime back there was a video about cool new interaction experiments done by the folks at&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.youtube.com/watch?v=iVI6xw9Zph8"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/400/multi-touch.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Multi-Touch Interaction research. The interaction is primarily based on hand gestures like pulling the fingers together for zoom-out, moving the fingers away from each other for zoom-in, etc. Such interfaces can also be brought to life with the new &lt;a href="http://pavanpodila.blogspot.com/2006/03/origami-unfolded.html"&gt;Origami (aka UMPC) project&lt;/a&gt; since it is touch-enabled.&lt;br /&gt;It is really cool to imagine how the different human senses can be leveraged to create fluid, seamless interfaces. Technology is here to expand our natural abilities. Building interfaces like these will make the Technology work for you rather than the other way around!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114210351350146042?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114210351350146042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114210351350146042'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/extending-interaction-with-origami.html' title='Extending interaction with Origami'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114193068465126377</id><published>2006-03-09T13:40:00.000-05:00</published><updated>2006-03-09T17:42:19.606-05:00</updated><title type='text'>Origami unfolded</title><content type='html'>&lt;img style="margin: 0px auto 10px; float: left; text-align: center;" src="http://photos1.blogger.com/blogger/7348/1065/1600/origami.jpg" alt="" border="0" /&gt;This is week 3 (3/9/06) of the revelation of the new Origami Project. Looks like an exciting platform for creating some really interactive applications. The form factor is certainly smaller than Tablet PC and so is the weight. Somehow this appears like a more viable product than Tablet PC. This is a collaborative work done by Microsoft and Intel.&lt;br /&gt;&lt;div style="clear: both;"&gt; &lt;/div&gt;&lt;br /&gt;Links to check out:&lt;br /&gt;&lt;br /&gt;1. &lt;a href="http://origamiproject.com"&gt;The Origami Project website&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.intel.com/design/mobile/platform/umpc.htm"&gt;Concept videos on Intel's website&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://origamiproject.com/default.aspx"&gt;Origami community website&lt;/a&gt;&lt;br /&gt;4. &lt;a href="http://channel9.msdn.com/showpost.aspx?postid=169962"&gt;Otto Berkes talks Origami&lt;/a&gt;&lt;br /&gt;5. &lt;a href="http://www.microsoft.com/presspass/features/2006/mar06/03-09Mobile.mspx"&gt;Microsoft Press release&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114193068465126377?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114193068465126377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114193068465126377'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/origami-unfolded.html' title='Origami unfolded'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114153212040525379</id><published>2006-03-04T22:34:00.000-05:00</published><updated>2006-05-04T19:13:26.470-05:00</updated><title type='text'>Webpage redesign</title><content type='html'>As a Graduate Assistant, one of my responsibilities is to maintain websites and occasionally redesign a few pages. One such redesign task was for this page:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bauer.uh.edu/BCBE/articles.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; width: 418px; height: 305px;" src="http://photos1.blogger.com/blogger/7348/1065/1600/before.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;img style="margin-left: 10px; padding: 10px; float: right;" src="http://photos1.blogger.com/blogger/7348/1065/1600/scrolltab.png" alt="" border="0" /&gt;The page contains a bunch of articles organized into categories. All of the categories and their corresponding article-titles are listed at the top of the page, whereas the detailed descriptions of the articles are present following the category listing. The articles listed under a category are anchor-linked to the detailed descriptions. This was creating a particular problem with the length of the page. As newer articles began to be added, the page was getting more longer, with the scroll-tab almost becoming invisible (like the one on the right).&lt;br /&gt;&lt;br /&gt;My task was to redesign this page such that it would have fixed length irrespective of the number of categories and articles. Plus it should be easier to maintain the page. After a few iterations, it was clear that this was a simple case of a Master-Detail page. To make it easier to add new categories and articles, I created a simple XML format. There would be a &lt;span style="font-style: italic; color: rgb(204, 0, 0);"&gt;categories.xml&lt;/span&gt; which would contain the category-titles and a links to the XML files that contained the detailed article descriptions. The resulting redesigned page is as shown below. Note that this works only in &lt;span style="font-style: italic; color: rgb(0, 0, 153); font-weight: bold;"&gt;Internet Explorer 6.0+&lt;/span&gt;. This is because of some nifty CSS tricks (IE CSS filters) and ActiveXObject(s) that I am using.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www2.cs.uh.edu/%7Epavan_p/work/ethics/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://photos1.blogger.com/blogger/7348/1065/400/after.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Although everyone likes the design, they want it working on FireFox as well. For that I will have to do away with the IE-specific javascript (especially the XML related code). I was thinking of using the &lt;a href="http://dojotoolkit.org/"&gt;Dojo toolkit&lt;/a&gt; for this purpose but it looks like nobody wants more complexity. So the project has been pushed under covers. I guess it will stay there for a while.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114153212040525379?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114153212040525379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114153212040525379'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/webpage-redesign.html' title='Webpage redesign'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114141186060490217</id><published>2006-03-03T13:39:00.000-05:00</published><updated>2006-03-03T13:51:00.646-05:00</updated><title type='text'>Driving "live" through Seattle</title><content type='html'>If you want an experience of driving through the city (sitting at your laptop, rather than your car) check this out.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://preview.local.live.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://photos1.blogger.com/blogger/7348/1065/400/preview.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Of late I am getting more interested in checking out the streets of NY. Hope that will come soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114141186060490217?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114141186060490217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114141186060490217'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/driving-live-through-seattle.html' title='Driving &quot;live&quot; through Seattle'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114140112468887504</id><published>2006-03-03T10:44:00.000-05:00</published><updated>2006-03-03T10:52:04.690-05:00</updated><title type='text'>Missing the MIX</title><content type='html'>In about 2 weeks from now, there is a great conference being held at Vegas. Its called the MIX 06 and the content is "emerging presentation technologies" for the Windows platform. Anyone interested in building applications using IE7 / Windows Vista / Atlas / ASP.NET / WPF should be present. In some ways this is like PDC but with more specialized content.&lt;br /&gt;&lt;br /&gt;The only way I'll catch the action is by watching the streaming videos, way after the MIX is over. Meanwhile, I'll keep  pinging their website:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mix06.com/Default.aspx"&gt;MIX 06&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114140112468887504?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114140112468887504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114140112468887504'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/missing-mix.html' title='Missing the MIX'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114135289666544384</id><published>2006-03-02T20:32:00.000-05:00</published><updated>2006-03-03T10:44:16.453-05:00</updated><title type='text'>Resources for 3D in WPF</title><content type='html'>3D is one area of WPF that I haven't explored much. Although I have a top-level idea of the concepts, I haven't done any hands-on work to learn more. So now is the time. Here are couple of resources for my own reference. I will update this as I find more.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/SDKintro/html/91f1663d-56c9-47ee-a793-a60af08c4700.asp"&gt;Starting point: MSDN article on 2D and 3D graphics in WPF&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/wpf_samples/html/e1c0e3de-5b59-4b9e-be2a-90b3d2d25158.asp"&gt;3D Graphics samples - WPF tech samples&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/tims/archive/2006/02/08/527850.aspx"&gt;Tim Sneath - Five Great WPF 3D Nuggets&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/dotnet/3D_in_XAML.asp"&gt;CodeProject article on 3D in XAML&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/avalon3d.asp"&gt;First look at 3D support in Avalon (MSDN Technical Article)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnlong/html/avalon2d-3d.asp"&gt;Creating 2D and 3D animations in Avalon (MSDN Tech Article)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114135289666544384?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114135289666544384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114135289666544384'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/03/resources-for-3d-in-wpf.html' title='Resources for 3D in WPF'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114101996997307289</id><published>2006-02-27T00:44:00.000-05:00</published><updated>2006-05-26T12:54:42.500-05:00</updated><title type='text'>Polarium clone in WPF - compendium</title><content type='html'>A clone of the popular game &lt;a href="http://en.wikipedia.org/wiki/Polarium"&gt;Polarium&lt;/a&gt; is available for Windows Presentation Foundation (WPF). This currently runs on the &lt;a style="text-decoration: line-through;" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=61DD9CA7-1668-42E4-BD37-03716DD83E53&amp;displaylang=en"&gt;WinFX Jan CTP&lt;/a&gt; &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=4A96661C-05FD-430C-BB52-2BA86F02F595&amp;amp;displaylang=en"&gt;May CTP of WinFX Beta 2&lt;/a&gt; runtime.&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://photos1.blogger.com/blogger/7348/1065/1600/polarium.png" alt="" border="0" height="300" width="400" /&gt;&lt;br /&gt;It is currently in version 2.2 and includes the following features:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Supports all standard interactions available in NintendoDS&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Single click: Move to selected tile&lt;/li&gt;&lt;li&gt;Double click (on current tile): Flip tiles&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Ability to load levels in the custom NDS puzzle format. You can simply copy the puzzle code from the &lt;a href="http://polarium.strategyplanet.gamespy.com/arch061-080.shtml"&gt;Polarium Puzzle Archive&lt;/a&gt; and right-click twice on the Polarium title. This will load that puzzle.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Flipping tile colors (White &lt;-&gt; Black)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Cool animations&lt;/li&gt;&lt;/ol&gt;There are certainly many areas that can be improved/added. If there is enough interest I would be glad to create a GotDotNet workspace.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Download &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.cs.uh.edu/%7Epavan_p/myblog/Polarium_v22.zip"&gt;Source and Binaries&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here are all the blog posts detailing the development of this game:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://pavanpodila.blogspot.com/2006/02/polarium-clone-in-wpf.html"&gt;http://pavanpodila.blogspot.com/2006/02/polarium-clone-in-wpf.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pavanpodila.blogspot.com/2006/02/level-loader-for-polarium-clone.html"&gt;http://pavanpodila.blogspot.com/2006/02/level-loader-for-polarium-clone.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pavanpodila.blogspot.com/2006/02/animations-ready-for-polarium-clone.html"&gt;http://pavanpodila.blogspot.com/2006/02/animations-ready-for-polarium-clone.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pavanpodila.blogspot.com/2006/02/polarium-clone-v10.html"&gt;http://pavanpodila.blogspot.com/2006/02/polarium-clone-v10.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pavanpodila.blogspot.com/2006/02/support-for-nintendods-custom-puzzle.html"&gt;http://pavanpodila.blogspot.com/2006/02/support-for-nintendods-custom-puzzle.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pavanpodila.blogspot.com/2006/02/polarium-cleanups-cool-new-feature.html"&gt;http://pavanpodila.blogspot.com/2006/02/polarium-cleanups-cool-new-feature.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pavanpodila.blogspot.com/2006/02/flipping-tile-colors.html"&gt;http://pavanpodila.blogspot.com/2006/02/flipping-tile-colors.html&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;[Update] The Polarium clone now works on &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=4A96661C-05FD-430C-BB52-2BA86F02F595&amp;amp;displaylang=en"&gt;May CTP of WinFX Beta 2&lt;/a&gt;. Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114101996997307289?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114101996997307289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114101996997307289'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/polarium-clone-in-wpf-compendium.html' title='Polarium clone in WPF - compendium'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114096614029648915</id><published>2006-02-26T09:17:00.000-05:00</published><updated>2006-02-26T10:02:20.376-05:00</updated><title type='text'>Flipping tile colors</title><content type='html'>Over the last few days I have spent a great deal of time creating/polishing the Polarium clone. As I kept adding more features, my design had to undergo some changes. With refactoring I was able to maintain the sanity during development. The whole exercise was to learn more about WPF and some of the APIs.&lt;br /&gt;&lt;br /&gt;An interesting feature I added yesterday was the ability to flip the tile colors (White-&gt;Black, Black-&gt;White). Although this is not technically difficult, it is useful while solving puzzles. Consider the puzzle shown below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; width: 510px; height: 417px;" src="http://photos1.blogger.com/blogger/7348/1065/1600/puzzle-before%20%28Small%29.0.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;As you start to solve this puzzle you will have to take a few moments to think about making your first move. It appears like there are more black tiles than white and in some ways this contrast makes it difficult to decide where to start. Now have a look at the same puzzle with the tile colors reversed (White -&gt; Black, Black -&gt; White).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; width: 510px; height: 417px;" src="http://photos1.blogger.com/blogger/7348/1065/1600/puzzle-after%20%28Small%29.0.png" alt="" border="0" /&gt;The puzzle has suddenly become much more manageable. Now the contrast is much better and we can clearly see the pattern. For some puzzles, flipping the tile colors can greatly change our perception of difficulty of the puzzle. The idea is to solve the puzzle and this is one feature that can help you do that!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Implementation problems&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An interesting bug I found while implementing this feature was when I would switch the ControlTemplate for the tiles from WhiteTileTemplate to BlackTileTemplate and vice versa. For doing that I would simply assign the template as:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            string template = "GrayTileTemplate";&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;            if (tile.Color == TileColor.Black)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       template = "BlackTileTemplate";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;else if (tile.Color == TileColor.White)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;       template = "WhiteTileTemplate";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-family:courier new;" &gt;&lt;br /&gt;b.Template = FindResource(template) as ControlTemplate;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;However only assigning the template does not always set the template! It works for the first time but any subsequent template changes does not update the VisualTree. This came as a surprise to me since that is what I would expect with the previous code. After digging some time into the documentation, I found the &lt;span style="color: rgb(204, 0, 0);font-family:courier new;" &gt;FrameworkElement.ApplyTemplate()&lt;/span&gt; API. The docs say the following:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;Builds the current template's visual tree if necessary, and returns a value indicating whether the visual tree was rebuilt by this call.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;So my solution was to just call ApplyTemplate() following the template setting.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0); font-weight: normal;font-family:courier new;" &gt;            b.Template = FindResource(template) as ControlTemplate;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);font-family:courier new;" &gt;&lt;span style="font-weight: normal;"&gt;            b.ApplyTemplate();&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;I think this is bad design. The setter of the Template property should have done this. I am not sure what is the rationale behind this approach.&lt;br /&gt;&lt;br /&gt;Download &lt;a style="font-weight: bold;" href="http://www.cs.uh.edu/%7Epavan_p/myblog/Polarium_v22.zip"&gt;Source and Binaries (v2.2)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114096614029648915?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114096614029648915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114096614029648915'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/flipping-tile-colors.html' title='Flipping tile colors'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114089408162518943</id><published>2006-02-25T13:28:00.000-05:00</published><updated>2006-02-25T14:09:31.920-05:00</updated><title type='text'>Polarium cleanups + a cool new feature</title><content type='html'>Yesterday night I spent a lot of time playing some of the puzzles from &lt;a href="http://polarium.strategyplanet.gamespy.com/arch001-020.shtml"&gt;Polarium Puzzle archive&lt;/a&gt;. The way I was going about playing them was to copy the puzzle code, paste it into a file, save it, and then load it up in the app. After playing about 5 puzzles I realized the inconvenience in doing that again and again. I had to come up with a better way of doing that and reduce the number of steps required to play a puzzle.&lt;br /&gt;&lt;br /&gt;After a few minutes of thinking about this, I came up with the idea of using the Clipboard directly. I would right-click two times on the Polarium title text:&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://photos1.blogger.com/blogger/7348/1065/400/polarium_titlebar.jpg" alt="" border="0" /&gt;&lt;br /&gt;to invoke the level-load operation. At this point, I would check if the Clipboard has any text, and if it did I would call the PolariParser to load the level. Note that this works only for the NintendoDS format. I think I am going to totally remove the support for the B/W/G format, since nobody seems to be using that.&lt;br /&gt;&lt;br /&gt;This required me to make some changes to the Parser. Previously all the input used to come from a file. This had to be changed so that I could load directly from text. With all that in place, things are much more comfortable:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Copy the puzzle code from the archive&lt;/li&gt;&lt;li&gt;Right-click 2 times on the Polarium title&lt;/li&gt;&lt;li&gt;Get the grey-cells working on the puzzle!&lt;/li&gt;&lt;/ol&gt;Besides this I have also cleaned up the code with some refactorings. This should make it more readable.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.cs.uh.edu/%7Epavan_p/myblog/Polarium_v21.zip"&gt;Source and Binaries (v2.1)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114089408162518943?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114089408162518943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114089408162518943'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/polarium-cleanups-cool-new-feature.html' title='Polarium cleanups + a cool new feature'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114084313693877546</id><published>2006-02-24T23:31:00.000-05:00</published><updated>2006-02-25T00:03:03.730-05:00</updated><title type='text'>Support for the NintendoDS custom puzzle format</title><content type='html'>Today has been pretty busy for me. Once I released the Polarium clone, a co-worker at my workplace pointed out that the custom puzzles are being specified in a separate format and not the B/W/G format that I had come up with. Here is an example of that format:&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center;" src="http://photos1.blogger.com/blogger/7348/1065/400/NDS-format.png" alt="" border="0" /&gt;If you look at the numbers you will have no clue how those numbers map to the Black/White/Gray tiles! I was stumped too. After a prolonged search over the Internet I came across this &lt;a href="http://forums.nintendo.com/nintendo/board/message?board.id=ds&amp;message.id=1284566"&gt;link&lt;/a&gt; that described this encoding format. The description was fairly straightforward and I coded up the decoding logic quickly. The only hitch I faced here was for converting the integer to its binary representation. I used the &lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;string Convert.ToString(long value, int toBase)&lt;/span&gt; &lt;/span&gt;API for this purpose but I found out that the binary representation does not end on a word-boundary. For example for the integer &lt;span style="color: rgb(255, 0, 0);"&gt;2862745346&lt;/span&gt;, the binary representation turns out to be &lt;span style="color: rgb(255, 0, 0);"&gt;10101010101000100000011100000010&lt;/span&gt;, whose length is &lt;span style="color: rgb(255, 0, 0);"&gt;29 &lt;/span&gt;instead of the intuitive &lt;span style="color: rgb(0, 153, 0);"&gt;32&lt;/span&gt;. This required me to add the padding manually. Frankly I feel the BCL should have given me a binary string of size 8/16/32/64 as it sees fit. Too bad.&lt;br /&gt;&lt;br /&gt;Hooking up this format into the program was simple. I added a new file extension (.pol) for this kind of encoding and also created the corresponding parser using GOLD.&lt;br /&gt;&lt;br /&gt;With the support for this new format, you can now play more than 1000 puzzles freely available over the internet. That should keep you busy for a loooooooooooooooooong time!&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.cs.uh.edu/%7Epavan_p/myblog/Polarium_v20.zip"&gt;Source and Binaries&lt;/a&gt;. I christine this &lt;span style="font-weight: bold;"&gt;v2.0&lt;/span&gt;. Visit the &lt;a href="http://polarium.strategyplanet.gamespy.com/arch001-020.shtml"&gt;Puzzle Archive&lt;/a&gt; to play some cool puzzles. Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114084313693877546?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114084313693877546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114084313693877546'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/support-for-nintendods-custom-puzzle.html' title='Support for the NintendoDS custom puzzle format'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114080178651981452</id><published>2006-02-24T12:05:00.000-05:00</published><updated>2006-02-24T13:26:11.116-05:00</updated><title type='text'>Polarium Clone v1.0</title><content type='html'>I think I finally have a functional Polarium clone. The changes since the last build include:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Error handling for invalid level-files&lt;/li&gt;&lt;li&gt;Enabling/Disabling of buttons (Clear, Level)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Polished UI - removed the title bar and replaced with a custom one, changed some graphics&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Added a help button on the titlebar, clicking on which takes you to the Polarium Wiki page. This is useful for people who haven't played Polarium before. It will help them learn the rules.&lt;/li&gt;&lt;li&gt;Created 5 stock levels. They are all .pl files in the /Levels folder.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Screenshots:&lt;br /&gt;&lt;br /&gt;1. Main window&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/polarium1.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/polarium1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2. Loading an invalid file&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/polarium2.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/polarium2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I guess it is now time to sanitize the code!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Update: You can now play this game by downloading the &lt;a href="http://www.cs.uh.edu/%7Epavan_p/myblog/Polarium.zip"&gt;Source and Binaries&lt;/a&gt;!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114080178651981452?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114080178651981452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114080178651981452'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/polarium-clone-v10.html' title='Polarium Clone v1.0'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114073391614935077</id><published>2006-02-23T17:11:00.000-05:00</published><updated>2006-02-23T17:37:21.120-05:00</updated><title type='text'>Animations ready for Polarium clone</title><content type='html'>Today was the day to have fun with animations. There are couple of animations that are there in the game:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Hilighting the current tile&lt;/li&gt;&lt;li&gt;Translating the current tile to the new position&lt;/li&gt;&lt;li&gt;Showing the level clear messages&lt;/li&gt;&lt;/ol&gt;All of these were created inside Expression Interactive Designer (EID) using the Timelines. Well not entirely. Since EID doesn't allow creating timelines for anonymous controls, I had to go back to XAML to make some modifications. The reason I needed this was because I wanted to make generic animations rather than tying to a particular control. I made a &lt;a href="http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.expression.interactivedesigner&amp;mid=1cb4e960-f09d-4f3d-8bac-2d723d185582"&gt;posting&lt;/a&gt; on EID forums on this issue/feature-request. Although these animations are far from creating the *WOW* effect, its an intial draft for getting the feature in place :)&lt;br /&gt;&lt;br /&gt;Beside animations, I also added some graphics for the Level Cleared, Try-Again messages. These show up when the user double clicks the current tile to flip all the tiles. At that point if all the tiles in a row are of the same color (not the gray tiles), then the "Clear!" message comes up. Otherwise the "Try Again" message is shown. You can click to get back to the game.&lt;br /&gt;&lt;br /&gt;Now, time for some screenshots:&lt;br /&gt;&lt;br /&gt;1. Main App when you open up&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/NoLevel%20%28Small%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/NoLevel%20%28Small%29.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2. Loading the level file&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/LevelLoad%20%28Small%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/LevelLoad%20%28Small%29.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3. Level file loaded (How am I getting that weird violet color? Should be yellow!)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/LevelLoaded%20%28Small%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/LevelLoaded%20%28Small%29.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;4. Current tile animation (translation) [Weird colors again!]&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/CurrentTileAnim%20%28Small%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/CurrentTileAnim%20%28Small%29.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;5.  Level not cleared&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/LevelNotCleared%20%28Small%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/LevelNotCleared%20%28Small%29.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;6. Level cleared&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/LevelCleared%20%28Small%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/LevelCleared%20%28Small%29.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now I should take care of error handling and try to polish the UI. There is still one major glitch with resizing the window; the right hand side of the tile gets clipped. Got to be pixel-perfect :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114073391614935077?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114073391614935077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114073391614935077'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/animations-ready-for-polarium-clone.html' title='Animations ready for Polarium clone'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114065685159682196</id><published>2006-02-22T19:50:00.000-05:00</published><updated>2006-02-23T12:10:48.936-05:00</updated><title type='text'>Level loader for Polarium clone</title><content type='html'>I decided to complete the core functionality of the game before polishing the graphics.  Today was the day to take care of levels. In my clone you can create your custom levels in a simple text file and load it by clicking on the "Level" button.&lt;br /&gt;&lt;br /&gt;If you look at the Polarium grid, it is essentially a rectangular grid of Black/White/Gray tiles. So an example of a level file could look like:&lt;br /&gt;&lt;br /&gt;G B W B W G&lt;br /&gt;G B W B W G&lt;br /&gt;G B W B W G&lt;br /&gt;G B W B W G&lt;br /&gt;G B W B W G&lt;br /&gt;G B W B W G&lt;br /&gt;&lt;br /&gt;The letters B/W/G represent the colors and each row is demarcated by the newline character. Instead of creating my own parser by using a bunch of dirty String.Split()s, I decided to use my trusted tool &lt;a href="http://www.devincook.com/goldparser/"&gt;GOLD Builder&lt;/a&gt;. GOLD creates LALR parsers and all the rules are written using EBNF syntax. The reason I chose GOLD was because I intend to add support for headers like Author, Date, etc. Extensibility is the key.&lt;br /&gt;&lt;br /&gt;The grammar is pretty straightforward. Have a look &lt;a href="http://www.cs.uh.edu/%7Epavan_p/myblog/Polarium.grm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I still need to take care of Error handling and do some code cleanups. Another Day of work!&lt;br /&gt;&lt;br /&gt;Update: Since the grammar contained text that got interpreted by Blogger as tags, I've linked to the file instead.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114065685159682196?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114065685159682196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114065685159682196'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/level-loader-for-polarium-clone.html' title='Level loader for Polarium clone'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114057541291633906</id><published>2006-02-21T21:12:00.000-05:00</published><updated>2006-02-21T21:31:18.556-05:00</updated><title type='text'>Polarium clone in WPF</title><content type='html'>I had wanted to build a clone of the game &lt;a href="http://polarium.nintendods.com/"&gt;Polarium&lt;/a&gt; for a long time now. I first saw this on my friend's NintendoDS and I got hooked onto it. There are couple of clones floating around already on the &lt;a href="http://en.wikipedia.org/wiki/Polarium"&gt;internet&lt;/a&gt; mostly in Flash, Qt, etc. WPF presents a great platform to build this game. Although I can't own the game, I can surely create (umm...recreate) one.&lt;br /&gt;&lt;br /&gt;Since the last 2 days I have been working on the game logic, interactions and the data structures. After thrashing a few designs I have finally been able to solve all the core problems. Now I have a basic version which has the interactions and game logic in place. Here are some screenshots of the game:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/polarium1.png"&gt;&lt;img style="display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/200/polarium1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;td valign="top"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/polarium2.png"&gt;&lt;img style="display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/200/polarium2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The next steps involve adding some animations to show the movements, change the graphics of the tiles and finally work on the levels. Anybody interested?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114057541291633906?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114057541291633906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114057541291633906'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/polarium-clone-in-wpf.html' title='Polarium clone in WPF'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114034223658186184</id><published>2006-02-19T04:40:00.000-05:00</published><updated>2006-02-19T04:43:56.593-05:00</updated><title type='text'>PDC talks on WPF: Better Late than Never</title><content type='html'>Couple of PDC '05 talks given on various aspects of the Windows Presentation Foundation, all streamed to the cozy comfort of your laptop!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://microsoft.sitestream.com/PDC05/"&gt;http://microsoft.sitestream.com/PDC05/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114034223658186184?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114034223658186184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114034223658186184'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/pdc-talks-on-wpf-better-late-than.html' title='PDC talks on WPF: Better Late than Never'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114029244389971340</id><published>2006-02-18T14:34:00.000-05:00</published><updated>2006-02-18T14:54:04.026-05:00</updated><title type='text'>Thesis Poster in Expression Graphics Designer</title><content type='html'>My advisor &lt;a href="http://www.cs.uh.edu/%7Esvenkat"&gt;Dr. Venkat Subramaniam&lt;/a&gt; had asked me to create a poster to showcase my Thesis on &lt;a href="http://dotspect.tigris.org"&gt;DotSpect&lt;/a&gt; and it had to be as big as an A4 size paper. This was a good reason to fire up &lt;a href="http://www.microsoft.com/products/expression/en/graphic_designer/default.mspx"&gt;Expression Graphics Designer (EGD)&lt;/a&gt; and have some fun!&lt;br /&gt;&lt;br /&gt;The result is shown below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/DotSpect_Poster.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/DotSpect_Poster.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114029244389971340?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114029244389971340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114029244389971340'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/thesis-poster-in-expression-graphics.html' title='Thesis Poster in Expression Graphics Designer'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114013075472541807</id><published>2006-02-16T17:50:00.000-05:00</published><updated>2006-02-21T15:00:55.766-05:00</updated><title type='text'>How to waste Time?</title><content type='html'>Today I didn't have anything to do at work, which is pretty much how it has been since last few days. I decided to play more with the &lt;a href="http://www.microsoft.com/products/expression/en/graphic_designer/default.mspx"&gt;Expression Graphic Designer (EGD)&lt;/a&gt; and made this clock. A tutorial which was posted &lt;a href="http://www.bildsajten.com/AcrylicTutorials/clock/tut1_1.htm"&gt;here&lt;/a&gt; helped me learn some more facets of the EGD. All of this learning will soon be used to create a poster (which I'll be posting soon) for my Master's Thesis. My advisor wants to showcase the work I have done for my Thesis. If you are curious, check out &lt;a href="http://dotspect.tigris.org"&gt;DotSpect&lt;/a&gt;. For the not so curious have a look at the clock and waste your time! :)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/Clock.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/320/Clock.jpg" alt="" border="0" /&gt;&lt;/a&gt;Update: Here are the &lt;a href="http://www.cs.uh.edu/%7Epavan_p/myblog/Clock.xpr"&gt;Expression files&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114013075472541807?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114013075472541807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114013075472541807'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/how-to-waste-time.html' title='How to waste Time?'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-114011441133503135</id><published>2006-02-16T12:42:00.000-05:00</published><updated>2006-02-16T13:26:51.433-05:00</updated><title type='text'>QuickSort demo mentioned on Expression Blog</title><content type='html'>Ya you read it right. I had made a small demo a few days back to animate the QuickSort algorithm. The demo was built using the Expression Interactive designer and VS2005. You can either find this on my Blog or you can make a &lt;a href="http://blogs.msdn.com/expression/archive/2006/02/15/532978.aspx"&gt;round-trip from the Expression Blog&lt;/a&gt;. I suggest you take the second option (Well, thats the whole idea of this blog post, right :))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-114011441133503135?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114011441133503135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/114011441133503135'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/quicksort-demo-mentioned-on-expression.html' title='QuickSort demo mentioned on Expression Blog'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-113994708483143116</id><published>2006-02-14T14:54:00.000-05:00</published><updated>2006-02-14T15:01:08.463-05:00</updated><title type='text'>Removing locks on files</title><content type='html'>Have you ever ran into the problem of locked files? Dialogs like&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; " src="http://ccollomb.free.fr/unlocker/example.png" alt="" border="0" /&gt;&lt;br /&gt; are pretty annoying. You would have to restart explorer.exe or even restart your computer sometimes. Avoid all these problems with the &lt;a href="http://ccollomb.free.fr/unlocker"&gt;Unlocker &lt;/a&gt;tool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-113994708483143116?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/113994708483143116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/113994708483143116'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/removing-locks-on-files.html' title='Removing locks on files'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-113989242371163220</id><published>2006-02-13T22:58:00.000-05:00</published><updated>2006-02-13T23:48:57.690-05:00</updated><title type='text'>QuickSort animation in WPF</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/quicksort_animation.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/400/quicksort_animation.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is my first complete application written in Windows Presentation Foundation (WPF). I had written many test projects and samples to test various pieces of WPF but nothing that puts things together as a whole.&lt;br /&gt;&lt;br /&gt;The idea of creating a QuickSort animation struck me when I was explaining this algorithm to someone at UH. I thought it would be cool to animate this using WPF.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Workflow&lt;/span&gt;&lt;br /&gt;The workflow I adopted was opening up Expression Interactive Designer (EID) and Visual Studio 2005 (VS) side by side. I created the project in EID and then opened it up in VS as well. I would hack in EID to come up with the visuals and then go back to VS to write out the logic. The only nagging thing was the "Do you want to reload?" dialog which pops up in both places as you switch between EID and VS. It would be very cool if these apps understood that we are hacking the same project and reload things automatically. I don't know if this could be configured. If yes, I would like to know HOW?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Insights on the internals&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;1. The solution is divided into 3 projects. There is a class library that contains the QuickSort implementation. A Test project that has unit tests for QuickSort. Finally there is the UI written using WPF.&lt;br /&gt;2. The UI generates some random numbers (clicking on Generate! button) and sets up the list for QuickSort.&lt;br /&gt;3. As QuickSort executes, it fires events whenever a Swap operation happens&lt;br /&gt;4. The UI intercepts these events and makes a list of all the swaps&lt;br /&gt;5. Clicking the Play button plays the swaps as they happened.&lt;br /&gt;&lt;br /&gt;Pretty simple isn't it. On the surface yes. I had some issues with animating the elements. Some off-by-one issues in the QuickSort implementation and a few issues with enabling-disabling the (Generate, Play) buttons.&lt;br /&gt;&lt;br /&gt;It was fun and a great learning experience. Discussion on the EID forum helped a lot in shaping this app.&lt;br /&gt;&lt;br /&gt;Download the &lt;a href="http://www.cs.uh.edu/%7Epavan_p/myblog/QuickSortAnimation.zip"&gt;source&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-113989242371163220?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/113989242371163220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/113989242371163220'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/02/quicksort-animation-in-wpf.html' title='QuickSort animation in WPF'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-113651479559576342</id><published>2006-01-05T21:16:00.000-05:00</published><updated>2006-01-05T21:34:05.736-05:00</updated><title type='text'>An Install problem with WinFX December CTP</title><content type='html'>I am sure I am one of the hundreds who will be telling you about the December CTP release of WinFX SDK. I had my share of troubles installing it. I started by uninstalling my Nov CTP release and that went fine. After that was the install rounds of WinFX RC + Windows SDK. I could install WinFX easily but when I started the WinSDK, I got an error which said I should look at sample\html\configdetail.htm. I could not locate this file at the said location. After a Google search I found a newsgroup &lt;a href="http://www.winvistabeta.com/groups/262614/WinFX-SDK-December-CTP-install-failed/message.aspx"&gt;posting &lt;/a&gt;which talked about uninstalling any previous versions of the components including Monad (Microsoft Shell).&lt;br /&gt;&lt;br /&gt;   AHA! there was my answer. Monad. Fired up my Add/Remove programs and got rid of MSH. After that when I restarted the WinSDK installation, things&lt;br /&gt;went smooth as butter. So the take away message is&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;Get rid of all previous components, INCLUDING MSH!&lt;/span&gt;" (The emphasis in upper case is for me).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-113651479559576342?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/113651479559576342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/113651479559576342'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2006/01/install-problem-with-winfx-december.html' title='An Install problem with WinFX December CTP'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-113539778607470284</id><published>2005-12-23T23:02:00.000-05:00</published><updated>2006-01-11T01:57:24.376-05:00</updated><title type='text'>Being the Monad</title><content type='html'>I am currently in my Thesis-writing mode and nothing can be more boring than just sitting and typing out scrolls of text. For me it is. So I decided to take breaks in between by doing something more interesting. Here I had a couple of options: WPF, Ruby or Monad.&lt;br /&gt;&lt;br /&gt;1. I could learn more about Avalon (WPF). But I had done this before and I knew the fundamentals of XAML. So I decided to do this later.&lt;br /&gt;2. I could learn more about Ruby. Again done this before, so was not too exciting. Thought I would learn more about Ruby on Rails, but again I was not too excited about that.&lt;br /&gt;3. Finally I decided to explore Monad a.k.a Microsoft Shell (MSH). I first got excited by looking at Jefferey Snover's talks (&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=25915"&gt;here&lt;/a&gt; and &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=132977"&gt;here&lt;/a&gt;) on Channel9.&lt;br /&gt;&lt;br /&gt;I am having fun exploring Monad. Today I read the book "Monad - by Andy Oakley, Oreilly Publications". Took me about 4 hrs to read cover to cover. It's a short book, about 200 pages with lots of coding examples.&lt;br /&gt;&lt;br /&gt;Some more links to keep me going:&lt;br /&gt;1. &lt;a href="http://www.reskit.net/monad/"&gt;Monad General Page&lt;br /&gt;&lt;/a&gt;2. &lt;a href="http://www.proudlyserving.com/archives/2005/08/monad_tidbits.html"&gt;Monad Tidbits&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://www.dotnetjunkies.com/WebLog/stefandemetz/archive/2004/04/20/11794.aspx"&gt;Digging .NET with Monad&lt;/a&gt;&lt;br /&gt;4. &lt;a href="http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx"&gt;Microsoft Script Center&lt;/a&gt;&lt;br /&gt;5. &lt;a href="http://arstechnica.com/guides/other/msh.ars/1"&gt;Article about MSH on ArsTechnica&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-113539778607470284?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/113539778607470284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/113539778607470284'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/12/being-monad.html' title='Being the Monad'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-113522911995181228</id><published>2005-12-22T00:21:00.000-05:00</published><updated>2005-12-22T00:36:43.563-05:00</updated><title type='text'>My Poster Presentation photo is online</title><content type='html'>I have been very busy for the last 2 months, working hard on my Master's Thesis. My advisor is happy with the results and I have started writing my Thesis. You can find more info at &lt;a href="http://dotspect.tigris.org/"&gt;http://dotspect.tigris.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also I noticed today that a poster I presented some time back for the Sigma Xi&lt;br /&gt;2005 Research Day, is online. Have a look &lt;a href="http://www.tlc2.uh.edu/Gallery/showphoto.php?photo=1384&amp;sort=1&amp;amp;amp;amp;amp;amp;amp;amp;cat=580&amp;page=1"&gt;here&lt;/a&gt; and &lt;a href="http://www.tlc2.uh.edu/Gallery/showphoto.php?photo=1381&amp;amp;sort=1&amp;cat=580&amp;amp;page=1"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-113522911995181228?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.tlc2.uh.edu/Gallery/showphoto.php?photo=1384&amp;sort=1&amp;cat=580&amp;page=1' title='My Poster Presentation photo is online'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/113522911995181228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/113522911995181228'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/12/my-poster-presentation-photo-is-online.html' title='My Poster Presentation photo is online'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112847107628410720</id><published>2005-10-04T19:11:00.000-05:00</published><updated>2005-10-04T19:11:16.316-05:00</updated><title type='text'>EBNF-Visualizer</title><content type='html'>This is nice tool to visualize EBNF grammar. Here is the description from the site (verbatim)&lt;br /&gt;&lt;br /&gt;&lt;em&gt;This program visualizes EBNF (Extended Backus Naur Form) grammar rules as syntax diagrams. A text file with the suffix .ebnf is required, which contains grammar rules written in EBNF. The program parses the rules, visualizes them in form of syntax diagrams and is able to generate .gif files for further use (e.g. in Word or on Web pages). Furthermore the program allows users to manipulate the look and the layout of the generated syntax diagrams.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Get it &lt;a href="http://dotnet.jku.at/applications/Visualizer/index.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112847107628410720?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://dotnet.jku.at/applications/Visualizer/index.html' title='EBNF-Visualizer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112847107628410720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112847107628410720'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/10/ebnf-visualizer.html' title='EBNF-Visualizer'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112836312916414296</id><published>2005-10-03T13:02:00.000-05:00</published><updated>2005-10-03T13:12:09.170-05:00</updated><title type='text'>Workflow Resources</title><content type='html'>PDC Blogger, &lt;a href="http://pdcbloggers.net/Bloggers/6761.item"&gt;Patrick Verbruggen&lt;/a&gt; has collected a list of WWF resources available &lt;a href="http://www.pixato.com/?page_id=74"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112836312916414296?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pixato.com/?page_id=74' title='Workflow Resources'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112836312916414296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112836312916414296'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/10/workflow-resources.html' title='Workflow Resources'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112830100658865959</id><published>2005-10-02T19:51:00.000-05:00</published><updated>2005-10-03T01:03:04.093-05:00</updated><title type='text'>Fun with Microsoft Expression</title><content type='html'>&lt;a href="http://www.microsoft.com/products/expression/en/graphic_designer/default.aspx"&gt;Acrylic &lt;/a&gt;is just so enjoyable and fun to play with. I spent about an hour today exploring some of the features and this is what I ended up with. Just a small sample.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/NamePlate1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/400/NamePlate1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/Flower2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/400/Flower1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/Whirlwind.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/400/Whirlwind.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/PavanOnMosaic.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/400/PavanOnMosaic.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/7348/1065/1600/Me.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112830100658865959?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112830100658865959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112830100658865959'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/10/fun-with-microsoft-expression.html' title='Fun with Microsoft Expression'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112827440327506650</id><published>2005-10-02T12:33:00.000-05:00</published><updated>2005-10-02T12:33:23.296-05:00</updated><title type='text'>Studio E3 - Home</title><content type='html'>Found these set of tutorials for Microsoft Acrylic. Annie, the person who wrote these has done a cool job. I love the way she explained the features about paint/stroke etc. I know I'll keep coming back to this once in a while. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.studioe3.com/lessons/index.asp"&gt;Studio E3 - Home&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112827440327506650?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.studioe3.com/lessons/index.asp' title='Studio E3 - Home'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112827440327506650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112827440327506650'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/10/studio-e3-home.html' title='Studio E3 - Home'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112534628392976756</id><published>2005-08-29T15:07:00.000-05:00</published><updated>2005-08-29T15:11:23.936-05:00</updated><title type='text'>No point getting certified</title><content type='html'>This &lt;a href="http://ask.slashdot.org/article.pl?sid=05/08/26/1739234&amp;amp;from=rss"&gt;discussion&lt;/a&gt; on Slashdot.org hits the nail about IT certifications. Its just a hoax and meant only for the HR. Why the HR? They get an easy metric to evaluate a candidate and saves them the trouble of really carrying a rigorous filtering process. Although Certifications do indicate a certain level of competance, it doesn't mean the candidate is good for developing industrial-strength applications.&lt;br /&gt;&lt;br /&gt;Conclusion: Certifications is of no use. Waste of time. Atleast for me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112534628392976756?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://ask.slashdot.org/article.pl?sid=05/08/26/1739234&amp;from=rss' title='No point getting certified'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112534628392976756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112534628392976756'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/08/no-point-getting-certified.html' title='No point getting certified'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112528211020215629</id><published>2005-08-28T21:19:00.000-05:00</published><updated>2005-08-28T21:21:50.210-05:00</updated><title type='text'>Come from the Korean creativity</title><content type='html'>&lt;span class="rss:item"&gt;  A fantastic series of photo illustrations by Korean artist Komusin. Many images involve cute little &lt;a href="http://www.flickr.com/photos/enet/20963221/in/set-574645/"&gt;medicine pills&lt;/a&gt;, pieces of &lt;a href="http://www.flickr.com/photos/enet/20963458/in/set-574645/"&gt;candy&lt;/a&gt;, or &lt;a href="http://www.flickr.com/photos/enet/20963230/in/set-574645/"&gt;sushi rolls&lt;/a&gt; engaging in zany hijinks and speaking in talk-bubbles.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Click &lt;a href="http://www.flickr.com/photos/enet/sets/574645/"&gt;here&lt;/a&gt; for the Flickr Album&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112528211020215629?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112528211020215629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112528211020215629'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/08/come-from-korean-creativity.html' title='Come from the Korean creativity'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112438140451838386</id><published>2005-08-18T11:06:00.000-05:00</published><updated>2005-08-18T11:10:24.046-05:00</updated><title type='text'>Subversion on Windows</title><content type='html'>Articles&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://excastle.com/blog/archive/2005/05/31/1048.aspx"&gt;Installing Subversion server&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/nleghari/articles/subversion.aspx"&gt;Using Subversion on Windows&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; Books&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.pragmaticprogrammer.com/titles/svn/index.html"&gt;Pragmatic Version Control using Subversion&lt;/a&gt; - Must read book&lt;br /&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112438140451838386?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112438140451838386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112438140451838386'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/08/subversion-on-windows.html' title='Subversion on Windows'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112411657154616676</id><published>2005-08-15T09:36:00.000-05:00</published><updated>2005-08-15T09:36:43.333-05:00</updated><title type='text'>SiteProNews: The 10 Best Resources for CSS</title><content type='html'>My personal favorites are &lt;a href="http://www.csszengarden.com/"&gt;CSSZenGarden&lt;/a&gt; and &lt;a href="http://www.alistapart.com/"&gt;AListApart&lt;/a&gt; (although not listed here)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112411657154616676?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.sitepronews.com/archives/2005/july/20.html' title='SiteProNews: The 10 Best Resources for CSS'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112411657154616676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112411657154616676'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/08/sitepronews-10-best-resources-for-css.html' title='SiteProNews: The 10 Best Resources for CSS'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112318450667055183</id><published>2005-08-04T14:41:00.000-05:00</published><updated>2005-08-04T14:41:46.690-05:00</updated><title type='text'>Joel on Software - Hitting the High Notes</title><content type='html'>The principles are important not the context used for describing them. Joel uses Software development for communicating the principles he has learnt. I prefer to keep the principles and leave the context alone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112318450667055183?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.joelonsoftware.com/articles/HighNotes.html' title='Joel on Software - Hitting the High Notes'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112318450667055183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112318450667055183'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/08/joel-on-software-hitting-high-notes.html' title='Joel on Software - Hitting the High Notes'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112301391139475847</id><published>2005-08-02T15:18:00.000-05:00</published><updated>2005-08-02T15:18:31.413-05:00</updated><title type='text'>Successful Strategies for Commenting Code</title><content type='html'>This is a good run-down of all commenting strategies. Although a critical peice in writing code, it is something that is not taught in schools. It's better learnt by burning hands, more than once. Most good developers should have charred hands by now :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112301391139475847?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://particletree.com/features/successful-strategies-for-commenting-your-code' title='Successful Strategies for Commenting Code'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112301391139475847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112301391139475847'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/08/successful-strategies-for-commenting.html' title='Successful Strategies for Commenting Code'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112230118849017277</id><published>2005-07-25T09:16:00.000-05:00</published><updated>2005-07-25T09:19:48.496-05:00</updated><title type='text'>VirtualEarth is live!</title><content type='html'>Finally the much anticipated competition to GoogleEarth is live in the form of VirtualEarth on MSN. There are some cool features which I like about VirtualEarth&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Zooming is supported by scrollwheel&lt;/li&gt;   &lt;li&gt;There is a location finder based on IP address. This tell you where you are located.&lt;br /&gt;  &lt;/li&gt;   &lt;li&gt;The interface looks sleek. That's the first thing I noticed. Cool transparency effects. I guess they are using the IE CSS filters.&lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112230118849017277?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://virtualearth.msn.com/' title='VirtualEarth is live!'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112230118849017277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112230118849017277'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/07/virtualearth-is-live.html' title='VirtualEarth is live!'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112146747351450727</id><published>2005-07-15T17:44:00.000-05:00</published><updated>2005-07-15T17:44:33.536-05:00</updated><title type='text'>News: Fujitsu Debuts Bendable Electronic Paper</title><content type='html'>&lt;a href="http://www.overclockersclub.com/?read=2136713"&gt;News: Fujitsu Debuts Bendable Electronic Paper&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I imagine the Harry-Potter style maps, comics and books coming to market soon. My mind is already exploding with the possibilities in software. Long live geekiness.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112146747351450727?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.overclockersclub.com/?read=2136713' title='News: Fujitsu Debuts Bendable Electronic Paper'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112146747351450727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112146747351450727'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/07/news-fujitsu-debuts-bendable.html' title='News: Fujitsu Debuts Bendable Electronic Paper'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112110296397317119</id><published>2005-07-11T12:29:00.000-05:00</published><updated>2005-07-11T12:29:24.006-05:00</updated><title type='text'>Was Bill Gates really a genius?</title><content type='html'>&lt;a href="http://www.mackido.com/History/Gates_a_Genius.html"&gt;MacKiDo/History/Gates_a_Genius&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112110296397317119?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.mackido.com/History/Gates_a_Genius.html' title='Was Bill Gates really a genius?'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112110296397317119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112110296397317119'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/07/was-bill-gates-really-genius.html' title='Was Bill Gates really a genius?'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112105510594936190</id><published>2005-07-10T23:05:00.000-05:00</published><updated>2005-07-10T23:15:08.260-05:00</updated><title type='text'>Agile Development and Martial Arts</title><content type='html'>There is a connection. Agility in movement is a founding principle in Martial Arts. It's the technique that can overcome sheer strength. Bruce Lee has demonstrated many times before that the technique is more important and it can guarantee success than simply toiling with hardwork. At some point it becomes utterly difficult to maintain a peice of code that is seething with pain from so many design disasters and patch work. Agility can bring in some relief. But it needs to be practiced. Practiced right from the beginning.&lt;br /&gt;&lt;br /&gt;It would be interesting to see what kind of connection exists between these two worlds. Although disparate I do believe there are principles common to both. Proven techniques in Martial arts when interpreted differently can serve as guiding principles just as the Manifesto of Agile Development. Although I am no expert at Martial arts, out of some weird instinct I do believe there is a connection.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112105510594936190?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112105510594936190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112105510594936190'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/07/agile-development-and-martial-arts.html' title='Agile Development and Martial Arts'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112048656766809812</id><published>2005-07-04T08:53:00.000-05:00</published><updated>2005-07-04T09:18:26.686-05:00</updated><title type='text'>When will I own a Mac ?</title><content type='html'>Yes, I am a very visual person. I love looking at visually appealing things (living and inanimate: pun intended). When it comes to tech, Mac OSX beats everyone hands down. In general I love apple's product line of G5, Mac OSX, iPod. Although I practice Windows, I would love to preach Apple. I am not biased towards a particular technology or product. I can switch from one technology to another just in a snap when I am convinced that it rocks!.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.apple.com/macosx/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/7348/1065/400/macosx.jpg" alt="" border="0" /&gt;&lt;/a&gt;With the Tiger release, Apple has done a phenomenal job of putting great stuff together. Apple has created such a high standard of software that the third-party applications are also equally good. &lt;a href="http://plasq.com/comiclife/"&gt;Comic Life&lt;/a&gt; from Plasq.com has won the Apple Design Award and I am sure it would make  anyone switch to Mac just to use it.&lt;br /&gt;&lt;br /&gt;More cool stuff is yet to come with &lt;a href="http://www.apple.com/macosx/features/dashboard/"&gt;Dashboard Widgets&lt;/a&gt;. The ones that come with the OSX package are already mind-blowing. All this makes me drool. Wish I had enough bucks now to get one Mac for myself. Then lock myself with Internet and play around with it until I collapse with exhaustion. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112048656766809812?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112048656766809812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112048656766809812'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/07/when-will-i-own-mac.html' title='When will I own a Mac ?'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-112016528666180063</id><published>2005-06-30T16:01:00.000-05:00</published><updated>2005-06-30T16:01:26.686-05:00</updated><title type='text'>Google Maps API</title><content type='html'>&lt;a href="http://www.google.com/apis/maps/"&gt;Google Maps API&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally it's time to explore the world from my computer. The power of Google Maps is at the hands of the Developer. This opens up tremendous opportunities to do interesting things. I will blog about my attempts later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-112016528666180063?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.google.com/apis/maps/' title='Google Maps API'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112016528666180063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/112016528666180063'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/google-maps-api.html' title='Google Maps API'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111985155208398754</id><published>2005-06-27T00:36:00.000-05:00</published><updated>2005-06-27T00:52:32.086-05:00</updated><title type='text'>WebParts: A Portal Framework</title><content type='html'>&lt;span style="font-weight: bold;"&gt;I prototype&lt;/span&gt; should be my new nickname. Have been prototyping lot of the new ASP.NET 2.0 feature list. Some are not even documented. But there are some good folks at M$ who care to put that on their blogs so that mortals like me can leech. The MSDN-2 is pretty barren at the moment with only stubs for the various sections. Hopefully that will change soon with an imminent shipping date for VS 2005.&lt;br /&gt;&lt;br /&gt;One of the coolest and certainly rich feature is WebParts: A complete portal framework. I think it's fun leaving aside the long-hours-of-internet-search-for-documentation. Fortunately WebParts leverages the SharePoint portal framework so some of the undocumented stuff can be found there. I am particularly curious about the SharePoint SmartParts. With WebParts in place, we don't even need a SharePoint portal anymore. SmartParts can be hosted on a vanilla IIS with ASP.NET 2.0.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://my.msn.com/"&gt;My MSN&lt;/a&gt; is the place to be if you still don't know what WebParts is all about. You will need a Microsoft Passport account like Hotmail to really see the &lt;span style="font-weight: bold;"&gt;Personalization&lt;/span&gt; feature of WebParts.&lt;br /&gt;&lt;br /&gt;I wonder how is &lt;a href="http://www.dotnetnuke.com/"&gt;DotNetNuke&lt;/a&gt; pitted against WebParts. A comparison should be in order.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111985155208398754?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111985155208398754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111985155208398754'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/webparts-portal-framework.html' title='WebParts: A Portal Framework'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111944215006459253</id><published>2005-06-22T07:09:00.000-05:00</published><updated>2005-06-22T07:09:10.090-05:00</updated><title type='text'>www.hibernate.org - Why This Project Is Successful?</title><content type='html'>&lt;a href="http://hibernate.org/38.html"&gt;www.hibernate.org - Why This Project Is Successful?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some good things to learn from this project. Pretty general and will apply to any project, may be just leaving out the open-source part :)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111944215006459253?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://hibernate.org/38.html' title='www.hibernate.org - Why This Project Is Successful?'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111944215006459253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111944215006459253'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/wwwhibernateorg-why-this-project-is.html' title='www.hibernate.org - Why This Project Is Successful?'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111939213895002603</id><published>2005-06-21T17:15:00.000-05:00</published><updated>2005-06-21T17:15:56.773-05:00</updated><title type='text'>GRYNX �� Laptop on the wall - WallTop</title><content type='html'>&lt;a href="http://www.grynx.com/index.php/projects/laptop-on-the-wall-walltop/"&gt;GRYNX �� Laptop on the wall - WallTop&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Someday I'll have this on my wall&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111939213895002603?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.grynx.com/index.php/projects/laptop-on-the-wall-walltop/' title='GRYNX �� Laptop on the wall - WallTop'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111939213895002603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111939213895002603'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/grynx-laptop-on-wall-walltop.html' title='GRYNX �� Laptop on the wall - WallTop'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111907256552755198</id><published>2005-06-18T00:22:00.000-05:00</published><updated>2005-06-18T00:29:25.530-05:00</updated><title type='text'>My FireFox extensions</title><content type='html'>Over time I have found these firefox extensions to be extremely useful. For my own records, in case I decide to do a reformat+OS install, I am listing my set of plugins:&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;ForecastFox&lt;/li&gt;   &lt;li&gt;Download Manager Tweak&lt;/li&gt;   &lt;li&gt;FlashGot&lt;/li&gt;   &lt;li&gt;GoogleBar&lt;/li&gt;   &lt;li&gt;IEView&lt;/li&gt;   &lt;li&gt;Mouse Gestures&lt;/li&gt;   &lt;li&gt;Tab Clicking Options&lt;/li&gt;   &lt;li&gt;Gmail Notifier&lt;/li&gt;   &lt;li&gt;AdBlock&lt;/li&gt;   &lt;li&gt;Aardvark&lt;/li&gt;   &lt;li&gt;BlogThis&lt;/li&gt;   &lt;li&gt;Sage&lt;/li&gt; &lt;/ol&gt; If there are more out there which people have found to be useful, I would certainly want to know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111907256552755198?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111907256552755198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111907256552755198'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/my-firefox-extensions.html' title='My FireFox extensions'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111902594398259130</id><published>2005-06-17T11:32:00.000-05:00</published><updated>2005-06-17T11:32:56.620-05:00</updated><title type='text'>The Artima Developer Community</title><content type='html'>&lt;a href="http://www.artima.com/index.jsp"&gt;The Artima Developer Community&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is a fantastic weblog for all great articles on OO design. I was referred here by the Team System website for the article &lt;a href="http://www.artima.com/lejava/articles/gammadp.html"&gt;How to Use Design Patterns&lt;/a&gt;. The article is an interview of Erich Gamma on how to / how not to Design Patterns. In many ways this is the most misunderstood topic in OO design.&lt;br /&gt;&lt;br /&gt;The resources section in that article points to two books&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Head First Design Patterns&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Refactoring to Patterns&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;Great find for the day!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111902594398259130?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.artima.com/index.jsp' title='The Artima Developer Community'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111902594398259130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111902594398259130'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/artima-developer-community.html' title='The Artima Developer Community'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111893721061806289</id><published>2005-06-16T10:53:00.000-05:00</published><updated>2005-06-16T10:53:30.633-05:00</updated><title type='text'>'You've got to find what you love,' Jobs says</title><content type='html'>&lt;a href="http://news-service.stanford.edu/news/2005/june15/jobs-061505"&gt;'You've got to find what you love,' Jobs says&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This article is a must read for everyone. I thoroughly enjoyed it and has made me realize a couple of things. Hope it helps others as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111893721061806289?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://news-service.stanford.edu/news/2005/june15/jobs-061505' title='&apos;You&apos;ve got to find what you love,&apos; Jobs says'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111893721061806289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111893721061806289'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/youve-got-to-find-what-you-love-jobs.html' title='&apos;You&apos;ve got to find what you love,&apos; Jobs says'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111875206247259040</id><published>2005-06-14T07:16:00.000-05:00</published><updated>2005-06-14T07:27:42.476-05:00</updated><title type='text'>The 80-20 rule of Software design</title><content type='html'>My Manager at the company where I intern was just back from TechEd 2005. We had a long discussion about the various tools, technologies that were introduced and some of the sessions that he attended. I particularly liked one of the comments that he made about software design. This was something he picked up in one of the Cabana sessions. A Cabana session is gathering of small group of people who discuss/debate on a particular topic.&lt;br /&gt;&lt;br /&gt;He pointed out that no one should strive to design with a goal to meet 100% of the needs. This is particularly true when one is developing a framework/ platform/ library for general use. It is just not possible to encompass all possible cases. There is a balance that has to be maintained about the extensibility/scalability of the design and the needs of the customer. This balance is 80-20, where 80% of the cases can be handled and rest 20% is left untouched.&lt;br /&gt;&lt;br /&gt;Extensibility is good to a certain extent but cannot be stretched to any extent. Beyond a certain point it is upto to the customer to probably redesign/rethink the approach to accommodate within the confines of the software design. If the needs are such that the design cannot handle, it only shows that the library/tool is not fit for the requirements at hand. It is a sign of looking at other possibilities. But this will get handled anyway during the prototyping stage. Hopefully.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111875206247259040?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111875206247259040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111875206247259040'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/80-20-rule-of-software-design.html' title='The 80-20 rule of Software design'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111849874580738048</id><published>2005-06-11T08:59:00.000-05:00</published><updated>2005-06-11T09:05:45.810-05:00</updated><title type='text'>Will Team System 2005 render NUnit useless?</title><content type='html'>Previously the most widely used tool for Unit testing with C# was NUnit. However with the introduction of the Team System 2005 by Microsoft, TDD has become tigthly integrated. It is now possible to do a wide variety of tasks:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Point and click Test stub creation&lt;/li&gt;   &lt;li&gt;Visualize the code coverage&lt;/li&gt;   &lt;li&gt;Integrated Test Manager (TestRunner)&lt;/li&gt;   &lt;li&gt;Custom test list creation&lt;/li&gt;   &lt;li&gt;Both Manual and Automated testing support&lt;/li&gt;   &lt;li&gt;.... probably some more that I have missed&lt;/li&gt; &lt;/ol&gt; With such an integration, I wonder if any C# developer would continue using NUnit. Probably only to support the existing tests. But any new development will most probably use the Team System tools. The testing tools already look promising and they should only get better by the November 7 release of Visual Studio 2005.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111849874580738048?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111849874580738048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111849874580738048'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/will-team-system-2005-render-nunit.html' title='Will Team System 2005 render NUnit useless?'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111836918391520008</id><published>2005-06-09T20:54:00.000-05:00</published><updated>2005-06-09T21:07:34.746-05:00</updated><title type='text'>Why do we think so often of abstraction?</title><content type='html'>I read somewhere that Computer Science is the science of abstraction. As a developer we continuously try to hide the details so as to deal with the problem at hand more easily. Such details are essential to get the work done but beyond that it is the ease of programmability that takes over control. Abstraction is definitely a key element in developing software.&lt;br /&gt;&lt;br /&gt;Abstraction exists at different levels and at each level we try to provide ease of programmability. As we go to the architecture level, we need abstraction not just to hide details but to hide the variability of the system. Take the case of interacting with different kinds of databases to store data. At the backend layer, we don't want to deal with database specific code because it is possible to change the database at the later date, say for performance reasons. Thus we try to hide this fact by providing a layer of abstraction. Here we are trying to abstract the variability of the database.&lt;br /&gt;&lt;br /&gt;Ease of programmability and hiding variability seem the only two compelling reasons for abstraction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111836918391520008?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111836918391520008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111836918391520008'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/why-do-we-think-so-often-of.html' title='Why do we think so often of abstraction?'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111828908985930633</id><published>2005-06-08T22:44:00.000-05:00</published><updated>2005-06-08T22:51:29.866-05:00</updated><title type='text'>The "Metro" document format</title><content type='html'>If you have not already heard about it, here it is: Microsoft is coming up with a new XML-based document format called Metro. The name sounds cool but is the technology? &lt;a href="http://www.pdfzone.com/"&gt;PDFZone &lt;/a&gt;carried out an interview with Adrian Ford, CTO of Global Graphics, the Microsoft partner that is working to bring up the Metro specification and also a prototype implementation.&lt;br /&gt;&lt;br /&gt;Metro is planned for the Longhorn release and would also change the print subsystem of Windows. There will be new capabilities added that would allow richer printing. Ford discusses some of this in this &lt;a href="http://www.pdfzone.com/article2/0,1759,1823998,00.asp"&gt;interview&lt;/a&gt;. I am sure some of this work has rubbed on the Office 12 XML formats.&lt;br /&gt;&lt;br /&gt;Some say the Metro format is in direct competition to Adobe's PDF. I feel, in the end, both will co-exist.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111828908985930633?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111828908985930633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111828908985930633'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/metro-document-format.html' title='The &quot;Metro&quot; document format'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111820253226111730</id><published>2005-06-07T22:17:00.000-05:00</published><updated>2005-06-07T22:48:52.266-05:00</updated><title type='text'>Outlook Add-ins</title><content type='html'>Discovered the &lt;a href="http://techedbloggers.net/Feed.rss"&gt;TechEd blog&lt;/a&gt; today. Will follow it till it gets over on June 10. Some of the videos are available via &lt;a href="http://www.microsoft.com/winme/TechEd/TechEdPodcast.xml"&gt;podcast&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Developing Outlook add-ins has become much more easier with the Visual Studio Tools for Office System. I squeezed in a half hour to quickly develop a small add-in that just displays the number of tasks. However I also learnt the architecture and how add-ins were developed earlier (COM add-ins). I think it would be cool to have a FeedReader right inside Outlook 2003. Most of the necessary tools and UI are already available. One of these days I should take this path and explore little more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111820253226111730?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111820253226111730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111820253226111730'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/outlook-add-ins.html' title='Outlook Add-ins'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111811875457315453</id><published>2005-06-06T23:32:00.000-05:00</published><updated>2005-06-06T23:32:34.576-05:00</updated><title type='text'>Visual C# Developer Center : C# Programming Videos</title><content type='html'>&lt;a href="http://msdn.microsoft.com/vcsharp/programming/videos/"&gt;Visual C# Developer Center : C# Programming Videos&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am always curious to know what is in store for the coming version of the .NET platform. I found this link out of a search for such information. Anders talks about the new C# 3.0. I guess lot of it is influenced from the C-omega language. Check out for more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111811875457315453?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/vcsharp/programming/videos/' title='Visual C# Developer Center : C# Programming Videos'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111811875457315453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111811875457315453'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/visual-c-developer-center-c.html' title='Visual C# Developer Center : C# Programming Videos'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111806732248135602</id><published>2005-06-06T09:15:00.000-05:00</published><updated>2005-06-06T09:15:22.483-05:00</updated><title type='text'>hiPod R1 Proposals - Apple Design &amp; Prototype - The Apple Collection</title><content type='html'>&lt;a href="http://www.theapplecollection.com/design/macdesign/hipod_r01.html"&gt;hiPod R1 Proposals - Apple Design &amp; Prototype - The Apple Collection&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Would love to own one of these.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111806732248135602?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.theapplecollection.com/design/macdesign/hipod_r01.html' title='hiPod R1 Proposals - Apple Design &amp; Prototype - The Apple Collection'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111806732248135602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111806732248135602'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/hipod-r1-proposals-apple-design.html' title='hiPod R1 Proposals - Apple Design &amp; Prototype - The Apple Collection'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111802586250988148</id><published>2005-06-05T21:17:00.000-05:00</published><updated>2005-06-05T21:44:22.513-05:00</updated><title type='text'>High on Avalon</title><content type='html'>The best way to get upto speed with a new technology is to start a Pet-Project. Just this time, the technology was Avalon, the new Presentation subsystem for Windows Longhorn and the project, a Blogger Client. I always wanted my own blogger client which would have all the nice features I wanted.&lt;br /&gt;&lt;br /&gt;I have divided the project into 2 stages. In the first stage, the client would only be able to read news using the Atom API. This is because I blog mostly on Blogger.com and they support Atom. I got hold of &lt;a href="http://atomnet.sourceforge.net/"&gt;Atom.NET&lt;/a&gt; that provides a library for reading/writing Atom feeds. That taken care I started exploring XAML. Here is the basic interface I came up with. Notice the cool Gel button on the top-right corner. Enjoyed creating that.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://photos1.blogger.com/img/185/5501/640/Interface%206%205%202005%209%2029%2040%20PM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The Atom.NET library returns the blog entry text as HTML. To display it well I need a WebBrowser control. Unfortunately Avalon still does not have a WebBrowser control but Windows Forms has one. But how would I use a WinForms control in Avalon? Enter the &lt;a href="http://winfx.msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/winfx/ref/ns/system.windows.forms.integration/c/windowsformshost/windowsformshost.asp"&gt;WindowsFormsHost&lt;/a&gt; class that supports embedding a WinForms control inside Avalon. Did a little bit of configuration to disable the context menu on the IE control and there I had it: a neatly embedded IE control inside an Avalon Application.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://photos1.blogger.com/img/185/5501/640/Interface%206%205%202005%209%2040%2048%20PM.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Next I will spend some more time understanding Styles/Themes in Avalon. That would spruce up the App.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111802586250988148?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111802586250988148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111802586250988148'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/high-on-avalon.html' title='High on Avalon'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111791552877347144</id><published>2005-06-04T14:59:00.000-05:00</published><updated>2005-06-04T23:37:25.073-05:00</updated><title type='text'>Webcast is my Movie time</title><content type='html'>The greatest revelation for me after coming to US is the ability to watch Webcasts without always downloading them. This is a great benefit because there are many cool things that I get to learn just by watching these webcasts. The webcasts that I am talking about are primarily on .NET technologies and everything concerning it. Some of my favorite shows are .NET Rocks, MSDN TV, the .NET Show and any other On-Demand webcasts that are put up on MSDN and other places.&lt;br /&gt;&lt;br /&gt;MSDN TV: &lt;a href="http://msdn.microsoft.com/msdntv/archive.aspx"&gt;http://msdn.microsoft.com/msdntv/archive.aspx&lt;/a&gt;&lt;br /&gt;.NET Rocks: &lt;a href="http://www.dotnetrocks.com/"&gt;http://www.dotnetrocks.com/&lt;/a&gt;&lt;br /&gt;the .NET Show: &lt;a href="http://msdn.microsoft.com/theshow/"&gt;http://msdn.microsoft.com/theshow/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111791552877347144?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111791552877347144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111791552877347144'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/webcast-is-my-movie-time.html' title='Webcast is my Movie time'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13405220.post-111785337783018640</id><published>2005-06-03T21:42:00.000-05:00</published><updated>2005-06-03T21:49:37.833-05:00</updated><title type='text'>Team System 2005 is amazing</title><content type='html'>Microsoft has a great new Visual Studio lined up for developers. I feel they have brought a product that they must have been using internally for a long time. My internship at Landmark has given a great platform to explore the new .NET Framework 2.0, ASP.NET 2.0, Visual Studio Team System and ofcourse Visual Studio 2005 Beta 2. It is just so enjoyable to use these products and develop software. Want to get nose deep into this!&lt;br /&gt;&lt;br /&gt;Check out:&lt;br /&gt;&lt;a href="http://lab.msdn.microsoft.com/teamsystem/"&gt;http://lab.msdn.microsoft.com/teamsystem/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On the site you will find links to On-Demand Webcasts that present the features of Team System 2005. A must see for all eager developer minds.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13405220-111785337783018640?l=pavanpodila.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111785337783018640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13405220/posts/default/111785337783018640'/><link rel='alternate' type='text/html' href='http://pavanpodila.blogspot.com/2005/06/team-system-2005-is-amazing.html' title='Team System 2005 is amazing'/><author><name>Pavan Podila</name><uri>http://www.blogger.com/profile/13483934990115501716</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
