Tuesday, March 29, 2005

Disgruntled of London

Just been reading the new pricing structure for Visual Studio. OKay. That's not strictly true. I read about it a few days ago, just didn't have a chance to write anything about it.

I'm a bit upset at how the new pricing's worked out. I currently use Visual Basic 2003 Standard Edition. It's got most (as far as I can gather) of the functionality of Visual Studio, with just a couple of things chopped out, like native support for Library projects, support for SQL Server (Only talks in the designer to MSDE) and a few other things that are all easily workable.

The reason I started using VBSE was that, although it's a little limited, it did, at the every least, give me a very VS-like experience - having used VS Pro it gave me few or no surprises.

Unfortunately, if I want to do that this time round, I have to fork out $300 (Not sure what it'll be in GBP) for the same thing. Yes, I know it's not the same thing. It's got more functionality than VBSE (Compact Framework support, native Library support etc.) but still...

The only way (as far as I can tell) to get a similar (although not complete) level of functionality is to get both the VS-Express editions (VB and Web) and work with them. Sadly, from what I can gather, it's just not the same.

Grrr. As long as VS 2006 doesn't come out at the beginning of 2006, I daresay I'll end up buying VS 2005 Standard Edition anyway. guess I'm just a sucker...

Keeping up with the pace...

I've noticed a few strange things since I started my new job a few weeks ago. One of those things is the strange effect of learning a fairly new technology without having used the old one.

The application I'm maintaining is written in ASP 3.0. Which is fine. I can hack through it and work out what's going on fairly easily. It's just not something I've really used before. And my is this application big! I don't know if it's big in the wider schme of things, I doubt it very much, but it's way bigger than anything I've really played with before.

I can talk fairly knowledgably about a whole host of .NET stuff, and I can talk my way through OOP, SQL and a few other things fairly comfortably. The only thing is, I've only ever written anything with maybe 2 or 3 webforms, and perhaps (if I'm feeling adventurous) a couple of UserControls. I've never really dealt with anything this big.

Not that it's a problem. I know that at the end of the day, any app is just a whole series of smaller parts. One it's broken down into smaller parts, everything's easy. Getting to that stage is a bit daunting, though.

That aside, it also uses a whole load of JavaScript, which is something I thought (rather naively and hopefully, I might add) i could get away with not knowing too much about.

How wrong I was.

Oh well. Looks like I'll be reading and reading some more over the next few weeks. And writing and writing some more.

Apologies for pointlessness.

Sunday, March 20, 2005

Party Time!

We've celebrated a couple of birthdays over the past couple of weeks. 2 of my friends, Clare and Mark turned 30.

Mark's birthday was really good fun, went out for a meal and a couple of drinks and stuff. All good.

Clare had herself a house party last night. Which was also really cool. There's nothing lifts the spirits like an undead themed party.

The pictures of the 2 evenings are here.

Thursday, March 17, 2005

Scuppered by the parser...

I had an idea yesterday. I was going to write a simple databound ASP control.

The plan was to have a generic bound control, with a database connection, table name, field name and control type specified. The control, on databinding, would create a new database connection, read the values in and put them into the control of your choice (to start with it was just a choice of DropDownList or ListBox).

My thinking behind it was to make something very quick and dirty to drop onto a page, but keep the page design fairly clean. Assuming there was already a database connection being used somewhere on the page already (as there is bound to be), it would look something like this:

<MyControls:BoundControl runat="server" ID="BoundControl1" Connection="NorthwindConnection" Table="Categories" Field="CategoryName" />

Neat, I thought. It's slightly easier to use that a normal ASP:DropDownList, and still fairly efficient since it makes use of the existing connection that the page has created.

Put it together, and it compiles nicely. Drop it on a page and it looks fine. Feed it the properties it needs. Visual Studio even gives you a nice dropdown in the properties grid of all the database connections already on the page in the designer. All hunky dory, I thought.

Hit F5, compiles nicely (as I would expect, this is my code after all (fnar fnar!!))

But no. I'm just about to sit smugly back and have a post codal cigarette, when:

Unable to generate code for a value of type 'System.Data.SqlClient.SqlConnection'. This error occurred while trying to generate the property value for Connection.

It turns out that the parser can't give that property to that object. If, however, you set that property at runtime, then you're fine.

Ideally I was looking to have everything do-able in the designer (designtime support was the next thing on my list of things to look at) but if I can't set the connection at design time, then it doesn't work so good. You end up with some properties being set-able in the designer, and some only available in the codebehind, and I can't say I'm too much of a fan of doing that.

Failing that, I'm left with 2 options:

  1. Make the connection string a property of the control, and have the control itself create a database connection (not ideal - imagine if you had a form with 15 fields, and each of those fields was trying to create and open a new database connection)

  2. Pass some other sort of data-object into the control. A Dataset for instance.
As you can see, neither of those choices really works. One sucks up unnecessary resources, while the other one doesn't save me any work at all. If I'm going to be creating page-level datasets and stuff like that, then I might as well just use the built-in ListBox and DropDownList controls.

And all because the page parser was "Unable to generate code for a value of type 'System.Data.SqlClient.SqlConnection'".

I'm going to have to find something else to do with the next couple of evenings, now.

Maybe I'll speak to some real people. I've been told that's what normal people do...

Apologies for pointless rambling.

It's the little things...

So I started my new job on Monday, and I must say I'm having a really good week. I've done some code stuff, done some data stuff. It's all been good.

Except for one thing.

Vending Machine Coffee.

I say again:

Vending Machine Coffee.

There are very few things on this earth that are more disappointing than hitting the button for filter coffee and getting out the stalest nastiest oldest cup of coffee in the world. I can deal with artificial whitener. I can deal with the plastic cup that burns your fingers on the way back to your desk. I can even deal with the fact that it's only a small cup, rather than the gargagntuan 'special' mug I'm used to at home (I think it was sold originally as a novelty item, rather than a usable mug). But the thing that really grates, the one thing that takes a little bit of joy out of my day is a cup of really bad, old, stale coffee.

The cruel irony of it, though, is that I drink more coffee during the day here than I used to in my old job. At the risk of lowering the tone, I now spend about an hour and a half on the tube commuting, rather than the hour I'm used to, so I can only have one cup before I leave the house, otherwise I'll rupture somethnig.

Oh well. The rest of the day way makes up for the occasional bad coffee.

Apologies for irrelevance. I'm sure I said I was going to blog some code stuff. I will eventually...

Monday, March 14, 2005

Close, but no Cigar.

There's a war on.

It's a quiet war. An underground war. Most mortals don't even know about it. It doesn't expose itself to the outside world.

But it's there. There are casualties. There are skirmishes, but mostly the war just rages and wears on. Out of site. Almost out of mind.

It's the battle of the barnets.

Carl put forward a contender the on DotNetRocks. He reckons that Paul Sheriff's hair is almost as good, if not better that Geoff's.

I am, as some people may have noticed, a big fan of Geoff's hair. I think it rocks.

I think Paul Sheriff, although he does have a fine fine head of hair, and equally fine beard, doesn't quite cut the mustard. Only because while Geoff's hair has that air on nonchalant elegance about it, Paul's looks a bit more finely tuned.

It's like this:

Joanna Lumley can be sat in her slippers and dressing gown, watching daytime TV and reading the paper and still look beautiful. She just has that air of elegance and charm that transcends what she's actually doing. She doesn't have to be doing anything in particular, she just always exudes the same air of elegance.

Like Geoff's hair.

Catherine Zeta Jones is equally foxy. She turns up to events and everything looking absolutely stunning, wherever she goes. She is absolutely jaw-droppingly attractive. However, you just know that behind every swoop of her dress, every flick of her hair lies a trail of broken people. Thousands of textile engineers, makeup artists, masseurs are now sitting somewhere having the stiffest and most well-earned drink of their lives. She looks gorgeous, but at you're always aware that there was a shedload of technical expertise went into it.

Like Paul's hair.

Don't get me wrong. It's a fine head of hair, and the hair/beard combo is among the best I've seen, but sorry. Geoff has the edge.

Go Geoff's hair!!

Apologies for creepiness.

Pleasant Insanity

I like gently insane things. Not dangerously insane, but just quietly insane.

It's no surprise, then, that I like this collection of Amazon reviews from hmm, of Seattle.

Just wanted to share. Off to new job now...

Wednesday, March 09, 2005

The end of an Era

That's it. I no longer work for a charity. My last day at John Grooms was yesterday, and I've got the rest of the week to do with what I wish.

Went out last night for leaving drinks - which was very nice. Had a few beers and a couple of Tequilas and all that. All in all a good sendoff, I reckon.

Just need to teach myself how to do all the things I told my new employer I could do in my interview now!

Oh well. Expect more ASP.NET things over the next few days.

Apologies for wishy-washiness.

Thursday, March 03, 2005

Woo and Yay to Steve Fossett!!!

Steve Fossett has just in the past couple of hours completed the fastest non-stop, non-refuelling flight in the world.

Read about it all here. And there's a video here.

I love things like that. You just know that it's just a bunch of playboys (Richard Branson being one of them) larking about having fun. Fantastic!

Apologies for fanlove!

Very quick Aide Memoir

Found this colour (or 'color') picker over at Scooter's Blog

Should come in handy. Color schemes are the one thing that I really really suck at - you can tell a benjimawoo site. It's all black Arial on White, with no imagery. Oops...

So anyway, just posting this so I remember where it is.

Apologies for cheapness...

The difference between patience and waiting

I'm currently counting down the minutes until I leave my current job. My last day is next Tuesday. As a result, I'm twitchy, fidgety and can't really concentrate on anything. Not good.

The reason for this is that I'm really not very good at waiting for stuff to happen. I'm the guy who pays extra for next day delivery when it normally gets there next day anyway (I find Amazon really good this way). Waiting or things to happen just isn't for me.

Mrs Mawoo an I were talking about this last night, and she was genuinely surprised about it. "But you're the most patient person I know" she said. "You take your time over everything" she said. She even cited learning programming as an example of my patience.

And I think this is the biggest difference. Whenever I'm talking to someone, or I'm trying to explain something, or I'm thinking through something, I'm doing something. Although I'm taking a fairly passive role in whatever I'm doing (explaining stuff to someone is still a passive role - you're just speaking. It's the person on the receiving end that has to do the work, understanding what you're on about), I'm still doing something. I'm mentally fidgeting. I'm listening to what people are saying. If I'm trying to swing someone round to my way of thinking I'm building arguments in my head. While I'm standing nodding patiently while someone tells me for the 9th time they're right and I'm wrong, I'm actually listing the reasons why I'm right and they're wrong etc.

That's what makes me patient (so Mrs Mawoo says). Being able to sit back and let things happen around me. Or rather, collating and re-evaluating information as things happen whilst not appearing to do anything.

Patience is nothing to do with waiting. There are a whole bunch if people who lack patience (and tend to be grumpy too) who can happily wait forever for things to happen.

I'm not one of them. I am (apparently) very patient. I hate waiting for things to happen.

35 working hours to go.

Apologies for rambling.

EDIT: I just remembered where Mrs Mawoo got this whole patience thing started. One thing I don't have an issue is waiting my turn. If the line's long, then fair enough. If you were here before me, then it's your turn. Even then, though, I'm not idly standing by. I'm thinking. Watching and working out how I can make things happen faster. Thinking about what's holding the person up in front of me and how I can avoid it for the person behind me. Dull, I know, but hey, it saves me from getting bored. And it keeps me from waiting.