October 2005 - Posts
I still need to write about the event. For the meantime, here are some pics.

We are working on a fairly big integration project at the moment. In addition to some *nix backend systems we have this big boy to chat to: essentially 8Mb of RAM that can be accessed via RS232. Here's Francis dwarfed by the size of it:
The next SADeveloper meeting takes place tomorrow night:
When: 19th October 2005, 18:00 – 19:00
Venue: (NB!) Torque IT, Rivonia (Map)
Presenter: Michael Tocik
Topic: Crystal XI and .NET
Level: Intermediate
Objective: At October's Community meeting we'll be exploring the new features in Crystal Reports XI and working with reports in Windows Forms and ASP.NET. Since this is the week before Tech-ED it is also an opportunity to meet up with other people who are going, get into the spirit of things (pun intented) and also organise some car-pooling, etc!
Hope to see many of you there. Please RSVP here.
The Tech Ed 2005 sessions has recently gone live, and I see that there will be some really cool speakers out this year! Armand and myself have teamed up to introduce folks to LINQ in C# 3.0. The LINQ Project is a codename for a set of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. It extends C# and Visual Basic with native language syntax for queries and provides class libraries to take advantage of these capabilities. We will be presenting two sessions:
24th October (Monday) : 17:30 - 18:30
26th October (Wednesday): 09:15 - 10:15
The format of the session will be flexible and free, with interesting dialogue. Bring your questions and observations so we can discuss them!
Here's the latest summary of how it fits together. I must say I'm still not happy about the fact that I can't get it all in one...
There is a misconception that by declaring a variable as var, the variable becomes dynamically typed (similar to JavaScript variables). This is not the case in C#. When declaring a variable as var in C#, its type is inferred at compile-time by the type of expression used to innitialise it. In other words:
var myVar = 5;
var yourVar = “Your variable“;
Here myVar will be an int, while yourVar will be a string - for the rest of the duration of their lifetimes.
I am suffering from severe jet lag and just can't sleep. I thought that reading further on the C# 3.0 specs might cause me to fall asleep, but to the contrary! This is exciting stuff!!! In a similar fashion to instantiating instances with Object Initialisers it is now possible to instantiate an anonymous type. An anonymous type is a type without definition. That sounds pretty weird! Here's an example:
object lourens = new {
Name = “Lourens“,
Age = 23,
new {StreetName = “Rivonia Road“, StreetNumber = “12“},
PhoneNumbers = {“555-1234“, “333-7890“}
}
Take note that no types are specified! The variable lourens will point to a the memory location of an anonymous type with all the properties as specified in the initialiser. (In this example there will be two anonymous types instantiated).
This works at compile-time - the compiler generates an anonymous type definition per assembly for each sequence of member name/type pairs that exist in initialisers like our example. Woah!!!
Something I'm happy about: Office “12” will have native PDF support. This means that you'd be able to save any doc as .pdf, using Word, Excel, Visio, Powerpoint, Access, Publisher, OneNote or InfoPath!
Using the new dataview, you can drill down and inspect datastructures' run-time values at debug-time. It's quite annoying when you need to switch back and forth between your code and the dataview. To make the view transparent (allowing you to see your code!), hold down Ctrl.
Visual Studio 2005 will contain per-thread breakpoint functionality, which means you can specify on which thread a specific breakpoint must be hit. Useful!
Besides the ridiculous bank fees we pay in South Africa, I would like to add a few of the ridiculous things my bank, Standard Bank, has done for me in the last few months.
- They “opened an account for me“
Standard Bank opened a brand new cheque account for me which I never knew about, or asked for. I found out about it when someone at the bank asked me why I've never paid any of the bank charges on that account!
- They “sent me my new credit card“
I had a call from Standard Bank in which I was told that I could colllect my new Credit Card from their Rivonia branch “any time during next week”. This was cool, because the one I had was about to expire while being abroad. Two weeks after said phone call I went to collect the card, and found out that it was sent to Durban. To make a long story short, getting it back in Rivonia would take 4-5 days, and I was leaving for the USA before that. I needed the card immediately.
After spending an entire day at the bank, I was given a solution: my card would not expire on the expiry date. That way, I could use it abroad, and when I get back, exchange for the new card. I don't even need to explain what I felt like when I swiped it at my hotel and the clerk told me that it has expired.
I just got an sms informing me that my new card is waiting for me, but at this moment I'm not even sure if I want it. I am considering changing banks.
Need I say more? It was a great day!
