Thursday, December 01, 2005

Community Launch, and What I've been doing

Last night saw the Community Launch of Visual Studio 2005 and SQL Server 2005 come to Canberra. As expected it was a pretty big event, even when you take away the Microsoft, Readify and .NET Solutions guys, there were still heaps of people there.

If you want a list of people who attended, just check out Geoff's blog, as usual he has done an awesome roundup.

During the course of the night, I was asked by Darren what I've been playing with, to which I answered "Visual Studio 2005".. After all, isn't everybody.. However, on the way home, It dawned on my that I have actually been doing a lot more than that.

With Visual Studio 2005, several other community tools have been released (or are near release). These are some of the other things I have been playing with.

First, there is the new Composite UI Application Block, an awesome framework for building a Windows Forms based UI.

Secondly I have been playing with the tech previews for Enterprise Library 2.0. In particular, the data access components and Oracle's Oracle provider for .net. The problem with this is that Oracle have not actually released a version of their provider that supports the new changes in ADO.NET 2.0. As a result, I have had to create my own data provider that wraps around oracle own provider. It's been a fairly interesting process, and has given me a much better understanding of the changes from 1.1 to 2.0

Stay tuned for more information on all of these wonderful topics.

Thursday, September 29, 2005

Speculation

Eveybody knows that GotDotNet's workspaces were supposed to be Microsoft's attempt to provide a community based site for collaborative development. This failed for a number of reasons, including performance, reliability and usability.

Many projects that started out using gotdotnet, very quickly moved to source forge.

In a vain attempt to make the site more successful, the GotDotNet team created a Source control plugin for visual studio. While this worked, the underlying engine was still to slow and unreliable.

Now, today several MVPs have mentioned that the GotDotNet team has something new and exciting up their sleeves, yet are unable to spill the beans. This leaves me with only one option, and that is to take a guess at what is going on...

Simply put, my guess (and wish) is that GotDotNet's workspaces are going to be converted into a pretty web based front end for Team Systems...

This makes plenty of sense. Microsoft have spent huge amounts of money already creating a collaborative development environment in Team Systems, and maintaining another environment that has proven itself to be lacking would be stupid...

In addition, modifying the Team Systems plugin for Visual Studio to work with the new GotDotNet team systems would be trivial.

Something like this would blow sourceforge out of the water...

Wednesday, September 21, 2005

Tip #102 - DesignMode only works after a Component is sited

I could almost kick myself... the designer has been busted for months, and I never twigged to this.. I guess it was just easier to code my forms by hand...

The reason for this is simple, someone I used to work with decided all our controls needed to have consistent fonts and colours, without having to change the system settings (Gotta love UI standards). To achieve this, the customisation code as put inside control constructors. This broke all the designers.. I figured it would be an easy fix, just wrap all the customisation code in a check for DesignMode. After this fix didn't work, I just decided I didn't really need the designer anyway.

It turns out, the problem is that the DesignMode property on the Component class is simply a wrapper around the site.DesignMode property. Without the site set, it will always return false. Obviously, a control is not sited until AFTER it's been constructed...

Moving all of the code into the a different location, and suddenly we have the designer back.. yay...

Thursday, August 04, 2005

Keyboards need to change...

I've been using keyboards now for over 20 years, yet there is one key on the keyboard that I never use (Not deliberately anyway..). It's the key that other people always use, right before I get onto the computer. It's the key that can cause you to lock your account. It's the key that causes people to SHOUT in chatrooms..

That key is the "Caps Lock" key...

Seriously people..

How often do you use it?
I know occasionally I bump it.. Then I have to press it again to turn it off.

I know my daughter likes it, but she's only 6 and just loves the effects...

I think the world would surely be a happier place if only this horrid key was removed...

*Don't get me started on the Break/Scroll Lock.... (Yes I've used them, but not for a long time...)

Wednesday, July 27, 2005

Cost of Slashdot

While browsing over slashdot this morning, I stumbled across a new study claiming that Microsoft's monopoly costs an estimated $10 billion per year.

This got me thinking.. How much does slashdot cost the industry, world wide per year..

So, I decided to just run a few quick figures (most of which are well under real figures..)

3 Million pages served per day (from the FAQ), and assuming it takes an average of 10 minutes to read each of those pages (including the linked pages on other sites and comments). Straight off, that accounts for 3,000,000 pages * (10 minute * 365 days per year) / 60 Hours * $50 an hour (a very low rate)... This equates to $9.12 Billion in lost productivity...

In addition to this, add in a similar amount for TheRegister and you have more than made up for the same so called cost of of Microsoft's Monopoly...

*Yes, I am aware that this study is floored, as I used Win XP and MS Calc for doing the sums.
**Yes, I am also aware that this is not a real loss to industry, as most of the /. people don't actually have jobs...

Wednesday, July 20, 2005

Google Moon

With tomorrow being the anniversary of the first moon landing, Google have released a special tribute.

Google Moon

Have a play...

p.s. Make sure you zoom into each of the landing sites...

Monday, July 11, 2005

System.Windows.Forms.TreeView

How often have you been sitting at your computer, working away, when somebody walks up to you and asks you to fix a bug (not that their are ever bugs in your own work). The bug seems fairly trivial, yet it's in code that has been working fine for a long time.

This is exactly what happened to me, and it's only taken myself and another developer 3 days to track down. In the process, I actually found out that I have been "abusing" the treeview control for some time.

Here is a cut down sample of the code which demonstrates the behavior.







Sure, looks good doesn't it... First time the code is ran, it works a treat. Actually, this code has worked really well for several months. That is, until somebody changed a single property on the TreeView control. That's right, just one property... Scrollable = false;

This one small change resulted in the treenodes not displaying at all, but still allowed the nodes to be selected.

Anyway, I have since found a fix for this, which is to wrap the offending Clear and Add(s) with BeginUpdate() and EndUpdate(), problem fixed.

As it turns out, BeginUpdate() and EndUpdate() stop the treeview from redrawing every time the nodes are changed, which from a resources perspective is a good thing. It also fixed my problem (the one with the code, not the one in my head...)

Anyway, I thought I'd share this with you all, and hopefully it will save you a few hours/days of pulling out your hair..

Saturday, July 02, 2005

Searching for Yourself

Now, I have always been fairly careful when dealing with email addresses on the internet. I have both hotmail and gmail accounts which I use when signing up for anything where I am likely to end up with spam. Only when I trust people do I actually hand out my home or work accounts. This has served me well for a long time, until recently that is. Suddenly I started getting spam at my home account. Strange, because I have only given 5-6 people my home account, and all of these people can be trusted.

Now, Every so often, I find myself wondering how many people read my blog. I find the easiest way to check is just to do a search in google, and see how many hits I get. This has proven to be quite fun. Funnily enough, this has never shown up any links to my mail accounts other than hotmail or gmail.

After reading this article on SMH I decided to try MSN to see how it has come along. So I entered my name, as I always do with google "Eddie de Bear" (With the quotes) and hit search. You can imagine my horror when I discovered the first site returned was infact a list of contacts that someone had carelessly entered into a public sharepoint site. I have not linked to the list, as I think it's probably wise that the person responsible removes the WHOLE list, before anybody else gets upset...

It looks like I have not infact been as careful as I should have been.

Anyway, the person responsible has been emailed, and asked to remove my details, and possibly even secure the site, not that it's gonna make much difference, as the account listed has now been replaced...

Thursday, June 30, 2005

Got IE? I have

I was just over at Channel9 and noticed a post about the Get IE site. It's just like the Get Firefox site, only it's for IE.

And no, this site IS NOT a Microsoft Site, it's just some dudes who where a little bored...

I found it a little funny, so I figured i'd share it with you all...

Wednesday, May 18, 2005

Working Hard..

It's been a while since I posted to my blog, not because I have nothing to say, but because I have been busy working. For the last few months, I've been racking up around 60 Hours a week. This is on top of Football training twice a week, Football game once a week, and indoor cricket once a week.

In addition to this, I just purchased a house... So in the small amount of extra time I've had, I moved house.

Anyway, all of this got me thinking, how much time do other people spend working?? Do most people just do their 37.5 or 40 hours a week??

Let me know!!

Friday, April 01, 2005

Is Canberra not important enough?

I finally got around to reading this months MSDN flash (which looks great by the way frank) and noticed that there is another MSDN Update happening in April.

Time to sign up....

Hang on, where is Canberra???

Correct me if I'm wrong, but Canberra has a fairly large development community, based around delivering services to a heap of government departments. Some of these people even have input into technology procurements. Surely this is a market that has just as much importance as Perth and Adelaide??

Anyway, I just thought I'd let people know that I am a little disappointed by this.

Time to climb back into my shell and get some work done..

Wednesday, March 23, 2005

ZoomInfo

I was just over at New Scientist when I stumbled on an article about a new web crawler, which has been developed by a Recruiting company. Basically, you can enter your name into the search box, and a few seconds later you have a resume, created from information available on the internet.

I have to say I was somewhat sceptical, how could they create a resume for me?? Anyway, I went over and gave it a try, and my results where as expected.
"No Web Summaries were found for Eddie de Bear".

Anyway, I was not going to let that stop me from givin git a good test, so I entered a few names of high profile people and was very suprised about the results.

For those of you like me, there is actually a link that allows you to build your own online resume, the only problem is they need your credit card details....... For verification only.... I guess I'm just going to have to try to get my name all over the web instead..

ZoomInfo

I was just over at New Scientist when I stumbled on an article about a new web crawler, which has been developed by a Recruiting company. Basically, you can enter your name into the search box, and a few seconds later you have a resume, created from information available on the internet.

I have to say I was somewhat sceptical, how could they create a resume for me?? Anyway, I went over and gave it a try, and my results where as expected.
"No Web Summaries were found for Eddie de Bear".

Anyway, I was not going to let that stop me from givin git a good test, so I entered a few names of high profile people and was very suprised about the results.

For those of you like me, there is actually a link that allows you to build your own online resume, the only problem is they need your credit card details....... For verification only.... I guess I'm just going to have to try to get my name all over the web instead..

Tuesday, March 15, 2005

GMail and my PDA2K

As I have written about before I have an iMate PDA2k (same as the XDAII) that runs over EVDO/CDMA. One of the many reasons I got this was so I could check my GMail account from work (It's not allowed due to policy...).

Anyway, I was somewhat disappointed when I first tried, and I got redirected to a screen telling me that my browser was not supported. That was a little over a month ago.

Anyway, I figured I'd check to see if gmail now supported more browsers... Guess what... It does... Now I can check my GMail from anywhere.

Oh, Yes, I am aware that I could use POP3 to access gmail all along, but that does not give me the same functionality for searching etc.

Thursday, March 10, 2005

It's a simple 203 step process

A new article just popped up on MSDN. It's titled "Installing the December CTP Release of Visual Studio Team System". Basically, the article runs the reader through the process of installing the December CTP onto a single server. This involves using virtual pc to host each of the tiers in team systems.

Anyway, after having a quick scan through the 26 printed pages (it's much easier to just print it), I very quickly realised that the install process still needs a fair bit of work (I'm assuming the final release will be much easier to setup).

203 Steps is all it takes. This figure only includes the main steps. At the bottom, some of the steps have been divided into sub tasks. This would blow the number out even further..

I think I'm going to wait until beta 2 comes out before trying this on work time..

Wednesday, March 02, 2005

Optional Parameters

Over at Code Project there is a new poll about peoples opinions of Optional Parameters. I for one have always tried to avoid them at all costs, due more to a bad feeling than any good reason. Anyway, some of the arguments over there got me thinking:

Why don't I like optional parameters

After a sleepless night of debate with myself, I've come to the conclusion that I still don't like them.

The reason is simple. Method Overloading, or passing an object (the properties represent the parameters) can be just as effective as using optional parameters. I feel that this feature is really something that is not needed, and possibly has the ability to create less understandable code.

Less understandable... yes, by this i mean a situation where a method changes it's behaviour based on an optional parameter. This is a situation where a required enumeration specifying the exact operation to perform would be much better, and the code would be much easier to understand. An example is below:


Sub Main()
Round(1.23, False)
Round(1.45)
End Sub

Function Round(ByVal value As Double, Optional ByVal down As Boolean = True) As Integer
'... perform rounding
End Function
As opposed to this:

Public Enum RoundingOperation
Up
Down
End Enum

Sub Main()
Round(1.23, RoundingOperation.Down)
Round(1.23, RoundingOperation.Up)
End Sub

Function Round(ByVal value As Double, ByVal operation As RoundingOperation) As Integer
'... perform rounding
End Function
Sure it's more typing, but the code as far as I'm concerned is much more self documenting. Let me know your thoughts...

Monday, February 28, 2005

The simple task of washing clothes...

I had a bit of an exciting thing happen on the weekend. Something that has left me marveling at the wonders of technology.

It all started when my lovely wife asked me to put on a load of washing. This is something that I have done many, many times before. Just like many of those times, I forgot to do something that really drives my wife crazy, I forgot to clean out the pockets of my work clothes..

I'm sure you are now wondering why I am telling you this. The answer is quite simple..I LEFT MY USB THUMB DRIVE IN MY PANTS. Not only that, I didn't actually notice until I pulled my pants out of the clothes dryer.

The end result of all this actually surprised me. After a complete wash cycle and 2 and a half hours in the clothes dryer, it still works.

Wednesday, February 16, 2005

IE7 for WinXP

Wow... I was just surfing over at channel9 when I stumbled across an announcement about IE7. Looks like we are getting the long awaited update for IE before longhorn is released.

I wonder what new features we will be getting? Is this limited to security updates and bug fixes, or are we likely to get new features that will revelutionise the way we browse

Tuesday, February 15, 2005

Partnering with Customers

Development is a costly game. Something that allot of small businesses cannot easily afford. Yet these same small businesses are usually the ones that can benefit most from a system that reduces running costs. What is the solution for this?

Something that I am starting to offer some of my smaller clients. Reduced development costs, for a share in the profits. A partnership if you like.

This on the surface seems to have a few extra advantages.
First of all, if a project really hits the mark, the potential return is greater than the lost income of the initial development. This is good, gut it is also a risk. A risk of lost income if the system fails.

However there is another advantage to an arrangement like this. Clients (business partners) end up being allot more trusting. They tend to allow the developers to make more technical decisions, simply because they also have a stake in the risk.

Is this something that is becoming common in the industry?
Is this a way for an independent software developer to secure a more stable income?

Hit me on the comments, Let me know your thoughts

Thursday, February 10, 2005

Security Summit

It's 9:20pm, and I just got back home after a day at the security summit. What a day.

During the day, I managed to catch up with Geoff Appleby and a few other familiar faces. The sessions where awsome, Prashant (I hope that's the correct spelling) doing his Team Systems presentations, Andrew Coates (Click Once Deployment) and Greg Low (Sql Server).

After soaking up all the geeky information I could handle for the day, it was off to King O'Malleys for a few quiet drinks. What a turnout. Darren, Mitch, Geoff, Andrew, Greg and a few other all turned up, and much geek talk happened....

Anyway, It's time for some sleep now, because tomorrow it's back to real work...

Tuesday, February 08, 2005

I can see my house from here

A friend of mine sent me this link. Anyway, I found my house, I can see my boat, trampoline and yellow wheelie bin...

Friday, February 04, 2005

There is a god!

Well, maybe not. But at last there is this.

For those who don't want to follow the link, the guys over in Redmond have finally solved "The Designer ate my controls" problem. They are going to be releasing a patch for VS.NET 2003, and will also fix the problem in VS 2005 (Whidbey).

This has got to be one of the most annoying bugs of all time.

Thursday, February 03, 2005

OMG

I was just reading a blog entry from Geoff Appleby which
contained a link to the new/changed language features in VB.NET. Now as a C#
man, I have kept fairly up to date with all the new features for C#, but I
thought why not see what is coming for VB.NET.


Anyway, while looking at some of the changes, I stumbled across this, which
basically allows a developer to explicitly define the lower bounds of an array
as 0.


Below is an example:

Public Sub declarelowerbounds()

Dim monthtotal(0 To 11) As Double
Dim cell(0 To 39, 0 To 19) As Integer
MsgBox("Total number of elements:" _
& vbCrLf & "monthtotal (0 To 11) length " & CStr(monthtotal.Length) _
& vbCrLf & "cell (0 To 39, 0 To 19) length " & CStr(cell.Length))
End Sub

Underneath this example was a little note:


"The lower bound must always be 0, but your code can be more readable
when you explicitly declare it. Specifying both bounds also reminds the reader
that the lower bound is 0."


After picking myself up off the ground, I actually read the whole article,
and it does actually state that this feature is to improve code readability.


I can only imagine that this has been added to VB.Net in order to appease the
masses, I just wonder how long until people start to complain about not being
able to specify a non-zero lower bound..


Disclaimer: Although most of my development is done in C#,
I still do have a few side projects that use VB.Net.

Killing a Process

I was surfing over at channel 9 when I stumbled across an entry where someone was requesting a new method for killing processes. This is what they are suggesting.

I for one would love something like this.. Not as the main tool for controlling processes and the like, but it would be nice :)

Monday, January 24, 2005

Evil... I thought I was just misunderstood..

After seeing how evil (or not) Darren, Mitch and Geoff, I figured I had to set things straight..
I got 57% evil.. That explains some things.. I guess I need to work a little harder :)

Friday, January 07, 2005

Yay for me

Just before Christmas I got a pleasant surprise. One of the local Telstra shops managed to get their hands on a iMate PDA2K EVDO. I very quickly snapped it up.

This lovely device runs over the CDMA network, which meant dropping my existing GSM plan, and taking the plunge. I ended up taking a data only plan.

Now all I need to do is test how well skype will run. Hopefully I can ditch making voice calls all together and use skype with skypeout make traditional landline calls.. Here is hoping it will all work out.