Mad Props!

Omniscience is just a Google-search away.

Login

You're reading Mabsterama, the weblog of Matt Hamilton. Enjoy your stay.

Reusing Validation Code

Ron is blogging again, giving us a little how-to about code-reuse when validating classes. This is great stuff, and really makes me want to start using "business objects" in my projects rather than typed (or worse still, untyped) DataSets.

Hey Ron! I have a question! Do the various "software factories" that the Practices guys are releasing work with the Express products? I only use Visual C# Express at home, and I'd love to try some of this stuff out without having to install it on my work PC.

Pioneer 5.1 System for Xbox 360

Pioneer HTP-GS1Saw this on the weekend. Pioneer have released the HTP-GS1 - a 5.1 surround-sound system (including amp, speakers and subwoofer) specifically for the Xbox 360. I guess it makes for a great jumping-on point for 360 owners who don't yet have 5.1 sound, and to top it off it looks really nice, sharing the 360's aesthetic.

Due out soon in Australia, so keep an eye out for it if you don't already have surround sound.

Video to Xbox360 Without Media Center?

Dunno how it works, but apparently as of Windows Media Player 11 beta 2 you can stream video to your Xbox360 - something which hasn't been possible up 'til now unless (like me) you have Windows XP Media Center Edition.

I'm sure Crucible will be interested in this, among others.

Update! From what I've read on the xbox.com forums, it looks like this will only be possible with an update to the Xbox360 dashboard ... so don't hold your breath. It might have been a bit premature on Microsoft's part to start talking about it this early.

Ron Jacobs in Canberra

Just got back from an overnight trip with Crucible to our nation's capital, where Microsoftie Ron Jacobs did his "Patterns and Anti-Patterns for SOA" presentation.

It was great to meet Ron in person (I've been listening to his ARCast software-architecture podcast for some time), and to see him talk about some of the best (and worst) practices in building "service oriented" applications. I even got to ask a question that has been nagging me for a while, and Ron gave me a satisfying answer.

So big thanks to Ron for taking his presentation on the road round Australia (he could just as easily have flown home after Tech.Ed). Andrew actually got a photo of the three of us, which I'm sure he'll post on his blog.

BrownBot Blog Rebooted

Pete over at brownbot has kicked off a new blog based on WordPress. That means that it now supports comments and trackbacks! Good work Pete!

New Back-Compat Update!

The Xbox team has just released another update for backwards-compatibility. This one adds a tonne of new (well, old) games to the list, which is good to see. Unfortunately, I don't own any of them! :-)

I live in hope that someday soon an update will be released that includes the greatest original-Xbox game ever: Kung Fu Chaos. Keep up the good work, guys!

Oops - Forgot ReverseDOS!

This is the second time I've upgraded Community Server and forgotten to re-enable ReverseDOS in the web.config file.

I can tell straight away that it's not working because of the barrage of spam comments that appear overnight.

CS 2.1's new spam filters are pretty good - they seem to catch a large percentage of the spam - but ReverseDOS is damn near infallible. Well worth checking out if you have a comment-spam problem on your blog (whether it's CS or otherwise).

Tag Cloud is Operational

That didn't take long! My mabster360 theme now has a tag cloud (you can see it over there on the right, unless you're reading this blog via its web feed), and I have gone back over a bunch of posts and added some more tags.

I love the ability to add tags on the fly, as you edit or create a post. So much easier than having to know in advance which categories you intend to blog about!

Community Server 2.1 Upgrade

Holy crap! It worked!!! My mabster360 skin still appears to work and everything!

So - for the benefit of others: I had two errors in my upgrade process, both in the SQL script that brings the membership tables up to ASP.NET 2.0's standards (cs_ASPNET2_Membership_Schema_Update.sql). They were collation errors, and looked like this:

Msg 446, Level 16, State 9, Procedure aspnet_UsersInRoles_AddUsersToRoles, Line 45
Cannot resolve collation conflict for equal to operation.
Msg 446, Level 16, State 9, Procedure aspnet_UsersInRoles_RemoveUsersFromRoles, Line 50
Cannot resolve collation conflict for equal to operation.

Obviously my host's database is running a slightly different collation than the one that the script is running under. The fix was to find this line in both stored procs:

DECLARE @tbNames table(Name nvarchar(256) NOT NULL PRIMARY KEY)

... and add an explicit collation statement, thusly:

DECLARE @tbNames table(Name nvarchar(256) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL PRIMARY KEY)

Re-run the "alter procedure" code for those stored procs, and all was good!

So now ... to investigate all the new features in CS 2.1! First stop ... tags and tag clouds!

A New Look at the Borg

Check out Birmo's post about the Borg and how one particular episode took on a whole new meaning when viewed "post 9/11".

ps. I'm hoping to upgrade our site tonight, so if this post disappears then it's because something went horribly wrong and I had to restore a backup of our database.