<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d13405220\x26blogName\x3dPavan+Podila\x27s+Blog\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://pavanpodila.blogspot.com/search\x26blogLocale\x3den_US\x26v\x3d2\x26homepageUrl\x3dhttp://pavanpodila.blogspot.com/\x26vt\x3d-3240902251102105728', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe", messageHandlersFilter: gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER, messageHandlers: { 'blogger-ping': function() {} } }); } }); </script>

Friday, April 28, 2006

SketchUp your world

Google Sketchup, 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.

As soon as I got over the initial learning curve (thanks to some great video tutorials) 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]

Just for fun I made this 3D model spelling the letters of my name. Took under 5 minutes.

Thursday, April 27, 2006

13 minutes of Creativity

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.

After hearing it so many times I can pronounce too: "Hi tha ko ra su ii chi" :) Watch the video and get Wowed!




If you haven't watched the Honda Ad, its here.

Use 'Bon Echo' WITH your extensions

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 FireFox 2.0 - Bon Echo (ya! still FireFox, not Opera, not IE).

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 site, 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.

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.

Wednesday, April 26, 2006

How I want to play Tetris

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.

Amazing. Go Watch!

Creating sidebar gadgets with WPF

The current state of art for creating sidebar gadgets is to use the DHTML model. This is not as nice as using WPF. But the good news is: there is a workaround available! mszCool on MSDN Blogs writes about using an XBAP in an IFrame. The XBAP would ofcourse be the WPF gadget.

If it doesn't work, work around it!

Monday, April 24, 2006

Rotational scroller with IScrollInfo

Ben Constable has published a set of tutorials/posts on IScrollInfo, 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.

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.

Check out the Flash video

Wednesday, April 19, 2006

New blogger template

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 visit.

My previous template was something like

Tuesday, April 18, 2006

Pragmatic Book - signed by the Author



My advisor Dr. Venkat Subramaniam recently published his second book "Practices of an Agile Developer", his first being ".NET Gotchas". I had the privilege of getting a copy of the book - personally signed by the Author! How often does that happen?

Venkat is also an accomplished speaker and is a regular on the No Fluff Just Stuff (NFJS) tour, .NET User Groups, Java User Groups and the C# SIG. He is the founder of AgileDeveloper.com: 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 University of Houston (that's how I know him). He also has a blog!

He is a great guy to be with and I have certainly learnt a lot interacting with him. Thanks for the book Venkat!

Wednesday, April 12, 2006

30 years of Apple computers

A cool video which is a compilation of all the Ads for Apple since 1976. Watch it here.

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.

Check it out.

Poster Competition

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.
I spent about 2 days designing the poster and had a couple of reviews with my advisor. The size of the poster was 3 ft x 2 ft. 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.

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 300 DPI, it took about 45 minutes, which was reasonable. So for my testing purposes, I decided to stick to 72 DPI (which is good enough to view on-screen).

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 PNG, which was the most faithful. The only problem is that rendering a PNG takes much longer than the other export options.

Here is that poster:
(PNG file, ~1.4 MB, 72 DPI, 3 ft x 2 ft)

Results of the Competition - Not yet declared. [Will be updated]
(In all there were 32 submissions and mine was #12 in the list.)

Sunday, April 02, 2006

My entry up on RoadToWinFX developer challenge

Jonathan Hodgson, the guy who maintains the RoadToWinFX website had announced the WPF Developer Challenge sometime back. I was interested in participating and had sent him my Polarium clone as entry. Today morning I got a mail that he has put it up on the website. So here it is.