Sunday, January 31, 2010

DDD8 and thoughts about a DDD North East

I’ve attended the last two Developer Developer Developer events and yesterday was my third at DDD8. I’ve blogged in the past about DDD6 but didn’t blog about DDD7 (something to do with watching the Newcastle Falcons play Worcester Warriors in Worcester the night before).

From a choice of 19 sessions (split over four tracks) it was quite difficult to pick the sessions that I wanted to attend. There were some interesting sessions that I didn’t get to see but the ones I did were:

  • “Real World MVC Architectures” by Ian Cooper was an interesting session. It covered a lot of ground around some of the pitfalls that you may encounter when using MVC.
  • “Commercial Software Development” by Liam Westley was the only non-technical session that I attended on the day. A very good presentation with some quite well done interludes to illustrate Liam’s points. He’s up for NEBytes later in the year to deliver a developer session.
  • “C'# 4” by the Google-man who nearly wasn’t an MVP, Jon Skeet, covered all the new stuff coming along. Having tech reviewed Accelerated C#4.0 for Apress I’m quite happy with what is coming in C#4 but it was good to see a different take on them. And I think I now get the difference between covariance and contravariance (go and read the Wikipedia article and see if it makes sense!).
  • “Microsoft Surface” by Kris Athi was a nice introduction to Microsoft Surface and a look at some of the things that you can do on it. Having got one sat in the corner of the office in my day job at TH_NK it gave me a few ideas as to what we could do with it. It’ll be interesting to see how things move forward on this with the advances in multi-touch added in Windows 7 (the Surface platform is based upon Vista SP1 at the moment). Definitely something to watch when Surface 2 arrives.
  • “A Developers Guide to Encryption” by Barry Dorrans rounded out the day. It was Barry’s last session at DDD as he’s drank the Kool-Aid and is off to Redmond on Friday and, as per usual, was an excellent one. Whilst coping with the video interruptions poking fun at him, pimping his new book at every opportunity, and updating spelling mistakes on his slides on the fly, Barry covered all the basics of what you need to know. Hashing, symmetric encryption, asymmetric encryption, and X509 certificates where all covered in Barry’s inimitable style.

Granted there were problems with ticketing and the way the tickets are allocated – I only got a ticket after being on the waitlist – it was a really good event again. Hopefully these will be sorted in time for the next DDD event (which I did hear a rumour that it would be later in the year). There was also rumblings of a third WebDD event later in the year as well.

DDD8 was the first event that I’ve attended since starting NEBytes and, whilst still attending and enjoying all of the sessions, it was with a slightly different outlook on things.

One of the things that the North East developer community missing is the bigger events. There are several events ran (by NEBytes, SuperMondays, and SUGUK amongst others) and Black Marble run their events down in Leeds. But there isn’t an all day event along the same lines as DDD.

And that’s what we’re thinking for later in the year for the North – a DDD North East if you will. On a Saturday, several tracks (two developer, one IT Pro, one open source) with five sessions in each track, GrokTalks, and swag. It won’t happen if people don’t want to see it – drop us a note at NEBytes if you think you’d like to see an event like this using the contact form.

Friday, January 29, 2010

Dan Pink and a Drink

I had the pleasure of attending the Codeworks Connect Think and a Drink event on Monday evening.  It’s the first one that I’ve attended and was a great event.  Being in The Sage was also an added bonus as I’ve never been inside what turned out to be a remarkable building.

The first speaker up was Caspar Berry.  Whilst not the talk I was most interested in seeing it was still worthwhile.  Some interesting points regarding risk taking and a few things to think about going forward.

I’ve talked about the second speaker, Dan Pink, before when attending the TEDx Newcastle event last year.  Whilst not startling different to the talk that he gave at TED Global (the video is online) it’s still a very good talk to see.  The insights that he brings to the table regarding motivation – autonomy, mastery and purpose – are fascinating and certainly something that all managers and employers should take into consideration.

Tuesday, January 26, 2010

The Future of NEBytes – aka Coming Soon

As part of the team behind NEBytes we’ve got quite a few events planned over the next sixth months for both Developers and IT Pros.  Whilst the launch event had three talks we realise that this is a bit much and the normal format is to have two events – one for Developers and one for IT Pros.

We’re currently planning three/four months out and at the moment we have speakers lined up until April – all will be revealed soon!

There may be times when when we partner with the SharePoint User Group to host a joint event and the format will probably change slightly when we have these.

We’re also looking at other formats and ideas (GrokTalk anyone?) for future events as well.  At the moment we’re concentrating upon technical subjects but that doesn’t mean to say that we won’t branch out into more “soft” subjects.

It’s all down to you, the attendees, to tell us what you want and we’ll see what we can do.  Drop us a note on the site using the contact form telling us what you want!

For February  we have two very good speakers lined up (or it may be three depending upon the format of one of the talks) – they’re speakers that we’ve had in the North East before under the old VBUG banner.  The details aren’t on the main site yet so I’m a bit reluctant to reveal the full details just in case things change.

When the event details go live there’ll be another post and we’re looking forward to seeing you there.  Well - Ben and I will be looking forward to it as Andrew and Jonathan are off to the MVP Summit in Seattle.

Tuesday, January 05, 2010

Introducing North East Bytes (NEBytes)

Rather than simply repeating what Andrew and Jon have said regarding the launch event for NEBytes I’ll just say – get booked it’ll be good.

Monday, October 05, 2009

Microsoft WebsiteSpark

I missed out on getting enrolled in the Microsoft BizSpark program due to to Littlepond being more than three years old.  It’s only really Visual Studio that I was after in the entire program (although having a full MSDN subscription wouldn’t be bad).

It was nice then to see Scott Guthrie launch the Microsoft WebsiteSpark program when on his European tour at the back end of last month.

Not only do you Visual Studio 2008 (and I’m assuming that it will be updated to include Visual Studio 2010 when that is released next year) but you also get:

  • Production licenses for Windows Web Server 2008 R2
  • Production licenses for SQL Server 2008 Web Edition
  • 3 Visual Studio 2008 Professional licenses
  • 1 Expression Studio 3 license
  • 2 Expression Web 3 licenses

It’s a tidy little program.  It’ll cost you $100 in three years when you leave the program but that’s small change when you look at what buying the software provided individually would cost.

Thursday, October 01, 2009

TEDx Newcastle

I attended the TEDx Newcastle event last night at the Tyneside Cinema.  A community organised offshoot of the global TED events.  A really well organised event that had three local talks and two “roll-vt” talks from the main TED events.

The three local talks were given by Mike Stenhouse, Chris Stainthorpe, and Andy Budd.  Two first and last covering user experience with the middle talk covering privacy.  They were all filmed so look for the videos online – there was talk that they’d be available somewhere!

The two “TED talks”, for me, were the highlight of the evening.  I’ve watched a couple of the TED talks online and the two that were shown on the night were definitely up there with the best that I’ve watched.

  • Ed Ulbrich gave an overview of the visual effects work on Benjamin Button.  Well worth a watch but it did raise the interesting question that if an actor plays a character but it’s not really him for the first hour of a film (watch the talk) then how far off having completely digital actors are we.
  • The second TED talk was by far the highlight of the evening with Dan Pink talking about how motivation and carrot-and-stick approach to incentives doesn’t work and possible new ways of managing and rewarding people for working.  Certainly something to think about for any managers out there!

And in closing they played a video from the Playing For Change project.  Recorded at various places around the world in the local style and then mixed into one track.  It felt a little random tacked on the end as it was but it’s well worth having a look at Stand By Me on YouTube.  Absolutely fantastic and you can buy the CD and DVD that came out of it.

Thursday, August 20, 2009

SyntaxHighlighter

With my post last week about IIF in VB I realised it was about time to do some proper syntax highlighting on here.  Whilst looking at a “cool” bug in the C# compiler I found that the code highlighting they use is fantastic.

Have a look at SyntaxHighlighter – it’s free and covers nearly every code style that you’d want to use.

UPDATE – and there’s a really cool plugin for Windows Live Writer on CodePlex.

Wednesday, August 19, 2009

Client facing “people” Part 2

So from the same client person as last time:

Client person [15:44]: 
  the client is asking something that im not sure about
  he is saying he wants the same module as we have for the other pages to go on the XYZ page?
  i dont kno what that means 
Me [15:46]:
  they already have it as you asked for it at the time and we built it at the time
Client person [15:46]:
  thats what i thought

So you now do know even though two minutes ago you didn’t?

Thursday, August 13, 2009

Client facing “people”

Is it just me that the following conversation strikes as pointless:

Client person [14:59]:
  SITEXYZ- can u think of a url that shows an example of an article page?
Me [14:59]:
  what do you mean by article?
Client person [15:00]:
  like a page that shows an article

Now being able to describe what you want is a key requirement of someone who is responsible for all interactions with the client?

Tuesday, August 11, 2009

IIf is a pile of poo

I’m having to write some VB code for a website that we maintain at work. Although I write everything in C# now (wouldn’t everyone?) it’s a legacy site so it’s a case of deal with it rather than rewriting everything in C#.

I needed to do a ternary operation which in C# is easy and works as you’d expect it to. However in VB it seems that both parts of the ternary are evaluated irrespective of which is the one that is really going to be ran.

So the following code doesn’t actually work:

strKeyword = IIf(intEnd = -1, strKeywords.Substring(intStart, intEnd - intStart), strKeywords.Substring(intStart))

If intEnd is –1 (which in this case it is if the value I’m looking for is at the end of the string) then I want the false (second) part of the ternary to execute taking the string from the value of intStart. However that’s not what happens! VB evaluates both and throws an error on the true (first) part – even though it’s never going to be executed. Bah!

So in the end I’ve got to go with the much less elegant normal If statement as follows:

If (intEnd <> -1) Then
  strKeyword = strKeywords.Substring(intStart, intEnd - intStart)
Else
  strKeyword = strKeywords.Substring(intStart)
End If

Do I need anymore reasons to run away from VB and develop exclusively in C#'?

Thursday, August 06, 2009

A new way of writing?

My friend Dan is in the process of trying to get a MbUnit/Gallio book off the ground as a self-published work (well sort of, you see the full details if you have a look at Dan’s blog post).  If you know anything about unit testing or what to learn that go and have a look.  The more people involved the better the output will be.

Dan’s idea got me thinking about an idea that I’d had a little while ago.  If you’ve followed this blog for any length of time (I’m sure I have more than one reader out there) you’ll see that I was in the process of updating my Beginning ASP.NET 2.0 Databases book to .NET 3.5 but aborted it due to time constraints.

However I’m now thinking that it’s something maybe worth doing a self-published, peer-reviewed, peer-written (?), book that covers data access in the .NET world.

It’s a big chunk of work, especially if you consider all the things added since .NET 2.0.  Think Data Annotations, Data Services, LINQ to Entities, SQL Azure, etc. then it’s an awful lot of work.

And would you limit it to the ASP.NET world?  As well as the desktop development (WinForms and WPF) we also have ASP.NET MVC (alongside the traditional WebForms), Silverlight (where you’re adding in bits of WCF for Data Contracts), and Azure.

And would you add unit testing best practices into the mix (perhaps tying back into the MbUnit/Gallio book)?  And also best practices for nTier development (which is a requirement if you add Silverlight into the mix)?  And what about telling the world not to write data access code in UI code and put it in a Data Tier?

It very quickly gets very complicated.

So I’m thinking that we have several paths to work down.

  • We have the “basics” which would cover (perhaps in a Console application so that we’re not polluting what we’re talking about with platform specific ideas) things like the DataReader, DataSet, and LINQ to Entities.
  • Once the basics are out of the way we add in details about nTier and separation of UI –> Business –> Data tiers.  For basic applications it may be overkill but to my thinking it’s the way that we need to go.  Even if it’s just a separation into UI –> Data then it needs to be considered and "forced”.  Well, forced is probably too strong a word but you get the idea.
  • Testing then needs to be covered – which is now a lot easier as we have the separation of concerns so we can test the Data tier separately and not having it horribly integrated into the UI code.
  • Then the WCF bits and how we can use this to get across server separation if needed (now that we’ve a nice nTier model!).
  • Then we get to the parts where we talk about specific UI models: WebForms, WinForms, MVC, WPF, Silverlight.  And all the lovely control goodness that we have in there.

In my rough outline there are lots of things missing – Validation (DataAnnotations, etc.), Data Services, SQL Azure – and some things that are not quite defined.  And if feels a little too “forced” (there’s that word again) by pushing an nTier model for all development (although by doing this we allow any data access method to be used in the Data tier without affecting the way that we handle the Business and UI tiers).

That’s just my initial thoughts (so that I can get them down somewhere rather than percolating in my head where nothing will ever happen with them).

And don’t even get me started on what databases we need to consider (SQL Server for definite, but what about MySql and Oracle?).  And would you need to consider other data forms such as XML, RSS feeds, etc.

As I’ve wrote more, it’s getting more complex :-(

Saturday, May 30, 2009

Windows Azure

Following on from my last post I've also got some work coming up with Azure and it's nice to see that there's a new CTP of the Azure stuff available. And this works with both Visual Studio 2008 and Visual Studio 2010. So that's a bonus!

Wednesday, May 27, 2009

Visual Studio 2010 and Silverlight 3

I've just picked up some work to do some technical reviewing around Silverlight 3 and Visual Studio 2010 and found the install process for these slightly confusing. There's an excellent blog post here from Tim Heuer covering things.

As I already had Visual Studio 2008 and the Silverlight 2 Tools installed the process I needed was slightly different:
This installs everything that is needed. Cross targetting of Silverlight in Visual Studio 2010 for both Silverlight 2 and Silverlight 3. Cool!