Hilton Giesenow's Jumbled Mind

Thursday, November 25, 2004

Winforms App to put images into Sharepoint Image Library

I'm just finishing a rough little winforms app that can be http-deployed. My first smart client app :-). If anyone is interested in it I might put some details together. It lets you open local images, resize them to standard sizes (640x480, 800x600, etc.) and set the quality. It also gives a final file size indication. Finally, it can (well, still working on this part but it's going well) upload the images to a Sharepoint image list.

MSN Web Messenger 1

MSN Web Messenger is now available in version 1. I'm finally back on messenger! You can get it at http://webmessenger.msn.com and it is not as feature-rich as the windows app but it does the basics well.

You can contact me online hiltatwork[AT]giesenow[DOT]com

Tuesday, November 23, 2004

Edit and Continue vs Refactoring

I had another wierd thought today (I tend to get these every now and then - see here). I was reading Paul Vick's blog (he's a member of the VB.Net team) and this entry is talking about how VB.Net is not going to get refactoring in Whidbey but both VB.Net and C# will get Edit and Continue (EnC).

First of all, let me explain that I am really upset about this. When I saw the refactoring abilities in whidbey I was seriously impressed. When I discovered they were not to appear in vb.net is was shocked to an equal degree. By and large the vb.net team has done absolutely brilliant work but I definitely agree with refactoring over EnC.

My wierd thought, without further ado, is this: EnC is for fixing your own code, Refactoring is for fixing someone else's ;-).

What I mean is that it is mostly when you are debugging and stepping through your own code that you need EnC but when you are reviewing other people's code to QA, etc. you want to refactor it. If you do it right the first time you should'nt need EnC. If the previous programmer... 'nuf said.

Seriously though, while I probably won't switch, this would be my first real impetus to move to C#. A major argument for VB is its RAD abilities. Refactoring is in some ways a big part of RAM (rapid application maintenace - did I just coin a term?) - the work we all really love! Any way to cut this down suits me perfectly.

Obviously these are generalised views but they explain why I feel so strongly about this.

Friday, November 19, 2004

More blog-marketing info

Colin Coller from CopySourceAsHTML posted a response to my post with some great info and tips. Man, this guy is really impressing me. Once again, keep up the great work. He's also looking for feedback on how to organise your code which I will need to do next week, so I'll definitely send him some info.

Thursday, November 18, 2004

MSDN Events today

Today I had the day off to attend to MSDN events. The first one was on advanced ASP.NET tips and tricks. It was given by Peter Willmot, who I had not heard before. He is a great speaker though and really brought some of the points home. I have some arguments about some of his points though but will discuss these in a later post. Also, I won a t-shirt, which is always good. Yay for schwag!

The second session was on SQL Reporting Services by Ryan Jamieson from ispartners. We used RS in a recent project and I assisted with some classes, deployment, .configs, etc. but did not touch RS itself so it was nice to see the process in action. It was a bit of a slower session though. He definitely needed a code monkey ;-). However, in this session I won the C# Developer's Cookbook from Microsoft Press which looks great. I'm a VB.NET guy, and the funny thing is I took it up with Kaylash from Microsoft that there were no VB.NET books about 20 minutes before during the break. The book looks great though and I thought it might be a nice idea to study in one language and work in another so that I get more exposure to both.

I've been a bit slack with posting lately. Things have been absolutely crazy at work. Off to a long weekend though, hopefully to recover. I've got a new project starting on Monday that involves some complex Sharepointing and I've hardly even interacted with it, let along try to bend the object model to my will. Looks mad. I might get to finally build some smart client stuff for it which will be great. Any Sharepoint experts who can offer support??

Friday, November 12, 2004

CopySourceAsHTML - New Version

Below is a paste from the new version. It has a bunch of new features, one of which is the ability to sort out line breaks in Blogger. When I pasted previously into Blogger it added BR tags into the code in place of actual line breaks. I mailed Colin about this and he responded within minutes with instructions on how to get around it - once more, great work!

    6     Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    7         ' This is a comment

    8         Dim strResponse As String = "Hello World"


   10         Response.Write("Hello World")

   11     End Sub

Some superb blog-related marketing

A short while ago I posted about CopySourceAsHTML, a really nifty little VS.Net plugin that lets you highlight some code in the ide, right click and then copy everything (colours, indenting, etc.) as pre-formatted html code.

I mentioned on my post that I had got hold of it and was trying it out but that I was having a bit of trouble with it. This morning, having had no direct contact with the him, I got an email from Colin Coller, its creator, who let me know that a new version was out with some fixes and improvements. He had obviously been Googling for the program, found my posting, and decided to let me know.

Personally, I was really impressed by this little marketing excersise. Scoble had a post yesterday about a startup company getting and responding to client feedback instantly on his blog. In fact, he has spoken a few times about the customer-feedback possibilities available through blogging and I think this was another great example.

Colin, as I said in my email, keep up the great work both on the product and the service front!

Monday, November 08, 2004

ASP.NET Testing from Scott Guthrie

I finally got around to reading Scott Guthrie's posting about Testing ASP.NET 2.0 and Visual Web Developer. They have, according to the post, about 105,000 test cases and 505,000 test scenarios as well as 1200 servers that they test on. Wow!

In my opinion (which is admittedly very limited in this field) it is just another strong argument against open source. I'm probably setting myself up for some serious flaming, but I can't see that any open source product goes through so rigorous a process before release.

Thursday, November 04, 2004

Combined Dance Show

My girlfriend is a professional Spanish dancer and she took part in a combined show tonight together with the Jazzart company and a whole bunch of others. It was hectic. I'm not really a big dance fan and so I only really see Spanish dance (for obvious reasons :->) so it was really interesting to see modern, tap, African, Spanish, Indian and a few others all in the same show and with a couple in the same piece even.

One of the most amazing pieces, though, was definitely one from a company that apparently has a number of physically disabled dancers. The male dancer was wheelchair-bound! This was something I had never even conceptialized. I always enjoy experiencing these kind of things for two reasons. First of all, corny as it sounds, it really helps me to remember to be thankfully for what I have and secondly it is amazing to see people not let anything stand in their way, especially where most people would simply ive up.

Funerals for retired programs

Slashdot has a link about holding funerals for old, retired programs and they comment that this is "TOO geeky".

In some ways I obviously agree, but in others I can understand the notion. Things have changed today where the turaround time of even a large project can be within 1 year for a small team. However, it was not that long ago that a similar system would require years of work for a much larger team.

In certain parts of the industry this still holds true. I got hold of the Finding Nemo DVD for my nieces and I watched some of the extra clips. The film took 3 years to complete and they had an interview with one of the developers on the project who is clearly in his early thirties. He was asked, now that the movie is complete, what it felt like having spent a tenth of his life working on this project now that it is over!

I really feel that, even if you are / were not particularly passionate about a specific project, the fact that you put so much energy into it has to make it part of your life. How much more so is this true for those who were particularly tied to it, like the architects and leads? Think about another aspect: The rollout of the system and the first time it goes live. This is definitely a little bit like the birth of child. It follows then that the "termination" of the same system in some ways does feel like the death of a small part of you.

Anyway, that was my ramble for the day. Thanks for reading this far down :-).

Elections & the Blogger site

Wow, the blogger.com site was absolutely hammered last night after the elections. I tried for a while to get in with absolutely no success. Lol.

Wednesday, November 03, 2004

6:38 and all is quiet

I generally try and do some serious blog / rss reading around 6:00 p.m. (at least that's my round 2 for the day) and I must say I've noticed things are a bit quite today. I'm wondering if BushVsKerry 1.0 has anything to do with it?

Scoble has a posting on how election comments in blogs apparently affected the stock market but I disagree. My comment to the posting:
I am hardly an expert on the markets but I would have definitely have anticipated uneasiness just because it was definitely going to be a close vote. Much as I am a blog fan (read: ADDICT) I need to question their data and analysis.

UPDATE: Robert agrees:

Blogs are just the tip of the iceberg. They can show you underlying trends, but they won't give you an always accurate view of what lies underneath.

Bush vs Kerry - an SOA Analysis

Rockford Lhotka has a comparison of SOA vs election voting.

Monday, November 01, 2004

ViewState vs Session State vs...

I was contributing to a discussion on sadeveloper.net a little while ago on storing information in viewstate versus session state. A user was asking about whether or not he should try and persist information between pages by using shared / static members within his page class.

First of all, as often occurs when one is stuck with an ASP.NET (or basically any server-side scripting model), the difficulty is in separating the paradigm between the stateful windows client and the disconnected, stateless web environment. As Carl Franklin regularly says - "by the time you see the page it is already forgotten about on the server". Yes, a shared / static member would persist the information between postbacks, but it would also store the same value for every user's visit to the page! What the person really wanted was to store the information just for that user on that page.

Now, another option in ASP classic days was to consider storing the data in a Session variable and to use some kind of key to specify that it was only for a specific page (e.g. "Index.asp:TransactionID"). This would work but the management is unneccesarily complex. If the user moves to another page the developer would either need to iterate through and clean every unneccesary session item or have memory bloat.

In ASP.NET we have another solution: Viewstate. For those very new to ASP.NET, viewstate is (at a simple level) the object / architecture that enables webcontrols to persist their value between postbacks. But, it offers quite a bit more. The Viewstate object is entirely accessible on the server and it works in a similar fashion to the Session object. It also operates as a Name-Value collection and it can also store any (serializable) object. The difference is that it is not stored on the server but rather streamed down to the client into a hidden form variable together with the various webcontrol properties (into that wierd long __VIEWSTATE field). As a result, it uses up more bandwidth but less memory. However, it exists within the page itself. If the user closes the window the Viewstate information is lost completely. This means that it does not hog server memory. Also, because it is independent of session, the user can leave a window open for a few hours (i.e. way past session timeout), post the form, and still receive the correct response!

Viewstate has some definitely benefits and disadvantages when compared to session variables and its use needs to be analysed carefully to suit the situation. Nonetheless, if used effectively, it can be another powerful tool in the asp.net developer's toolbox. One needs to be very careful of the total size of the page's viewstate, but the same is true for session information. In short - beware it exists and that it can be used for good but treat with thoughtfulness and understanding.

A visit from Vic Gundotra

On Friday we were really privelaged to have Vic Gundotra, General Manager of the .NET Platform Strategy & Partner Group (see here for more) come and talk to us here in Cape Town. I missed the TechEd Webcast because we were busy with a major deployment so it was great to see him in person and hear what he had to say. He discussed some great topics and gave us an interesting view of the future of software development. He also fielded some pretty heavy questions around a wide variety of topics including open source, piracy, directx, whidbey, indigo, wse2 and some other great stuff.

An interesting coincidence is that I was exactly up to the show with Vic, Steve Cellini and Lenn Pryor and the Channel 9 guys earlier last week so I still got two doses of him during the week.