Thursday, 2 January 2014

14 targets for 2014

Inspired by mat mcloughlins 12 achivements post I thought it would be a good idea to put my own list together, some of them are a blatant rip off of mat's but I'm sure he wont mind as he seems like a nice guy. so here we go in no particular order.

1, Attain my PADI Advanced Open Water Diver qualification.

In 2013 I decided this would be the year I would take up scuba diving, I did a pool dive on holiday when I was 15 and loved it. I decided to do an open water referral course to complete the theory in the UK and then finished my open water dives in Mykonos. I've since completed my dry suit speciality. and I'm now ready to dive in Oban to see the Breeder.

2, Cycle 100 miles in 1 day

Last year I challenged myself to do Tough Mudder for Marie Curie Cancer Care, this year I'm going to get on my bike to try raise some more money (charity yet undecided).

3, Try and devise some sort of mentoring/coaching programme for developers at work. 

It's become apparent that some of the fundamental principles of SOLID software development are lost on some of our more junior members of staff and we need to bring them up to speed, and the best way I can think of doing this is through mentoring and coaching. If anyone has any ideas of how to best approach this, or have done this before please give me a shout.

4, Speak at a user group

Since attending NDC last December and subsequently a couple of User Groups, Its sparked my interest in leaving my comfort zone and actually standing up and taking about development. I guess the first thing to do here think of a couple of topics and submitting them. any advice on this would be appreciated.

5, Start an OSS project

I started trying the pomodoro technique in the latter part of last year with mixed results. I've tried various tools that have both helped and hindered my progress here, I've found some really useful features in some of the tools but none of them have done exactly what I've been looking for. so I've decided to have a stab at creating my own, I will open source the tool once I have something with the basics working watch this space.

6, Lose 2 Inches

Over the last few months of last year (after tough mudder) I let my fitness slip and put on too much weight (not to mention the last decade). this has got to change. so I guess this is more of an attend the gym, swim and cycle at least once a week target. But that might be tricky to stick to, so ill keep it at lose 2 Inches ;).

7, Post to this blog at least once a month.

As I stated in my previous post, I've had a bit of a false start to blogging and I intend to change that. so here we are with the first post of 2014, I'll try and keep them coming.

8, Attend at least 1 user group meeting per month

In order to keep up with what's going on and socialise outside the groups of devs I see at work everyday. I've started to attend .net user group meetups and I intend to carry this on, its here as a target to make sure I do.

9, Attend 3 developer conferences

As with 8 above and following my recent visit to NDC I realise I need to be attending conferences as a matter of course. these don't necessarily have to be the size of NDC and I'm thinking about trying to get to a couple of DDD conferences this year.

10, Go to the IoM TT or NW200

I've been talking about going to the Isle of Man TT or the NW 200 for many years but have never actually got to either of them, so calendar dependant I think its about time I made a concerted effort. (I might even consider it to be my stag)

11, Learn F#

Its been on that list that's only exists in my head for a while, this year I'll actually have a go even if its only hello world for now, although I would like to have a play with it in a web app.

12, Start (and finish) my jukebox app

so we were looking at DJ's for the wedding and I decided (in my wisdom) that I'm not paying someone to put together a mix of tracks which were going to choose any way. This to me sounded like a great opportunity to automate something, and came up with a few ideas which suddenly became a jukebox app. Ill keep you posted how this goes :).

13, Book a photographer for our wedding

not really an achievement as such but if i add it to this list I've got no excuses for forgetting about it. and if anyone knows a good photographer in the Stafford area let me know.

14, Create a home workstation

Since moving in with my now fiancée I've been working either on the kitchen table or even worse my knee on the sofa. Ive now decided this has got to change. So I've decided the this year I'm going to put a desk in the alcove of the spare room get myself a couple of monitors and buy myself a really comfy chair. any suggestions on the chair gratefully received.

So there you have it, it's now in black and white and published on the internet so it has to happen :)

/tf

Tuesday, 17 December 2013

Been a while

Hi All,

No this is not a review of Carl Frankins new album (great as it is :) ). It more of a note from me trying to work out where the last 2 years have gone and why I had such a false start to blogging.

Anyway in the coming weeks I'm going to make a concerted effort to post some more ramblings about what I've been looking at and the cool stuff I'm playing  with right now. The christmas break should help me get into the routine.

@thetownfool

Thursday, 7 July 2011

Reasons not to trust NOLOCK in t-sql

I've never been convinced of the necessity to use the NOLOCK hint in t-sql queries, I knew a guy a few years ago that used it incessantly on pretty much every query he wrote. I spotted it again yesterday used (i can only assume) to try and optimise a very complex query. So I decided to do a little research on it and found the following blog post (link) , which seems to suggest that my gut feeling was right... never optimise until you know you have a problem. and always do research on your chosen method of optimisation. In the scenario I saw it used in yesterday it 'could' have caused us some problems. fortunately it appears this 'optimisation' has not yet been let out in the wild so I think we should be OK.

There probably are many scenarios where this hint could be useful , fortunately as of yet I don't think I have come across one. and as the commenter says this 'is just hiding the real problem'

Cheers

TF

Monday, 27 June 2011

Inline Extension Methods dont work under IIS7

Spent a couple of hours this morning trying to pin point a problem I had with an older release of (new install I couldn't run or debug) upon further investigation i noticed it was just on extension methods. the following blog post solved the problems

http://oshyn.com/_blog/Software_Development/post/DOTNET-Extension-Methods-for-extending-classes-not-working-in-inline-code/

Saturday, 25 June 2011

Building Projects in Parallel

I've been a little frustrated with how long it takes to build the main solution in my new job, having  some 37 projects it seams to take an age to rebuild and get back to running and debugging after a change.

so my first problem is to enable the build time to be output so I can see how long it actually takes so I can prove my changes actually make a difference. so a quick google brings up VSCommands (how did I miss this tool before), while VSCommands can show a build summary the version containing this feature is only available for VS2010.

So back to google for another stab at it. this time I find this. perfect a macro that logs the time taken and puts it in the output window..  so how long does it take.. 00:03:45.0148701 while this doesn't seam too long it can be very annoying.

Moving on, after a few more minutes on google (google really is your friend) good old Scott Hanselman comes to my rescue once again. following advise from this blog I started doing some experiments, building the solution with 1 core using ms build took: 00:00:17.70 so what the hell is VS playing at maybe its because the build is running in the same process?? who knows.. Anyway when I switched this to auto detect the number of cores it brings the build time down to 00:00:11.96 now this figure I can live with. With just 30 minutes of searching I've managed to increase the build time 20 fold.

Unfortunately this doesn't really help the build time when you start debugging, but I think its useful non the less.

(update)
Strangely when using auto detect only 3 processes get spawned. so I tried specifying the number of cores to 4 and got it down to 00:00:11.32. the difference is so negligible that I've left it up to MSBuild to detect the number of cores.

(update 2)
I'm still not convinced by these figures.. need to look at this again..

Friday, 24 June 2011

Almost easy

Well I have TC on my local machine and I've copied the template and most of the settings. I couldn't find a way to easily clone the settings and import them to my local server, so I just copied them via the UI (did i miss something here?)

I managed to get msbuild to build the vb6 stuff into a temp dir (I had a few more issues with the dependancies) and overwrite the exes ready to push then back into svn. then decide it was time to commit my changes to the branch and see if it would build.

After a few false starts with not committing the new build script, and then not telling TC to fetch the externals I think were there with the building (its still running as I type so it might be finished before the end)

next up is to add the tigris tasks and try and commit the changes back.

oh maybe it would be a good idea at this point to branch the externals too. so I don't commit back to the trunk. few... glad i though of that now.

bugger the build failed. will provide an update later..

(update)

well its building now (1 of the 6 vb projects didn't use the project name as its exe name so when it tried to copy it back it failed). I've also updated the externals to all be branches, so that's safe too now. now ill get the tigris bits.

Thursday, 23 June 2011

On to MSBuild and Teamcity

Right I took a good look at WIX (well I skimmed over the getting started doc just to get a feel for it.) then moved onto MSBuild. I need to get a good idea of the whole process (code to deployed) before I can really put forward any serious suggestions for improvement.

So yesterday I took a look at the nightly batch script that currently builds our VB6 apps, with a view of moving them to to msbuild and ultimately over to team city. Looking at the script it all looked pretty straight forward. So I grabbed the msbuildextensions pack from codeplex took a look at the documentation, and put a very simple build script together, using mostly default settings. pointed it at the vbp and ran it. This appeared to be working. so off I go to make tea. upon my return... build failed :(.  (exit code 1 link.exe failed )

So I take another look at the batch script. this time in a little more detail. Turns out just before we build the apps we put an svn lock on the exes (yes the compiled files are stored in svn). unfortunately there is no way to put a lock on a file in svn from msbuild, well not out the box or via community tasks (unless ive misssed something? ), I guess I could build a custom task, but I don't think its worth it. so I change the output dir and set it off again, and went to make more tea. upon my return build succeeded. at last were getting somewhere.

Now due to the way we currently have team city set up to pull the source (auto on server) it just performs an export so all svn data is missing, need to change this to auto on agent (this performs a checkout and retains all  svn info), not ready to start changing anything on the production boxes just yet so time to install team city locally and create a branch of the src to prototype this properly. Now how do I copy the config off the server without access to the box... found it if you do a diff of changes it gives you the raw xml. now I need a light weight editor on this box. (I find vs with all it bells and whistles a little too heavy for simple text manipulation. so I'm off to fetch notepad++)

this blog really is living up to its name. thetownfool is rambling again....