July 2005 - Posts

more trees

 

This year I've decided to plant a little earlier than last year.  The weather is mild, a little windy, it feels much like an early spring.  I was very happy with the milk carton tree guards last year, they worked very well, so I got more of them for this year's lot.

Not planting as many this time round, only 100 or so.  I've also got about another 50 of the local peppermint (Eucalyptus radiata) that I'm growing. Pricked them out from a sand bed a couple of weeks ago or so.  They're only at the four to six leave stage, so they'll be a while yet.  Anyway,  just picked up the other 100 seedlings today. This years plantings will be:

Acacia pycnantha 5
Acacia vestita 5
Acacia floribunda 5
Acacia iteaphylla 5
Acacia howittii 5
Acacia retinodes 5
Banksia marginata 5
Eucalyptus alpina 5
Eucalyptus nicholii 5
Eucalyptus pauciflora 5
Eucalyptus leucoxylon 5
Eucalyptus radiata 10
Eucalyptus obliqua 10
Eucalyptus viminalis 10
Melaleuca laterita 5
Melaleuca diosmifolia 5
Melaleuca hypericifolia 5

 

Posted by bill | with no comments
Filed under:

Escape yester-world

 

http://www.escapeyesterworld.com/

 

too funny smile

 

 

Posted by bill | 1 comment(s)
Filed under:

Congrats Geoff !

 

Congrats to Geoff on a lovely new born.. Samantha :)

 

Of course being the ubber geek Geoff is, he let us all know in the Ausdotnet mailing list last night along with his win a T-Shirt submission:

 

So I just got to ask.. Is Samantha is going to TechEd ?  Will Geoff start her coding ?  If he does, I imagine he will start her off in C# at least until her vocabulary skills develop.  After all C# is really well suited for infant programmers, it even comes with wizards to add methods to classes.  She could put on an Elvis jumpsuit and dance to the wiggles, while saying what a 1337 Hack3r she is... Oh sooo cute ;)

Then as she matures and understands words, and gains the ability to understand concepts like abstraction, "object orientated", then clearly, it would be time to move her onto VB. 

But although C# is clearly the language for the script kiddies out there, would it possibly stunt her development ? Hmmm... it might .  Oh such weighty decisions Geoff has to make ;)

 

 

Posted by bill | 2 comment(s)

A funny thing happened on the way to a quote..

 

I am looking at buying a new laptop/tablet in the next month or so, and decided to start shopping around a little.  At one particular site, I filled in my information expecting to get a written quote, when --BANG-- I caused a page error.  The problem is, my address has a ' in it.  The result was an attempted SQL code injection... unbelievable.  and what's worse, was the site had errors turned on so I got all the juicy information displayed to me.  Bloody pathetic.  This should NEVER happen !! Of course, the site was written in C#... probably just another homeless wannabe Elvis... Seriously, those kids just shouldn't play with "sharp" toys.

I did however talk to the "shop" owner on the phone this morning, and explained to him that his database was wide open.  Hopefully whoever did their C# coding won't have to search the web to learn how to use parameters, but somehow I doubt it.  It just amazes me how much crappy C# code I keep seeing lately.  It's like these people don't understand windows 101 programming or database 101 programming etc, etc, etc.  That's not to say there isn't good C# programmers out there, of course there is, but given the rapid growth of C# from nothing, it's pretty obvious you are going to get a lot of people with "zero" backgrounds all wanting to be Elvis.. damn fashion languages, businesses can't afford that crap.

 

Oh, and did the "shop" get the order from me... Uhm, no way ...  if they can't secure my data they won't be getting my trade.

 

Posted by bill | 4 comment(s)
Filed under:

So what is in Paul's talk ?

 

The now famous (or should that be notorious ? ;) ) Paul Vick will be presenting on the future of VB.NET at the PDC.   At present his abstract is a little vague, only mentioning:

  language features that will improve developer productivity, including new features that enable optimized queries over objects, XML, and databases in a consistent way.

So will VB.NET have things like "extension methods, lambda expressions, type inference, and anonymous types" that C# is getting ? 

The answer, of course, is yes.  In Orcas, (that's the next version of Visual Studio .NET 2005), the next big push for all the languages is bringing the world of general purpose programming and the world of data closer together.  This push is being led internally at Microsoft by the Visual Data team , a team that comes under the same umbrella as the Visual Basic .NET team.  The C# team is outside this "umbrella", but the guys are working with the C# team too, as part of the happy Visual Studio family at Microsoft.

Does this mean that VB will have an unfair advantage of C# ?

Well d'uh, of course, it always has, just now the feature set will become more obvious.  Rumour has it , Visual Basic will have more in this realm.  It's understandable, though because Vb has been carefully architected in this direction for a long time now.  Microsoft's brushings with C based languages hasn't as such.  For example, dynamic programming, as has always been a part of VB, makes a lot of this realm of dynamic queries and type inference happen more smoothly.  

An example today in 2005, where VB.NET allows for events to be handled within the class that defines the event, this feature has been used by the Visual Data team in the new data source tools, allowing strong typing without the need for inheritance.  That's just a simple example of Vb's advanced features in this realm working nicer with the stuff the Visual Data team provides.  And yes viewers, stayed tuned for even more in that space :D

But if you are a C# user, don't feel totally left out.  C# will have "some" of the features.  And let's not forget that in C# you can still write unsafe code (although you'd be better of writing MC++;) ) 

So maybe that's what Paul meant when he said "developer productivity".. hmmm... focusing on the things that matter  ;)

PDC... Bring the good news on !!!

Posted by bill | 5 comment(s)
Filed under: , ,

no more head ;)

my blog title use to be < Head >, which I kind of thought appropiate.  Unfortunately though, when I post a blog entry that links back to another person's blog, and that person is running Community Server, well it seems their link back gets a little confused ;)  So, I'm now a blog without a name.........

 

Update:  I decided to keep the name, but dropped the < >'s.  So now it's @ Head

Posted by bill | with no comments
Filed under:

Overloads with different return types

Brad Abrams picked up on Geoff Appleby's blog entry about Overloads with different return types.  Personally, I think they are both wrong

Let's consider these overloads:

(1) Public function Add(ByVal x as int32, ByVal y as Int32) As Int32

(2) Public function Add(ByVal x as double, ByVal y as double) As double

and

(3) Public function Add(Of T)(ByVal x as T, ByVal y as T) As T

 

Now if you aren't convinced by (1) and (2) having different return types, then a(3) should hopefully tip the scales for you.

 

Overloads should, IMO, return different types where appropiate.  It however should not be used willy nilly

 

Personally, I think much of this discussion stems from people not using Optional parameters (and some lame languages not having full support for them).  The  usage of Overloads is often to mimic (albeit poorly) optional parameters, and really it should not be abused like that. Instead Optional parameters should be used in those cases as not only does code become easier to maintain, but the "missing" parameters also become more obvious to the caller, and the intellisense list they have to look at becomes a lot simpler.  Overloads on the other hand should be held in reserve for such times as different sets of parameters are required (as shown above).  Taking Brad's example,

(a) Public Function MyFunc(someParam as String) as MyCustomClass

(b) Public Function MyFunc(someDifferentParam as Type, someParam as String) as MyCustomClass

 

first, (b) should really be written the other way round,

(b) Public Function MyFunc(someParam as String,  someDifferentParam as Type ) as MyCustomClass

 

next, (a) and (b) should be merged, especially if the current code in (a) just returns a call to (b)

 

(c)  Public Function MyFunc(someParam as String,  Optional someDifferentParam as Type =Nothing) as MyCustomClass

 

the beauty of (c) replacing (a) and (b) 

 

Posted by bill | 2 comment(s)
Filed under: ,