Rob Farley

Rob Rob Farley has been consulting in IT since completing a Computer Science degree with first class honours in 1997. Before moving to Adelaide, he worked in consultancies in Melbourne and London. He runs the development department in one of Australia's leading IT firms, as well as doing database application consultancy and training. He heads up the Adelaide SQL Server User Group, and holds several Microsoft certifications.

Rob has been involved with Microsoft technologies for most of his career, but has also done significant work with Oracle and Unix systems. His preferred database is SQL Server and his preferred language is C#. Recently he has been involved with Microsoft Learning in the US, creating and reviewing new content for the next generation of Microsoft exams.

Over the years, Rob's clients have included BP Oil, OneLink Transit, Accenture, Avanade, Australian Electorial Commission, the Chartered Institute of Personnel and Development, the Royal Borough of Kingston, Help The Aged, Unisys, Department of Treasury and Finance (Vic), National Mutual, the Bible Society and others.

Did you mean to come here? My blog is now at http://msmvps.com/blogs/robfarley



11 September 2006

Developing presenters

So I'm talking to Dave Lemphers (of "Time spent here you will never get back" fame) on IM, and one of the things we occasionally talk about is how to develop presenters, and I (bizarrely) suggested having "presentation awards". The idea would be to have our own version of the Perrier awards as a way of encouraging and developing presenters (at user-groups, in podcasts, etc).

Of course, it raises the question of why to present? I guess it's similar to the question of why to blog?

On a personal level, there are a few obvious ones.

  • Shows other people that you know your stuff
  • Develops your status in the community
  • Deals with that fear of public-speaking
  • Increases your consulting price
  • Stops you from having to apply for work, because Readify might approach you
Naturally, your employer will be keen for all of the above (especially if they're Readify), and therefore will encourage you to present as well. But for some reason, the number of people who actually present is quite small.

So that's where some annual awards come in.

TechEd in Europe have Speaker Idol this year. This is a great idea, and perhaps we'll have something like that in Australia next year. But what about the user-groups? How can we get more people speaking?

As someone who runs a smaller-city user-group, I'd like to have a fund to bring people across from interstate more often, or to send the people in my group to other states. But what else can I do? Please post ideas...

08 September 2006

It's "Go the way you want to" week

First Steve Irwin, now Peter Brock. Who next, and what will they be doing?

07 September 2006

Proof I was there!

http://www.microsoft.com/australia/teched2006/photos.aspx has photos from TechEd. In the 4th one (attendees at the opening session), you can see me! I'm the person 3rd closest to the camera, sitting next to Geoff Orr, who's next to Geoff Appleby.

HandsOn Labs manuals from TechEd Sydney

I wasn't sure if these were going to become available, but it seems they have!

http://blogs.msdn.com/charles_sterling/archive/2006/09/05/740899.aspx for all the links. The DB ones are about databases, and IW are about Office and Sharepoint (IW = Information Worker). Those are the two that I proctored for this year.

@@datefirst

@@datefirst tells you what SQL says the first day of the week is (see the linked MSDN page for more). 1=Monday, 7=Sunday. The default for US English is 7. I guess the people who decide when movies come out have it set to 4 or 5.

But, should you let the start of the week be determined by @@datefirst, so that if policy on the Sunday/Monday argument changes you can just alter @@datefirst and let it be done?

Or should you make your code enforce the start of the week as per the policy, regardless of what @@datefirst is set to, with code such as:

declare @df_orig int
select @df_orig = @@datefirst --This is so we can reset it at the end
declare @df int
set @df = 1
while (@df <= 7)
begin
set datefirst @df
select
@@datefirst as df,
datepart(dw,'20060907') as dw,
(@@datefirst + datepart(dw,'20060907')) % 7 as fixed
set @df = @df + 1
end
set datefirst @df_orig --Resetting it

So, (@@datefirst + datepart(dw,'20060907')) % 7 will always give 5.

If I want to adjust a date so that I count the number of weeks based on a Thursday start, I can do this with:

datediff(week, '19900101',dateadd(day, @@datefirst - 4, '20060907'))
(where '19900101' is an arbitrary date - if you want to start counting at one somewhere else, then be my guest. The day of the week of this date is not important - it just marks the week in which our 'weeknumber' will be zero)

Why is this useful?

For example - my typical week starts on Sunday. I get frustrated by calendars that start on Mondays, it always throws out what day I think things are. If only I could change the calendars that my kids' school sends us...

But pay-wise, the fortnight starts on a Monday. So I have a sample fortnight start in the system, and I use datediff(day,@fortnightstart,@d)/14 to determine the fortnight that something fits into.

For people paid by the month, the month actually starts on the 25th of each month. So for that, I subtract the offset and strip the day off.

So for any code that I write, I want to know what fixes the start of the week/month. If it's a company-wide policy, then @@datefirst could make sense (and it makes calculations easier). If it's fixed by something else, then it's worth making sure that you have this defined somewhere, and use that. Like in a table of system-wide config values or something. Grab @fortnightstart from there before you need it, or @paymonthoffset, or whatever.

You can also find this at: http://sqlblogcasts.com/blogs/rob_farley/articles/999.aspx

01 September 2006

Msgr toast you don't want to see

You don't ever want to see these messages in short succession:

Dave has sent you a message: brb, toilet
Dave has just signed out.
Dave has just signed in from a mobile device.

(apologies to the Daves I know - I'm sure this wouldn't be one of you)

31 August 2006

Self-definition

Michael posted a comment on my post about the ACS membership. He referred to Scott Hanselman's post about how useless that kind of thing is. I figure I should make a couple of things clear.

I certainly don't chase having letters after my name. If I did, I'd be joining every professional society I could. I don't ever write my name with the full set of letters at the end. It's not even on my business cards. I'm happy to refer people to my MCP Transcript, and I wish that my uni transcript was available online (it would save me feeling like I needed have a copy available).

But having said that, I do think that people need to find ways of differentiating themselves from the crowd. For Scott, I'm sure he could call himself all kinds of things to let people know that he knows his stuff. For people who are MS-MVPs, they tend to put that after their name on newsgroups, etc. It gives them a bit of credibility perhaps.

Am I proud to have uni degrees, MS Certs, and ACS membership? Sure. Do I want to flaunt them? Nah, not really. They're useful for potential employers or clients, but that's about it. If I had a PhD, I wouldn't call myself "Dr" much - I don't see the point. But if I were a pastor in my church, I'd happily call myself "Pr Rob", because that helps people understand that they are welcome to talk to me about stuff outside the standard IT stuff that people ask me. Adam Cogan says he'd like to be "Mountaineer Adam". I assume he's not serious, but it's how he sees himself. I'm all for that.

If you see your degree as defining who you are, then put your degree after your name. If you see your MS Certs as defining you, then put them. If there's something else that you think defines you better, then put that too.

But you can just call me Rob. It means 'to steal'.

28 August 2006

Putting the user back into software

TechEd was last week - but you knew that, right? The 'theme' was about the user. Tech.You was the logo. I got a shirt with 'Tech.Rob' on the sleeve. My name card said 'Tech.Rob' too. The keynote speaker was an anthropologist called Anne Kirah. She talked about the importance of having software that makes a difference to people's lives. Ron Jacobs delivered one of the first talks of the conference, and he also talked about bridging the gap between the computer and the person through user-centric applications.

On Sunday, I got asked to speak at church on short notice. I talked about how I'd just spent the week at TechEd, how Microsoft (regardless of how it seems) is trying to make software that makes a difference in people's lives (and not just people who want to edit spreadsheets), and how there's a similarity between that and what the church does. Most people look at the church as being very good at 'doing church', and meeting the needs of people who are 'church people'. But largely, they see the church as being out-of-touch with what people want. The thing is that God (like the powers that be at Microsoft perhaps?) wants to actually make a difference in people's lives.

Unfortunately, most people see the church when they look for God, and non-user-friendly applications when they look for Microsoft.

Rob Farley, SMACS

No, that's not a verb. Just more letters after my name.

I finally let myself be persuaded to join the ACS. On joining, I noticed that I ought to qualify for Senior Membership, so after a brief meeting in Sydney, now I can use SMACS after my name. I figure that the 'S' helps differentiate it from all the MS Certs I have.

11 August 2006

Premier League Tipping

Come on Frank, you know you want to...

http://iknowthescore.premierleague.com for score-tipping.
http://fantasy.premierleague.com for fantasy team.

If you want to be included in mini-leagues, let me know and I'll give you codes to join. :)