Monday, May 01, 2006

Microsoft.Web.AJAX


In past i was intrigued by new mail notification feature in Outlook Web Access {tracking back OWA history} and kept wondering on technology behind that.
Enter Google Maps, everything changed after people coined term AJAX . Happen to learn concept of remote scripting in last project which used JSRS technique to get data for dropdowns and help text from server for controls. And i decided to look out for alternatives/options for this new wave (hype?) of web programming model. Ajax.NET Professional seems to be easier to use. But support to asp.net controls are limited, and when googling around that ended up in ASP.Net 2.0 Client Callback feature & Atlas April CTP, Expect Atlas to shadow the limited callback feature of asp.net 2.0

Here is a 18 mins video demo on Developing ASP.NET 2.0 Applications using "Atlas" by Scott G. Its kind-of Houdini show, when you see him write a Todolist web page and AJAX enabling the page, all under 18 mins and without writing a SINGLE line of javascript! I can understand why java community hates MS. Have time? See Atlas in action

From an architect point of view, Ajax usage may probably violate tiered approach and presentation tier code may end up spaghetti, isn't the idea of asp.net code behind model is to avoid this. Atlas overcomes this by providing a declarative programming model for Ajax and enabling use of asp.net server controls

I gotta give credits to MS for developing something like Atlas, even though its an alternative to Smart Client architecture that MS wants to use for rich web apps. But, I'd expect to use this in limited and for appropriate cases and i don't want follow Ajax bandwagon of creating single-page interface application in web, IMHO web apps are not supposed to work that way, rather leverage on Ajax features in cases where it demands like Google Suggest. To end with an interesting fact i happen to learn how Google prevents against excessive queries, mainLoop sets itself up to be called repeatedly using the javascript setTimeout function, instead of keydown events, handling fast typers on slow connections and also timeout interval between calls seems to be dynamic, adjusted according to how quickly the server responds.

Tuesday, April 25, 2006

iPod encounters

I never thought of buying an iPod, and had been very much satisfied with Nomad Muvo 512, which i still believe gives good bang for buck. Until company gave all an iPod Video 30G. It was a more than a surprise when it got shipped in less than 48 hours from Shangai, CN to Knoxville, TN; hmm FedEx! Anyway here I’m trying to abuse this piece of electronic.

Anyone will fall for the slick user interface and cool click wheel, but when you start using it from a WinX OS, you are hit with a quite a bit of annoyances. iTunes interface for iPod is one crazy software, it doesn’t tell you if a selected/drag-n-dropped media file is not supported or anything, it just acts dumb. I can understand if Apple decided not to support many WinX media formats in iTunes, but I expect them to provide atleast an encoder in it to support those? I'v got ephPod downloaded; breathing fire over iTunes shoulder, waiting to make that kill.

Media are internally stored with cryptic file names, once I get them in, I don’t know how to backup them with original file names. A useless info I gained while googling for converters, AAC (internal media format) doesn’t (surprisingly) stand for Apple Audio Codec.

MediaCoder did most of the work converting all my audio collections in myriad formats to AAC (pointe de note: Only Nero AAC Encoder was able to convert my rm’s and gave better conversion quality over iTunesEncoder). Sadly I was not able to convert mpeg/dvd-rips using MediaCoder video conversion, even converting strictly to Apple iPOD supported video formats (tried both MPEG-4 & H.264 video in 768 Kbps); not able to get any support in web for this software, should be satified to have a free converter for most used feature of iPOD. Finally ended up using Xilisoft iPOD video converter, there is lot on the market.

And finally a note on v.rarely talked about feature, eBooks, check out yourself thousands of free ebooks for iPOD @ http://manybooks.net.

Keeping issues aside, iPod gets whatz supposed to: look&feel, good battery (audio only, video drains out battery v.v.quickly, drains 75% in 10-15 mins video playback), simple and easy interface and more than anything raising eyebrows in next seat ;-)

Bye and Happy iPoding.

Thursday, April 06, 2006

Reverse Engineering Taboo

Many (esp in IT world) think this a taboo, well here i'm trying to break. I don’t understand why such negativity associated with this; if this is not so in other industries. Take an automobile manufacturing industry, isn't a common practice to buy competitor product and disassemble it to examine and understand for the purpose of enhancing their vehicles/components. If you can consider that legal (of course if it doesn’t violate any patent/copy-right), then it should be okay to disassemble software for the purpose of understanding and enhancing existing system.

For people who confuse this with Security Hack, question yourself why you have that secured data/logic in the binaries which can be reversed in a matter of seconds (Lutz Roeder's .NET Reflector), esp with the these high-order languages. No, not even NGEN isn't protected from reversing, hmmm, are you still in Fool's Paradise!

Wake-up Buddy. The silent guy in that last desk could be a black hat! Hahahaha.

Wednesday, March 29, 2006

IM - Thin client

I had not used Yahoo Messenger for a long time, and when i decided to change that and statr reaching ppl, my network group policy didn't allow me to run that in my office machine. I was wondering if there was a thin client yahoo client out there that i can use. And did found few e-Messenger & Meebo.

4/10 update: Today i was thinking what can be done if corporate proxy blocks this site, i renamed yPager.exe to iPager.exe and hmm it seems to work by-passing windows GPO !

Tuesday, March 28, 2006

Remembering Marshall, MN --continued--

R4 Install day















Release 3 Install day












Diwali '04 @ YMCA















Snow @ Independance park
















Goosberry Falls, Duluth




















A Rest area @ South Dakota




















Upper Sioux Agrncy SP, Granite Falls

Remembering Marshall, MN --continued--

Palisade Head, Duluth















Valley Fair






















Sunset @ Lake Sarah

















Garvin Park
















Split Rock Creek Lighthouse, Duluth




















Glacial Lake ?















Home @ Winter















Ice scrapping !!!



















Home just before Winter














Last flight from FSD to ORD



















Leaving Marshall, MN (Last day to FSD)

Remembering Marshall, MN

-- My first American soil --
-- Photo credits Gg --

Wind Mills before Pipestone















Two Harbors, Duluth















Glacial Lake SP















Rainy eve @ Camden SP















Sunset @ Independeance park















Mt. Rushmore















Sioux Falls















Frozen Lake Shetek















Sunset @ Camden SP















July 4th Independance park















Rainy Eve @ Lake Bendon

Wednesday, March 15, 2006

C# and VB.NET

After developing .NET apps using C# for a long time, i'm now into VB.NET. I recollect old days where i was forced into C# from VB and my initial aversion over VB coming from C++. All along my .NET years i presumed VB.NET is C# w/o a ;.

Being developer for quite some time, i think language preference (especially .NET langs, JAVA) is mere personal adoration, i didn't had privilege to choose .NET over J2EE. Reason why Microsoft prefers to code in C# may be due to the fact, they have lot of C++ developers and hence transistion to C# should have been easy. And my first annoyance with VB.NET, feature go to matching ending brace with keyboard shortcut Ctrl + [ is not working or may be i don't know that. Speaking of VS.NET shortcuts, you may want to look at O'Reilly's Mastering Visual Studio .NET Shortcut Key Guide

My googling on Syntactical differences and comparison between VB.NET and C#.

Microsoft white paper on Differences Between Visual Basic .NET and Visual C# .NET

MSDN Language Equivalents comparing different .NET languages

Frank McCown's, C# and VB.NET Comparison quick reference guide
Steven Swafford's, C# and VB.NET Comparison Cheat Sheet a derivative of Frank’s comparison, option to download the material in PDF or Word doc.

There is hell a lot of code translators out there and I doubt full fledged use, but a good tool for developer who moves from one (.NET) language to another,
Alex Lowe's http://authors.aspalliance.com/aldotnet/examples/translate.aspx
Kamal Patel's http://www.kamalpatel.net/ConvertCSharp2VB.aspx
Carlos Aguilar Mares's Translation (VB.NET to C# and vice versa)
http://carlosag.net/Tools/CodeTranslator/Default.aspx
& a commercial tool http://www.remotesoft.com/octopus/try.html

Wednesday, March 01, 2006

Moving on

I am moving on, from the RSG program to my next assignment in a paper tissue manufacturing company. Hope life takes me on a road to more better place, and quote in signature of sign-off email dedicated to Mr KD.

The wise man learns more from the fool than the fool learns from the wise man. - Marcus Aurelius

Sunday, January 15, 2006

RSG! The End.

Ahhhh....................

Alas RSG! Sees the final install (Slow-Roll) and looking back this 2.5 year long program all i can think of is HUGE from all aspects (complexity, code size, team size, ...) Anyone who worked on this will have a lot of things to take with.

Still few things are left like Prod. support and end state switch to all SQL. Talking of that i am more than happy to write that 2 lines of code to return SQL in switch component (XXXX0173, just in case i forget this abused component name)

Some facts on the program, i happen to gather after a while
  • 5 Major releases
  • 3500 Programs
  • 1.8 Tb of disk space
  • 350K batch jobs per month
  • 490 - Peak team size
  • 3837 Person Months
  • 900 GB of data from DB2 to SQL Server (913 tables)
  • 7 million lines of legacy code replaced with 1.5 million lines of code
  • 70% reduction in code base
I'll take that for a huge project!