Sunday, December 31, 2006

Sometimes Trials could be real "Trials"

I have been evaluating ReSharper for the last month and quite happy with the things it provided in the IDE, ofcourse the refactoring support, but equally with the minor editor improvements.

One thing I really liked was the automatic completion of block symbols like braces and ".

This warm fuzzy feeling quickly vanished when I try to debug a VS package. When the experimental hive opened up, it started giving me all kinds of horrible errors about not able to initialize Resharper menu items etc etc. So, to continue with my package development, I uninstalled ReSharper. And to add to my woes, I found out that it did not reset the keyboard shortcuts. This was a minor issue, but didnt reset my feelings.

So, I got back to the debugging of my package. To my surprise, the build started failing with a very descriptive error saying "devenv.com returned exit code -1". More detailed inspection revealed that the culprit is regpkg.exe trying to create the .reg file for deployment.

Like a typical application junkie, I repaired VS 2005, repaired SDK, well, actually upgraded SDK to 12.2006 with no avail. Finally I did what I should have done in the first place. Then I found that my experimental hive is not starting complaining that it has missing components. I reset the experimental hive registry. This started the experimental ide and I found that it stil lkeeps a reference to ReSharper. Guess what, my regpkg.exe stopped failing and the build succeeds.

This should have taken me all but 10 mins after unistalling resharper, but my overthinking (or lack thereof) wasted a whole night for me.

I am still not sure who is the real culprit in this saga. It could be resharper, VS, VS SDK. But I am getting more and more warmed up to the idea of VMWare ESX or something like that.

So, ReSharper is an excellent add-in. I am waiting to see if DevExpress will send me a trial version of their thingie. If not, may be I will bite the bullet and go for their 60 day money back guarantee.

Well, I know how I am going to spend my new year eve and new year day. Trying to finish the Delphi support for Visual Studio. More about this later.

Friday, December 22, 2006

And finally, we got a Giant Squid

http://www.timesonline.co.uk/article/0,,2-2516522,00.html

Last week, I was watching (again) that Discovery story about sperm whales and was once again thinking about the Giant Squids. I actually saw Tsunemi Kubodera's earlier attempt looking for the Giant Squids. They got one tentacle at that time and quite a few pictures. Now they finally managed to get a live one.

Thus, one more mystery of the seas solved. Just a few millions remaining.

Who is living in 19th century?!!

"

Goode [Virginia: A Republican congressman] triggered angry responses from an Islamic civil rights group and some of his colleagues by his letter to constituents who e-mailed him about a new Minnesota congressman's [Keith Ellison] decision to use the Quran at his private swearing-in ceremony.

"I will not be putting my hand on the Quran," Goode said at a news conference Thursday at the Franklin County Courthouse.

In a letter earlier this month to hundreds of constituents about Rep.-elect Keith Ellison, the first Muslim elected to Congress, Goode warned that strict immigration policies are necessary "to preserve the values and beliefs traditional to the United States of America."

"

Thursday, December 21, 2006

Browser - the worst place for an application to live

How many of you who has develped a browser based UI for a complex application have felt that you are back in the days of DBase? Well, I still remember my very very short stint with DBase where I had to create UIs following the horrible character by character placing of controls, but more than that, the feeling that I had to follow the rigid rules imposed by the DBase runtime. DOS at that time could do much more complex UIs using text consoles compared to what DBase could come up with.

Browser is kind of like that, or even worse. From the point of an application developer, a browser is something that is designed to make our life hard. Everything in the browser is designed specifically to curtail my freedom as a developer.

Well, I guess the complaints about the nightmares of bridging the gap between HTML and interactive data presentation is somewhat alleviated these days through various dynamic scripting techniques. But, it is still scripting.

The interactivity of a browser is by design broken. Even with AJAX and all the other patchwork that we have been putting on top of the poor browser and http only hides this fact, does not solve it.

Lets take the UI provided by any blogging service for creating new blogs. First I need to click on the sign me in page, which will take me to some kind of edit/add page after a few seconds (at best). Then I click on the new blog link, which after a few seconds (in reality several seconds) will give me a box (sometimes small, sometimes a little bit bigger, always not enough) where I can write my blog. So, I start writing, half way through, I get bored, want to go for a smoke, so I click save as draft, which usually takes two steps (somehow most online blog editors assume that I do need to see the preview even when I am saving as draft).

So I come back from my smoke, click on the edit button, wait yet another several seconds (mind you, I am on a 10mbps downstream cable) it shows me that small box again.

If I want to post this to another blog as well and there is no automatic crossposting in my blog service, the whole thing has to be painfully repeated.

Compare this experience to that of using a desktop blog publisher, in my case Windows Live Writer. (I settled on WLW after looking at several others like w.bloggar, ecto, and a few others).

So, with WLW, if I want to write a blog, I click on the menu item. It shows me the first screen in about 2 seconds and I can start writing straight away. I have a winodw which is wysiwyg, I can actually see pictures pasted to my posts. And if I get bored of writing all I have to do is press ^S and go do whatever. When I come back, it is again 2s before I get to my draft back.

I dont have to click several obscure links and buttons to do a single thing.

Browsers are best when used for dissemination of information. However, after seeing the Newyork Times reader, even there a client based solution has can have much more capabilities.

May be we need to get our thinking straight. Web based application does not (and in my opinion, should not) mean browser based. A browser based application is just a contraption that aspire to be an application, and fails.

Talk about global warming...

First, I reclaimed my window seat in the latest team room shuffle. Though the view is towards the front of the building, as long as I don't look down, things are not that bad.

What boggles my mind is the weather. Though I am not a big fan of cold weather (especially since I have to go out to have my smoke breaks, which is painful during cold days), I would still love to see some snow.

It looks like the el nino is here to stay for this year.

Wednesday, December 20, 2006

How about a new post using the live writer!!!

After several attempts my live writer seem to be working.

I did try several other desktop blog writers (for the last 4 hours) and so far, live writer is the easiest to setup, and even detected my new blogger account without a hitch.

However, I am yet to find a way to do the corss posting without having to select each item twice. I am sure there is a way.

How about a new post using the live writer!!!

After several attempts my live writer seem to be working.

I did try several other desktop blog writers (for the last 4 hours) and so far, live writer is the easiest to setup, and even detected my new blogger account without a hitch.

Wednesday, October 04, 2006

To smart client or not!!!

Well, ofcourse the easy answer is to smart client. But the problem with buzz words is that they just give a quasaric view (ohhh my, is that a word? I like it) of the underlying idea.

I am going around, into, and across the Smart Client Software Factory (SCSF) from MS. It is a very interesting starting point for a well layered composite application. However, my interest is how to wrap this thing around a legacy win32 application. Once this step is done, I can bleed various parts of the application into smartparts that work in parallel.

Biggest problem about evolving an application across platforms is keeping the interest and releasability of the transition stages. Demand for frequent releases doesnt make things any easier.

As the conversion work at the back end continues, unless there are visible front end results, the interest in the project among developers and especially product owners diminishes.

If we could successfully wrap our win32 application within a Smart Client workspace. This will give a common command access point for the win32 as well as new task oriented work items are introduced to the CA.

An interesting fact though is, I am still to find a reference implementation for a SCSF that wraps a win32 application. I found the sample at Patterns and Practices website for wrapping a legacy web application. Looks like I will have to write a reference implementation for my purpose first.

Well, I think it is going to be some very exciting months. Guess what, I have atleast three musicians coming for audition in the next two weeks. How cool is that :-)

Tuesday, September 26, 2006

Ofcourse I love NHibernate... but

Of the numerous Object Relational Mapping frameworks out there, I always prefered NHibernate. This was mainly from considerations to its bigger brother Hibernate and the hope that the popularity of Hibernate will eventually contribute to NHibernate as well. Well, this has been going on until recently. It is almost like the NHibernate project currently is in a confusious state and getting ready to do a major jump... from 1.2 to 3.1/3.2. That would be fun.

Well, the reason for my but however is my recent discovery that NHibernate does not work under partial trust environments. And to my surprise, my new host has specifically has a partial trust environment. I do not want to go for virtual private server just for getting full trust environment.

Well, finding this out about 8 hours before I was supposed to make the site online I was sitting looking at my code thinking of various ways of resolving the situation.

Well, I read all the posting about this subject, tried a few of the workarounds unsuccessfully etc. To make things worse, I was also using Castle.ActiveRecord which meant that I will have to change and recompile and find out how to remove all references to full trust code etc. etc.

So, I decided to ditch NHibernate and ActiveRecord. Ofcourse I found several issues with my data access layer separation. Lesson here, even if it is a small project, make sure to follow every pattern...

The site is back up, I temporarily replaced all data access to plain old Datasets and Tableadpaters. Not having lots of fun though.

Time to search for a good ORM... again.

Thursday, September 21, 2006

I had to have another domain name

Well, Godaddy sure has a very good marketing department. So, today I registered http://www.sangeetsangam.com and directed it to the codeplex project page. Well, lets see how long this enthusiasm is going to last.

On the other hand, I am eagerly looking forward to a long week of vacation in a day!!! Going to drive on PA Rt6 to Erie. We havent figured out whether to go west from there or east. Can't go north.

Tuesday, September 19, 2006

Finally, I created a project in CodePlex

For the last few months, I have been working on an idea to create a set of tools that will help me manage my music related tasks. Well, it all started when web.com one fine morning decided to move all their servers to a new domain, changed the directory structure, database server names and pretty much everything else, and broke my Joomla installation for my band website. I did not want to write one more line of code in PHP, so I started working on a .NET version of the site.

Well, ofcurse, it has to be grandiose, right? Well, that is how I ended up with the idea of a Musicians Workbench. Yeah, I know, it is a bit cheesy. But wait till you hear its full name

Sangeet Sangam - A Musicians Workbench

While roaming through the CodePlex, GotDotnet jungle, I found one related project, looked at it and suddenly I realized that I have a project that is much more progressed than what they have. So, I created a project at CodePlex.

Here it is

http://www.codeplex.com/Wiki/View.aspx?ProjectName=sangeetsangam

Lets see how it goes. Well, atleast I dont have to run my on TSFS :-)

This is where I hope to write about my code adventures

I have been doing a lot of exploratory coding as part of getting acquainted with .NET framework and all the related emerging technologies.

In particular, I am interested in WPF, WF and smart clients.

I am working on a web framework that is more for a developer than a content manager. I hope that this will eventually get transformed into using the Web Client Software Factory. (see the project announcement at http://www.codeplex.com/Wiki/View.aspx?ProjectName=websf).

I am also working on a picuture gallery (code named Chaaya) and a musicians music library code named Sangeet Sangam. These are in various stages of completion. I hope to stsart publishing code at codeplex when something comes up.

Until then, this is where I blog