Wednesday, July 27, 2011

Close, but no cigar

StrokePlay is almost feature complete.  The big push to the finish line was on but I didn’t quite make it across.  I think I need another day of development to finish off the user features.

I did need to pack for the F1 weekend in Budapest though.

So there’s just time to catch a short snooze before an early morning flight to indulge my other passion – Formula 1. There’s nothing quite like the sound of 24 screaming V8’s hurtling towards the first corner on race day.

Unless I work out how to blog in a decent manner from the iPhone over the weekend there will be no StrokePlay updates until next week.  But how many people would want to hear about thundering V8’s anyway!!

Tuesday, July 26, 2011

One step closer

Another evening coding, another step closer to completion.

Tonight was all about handicap tracking.  The handicap update dialog is pretty much done, just need the SQL to update the table now.

It took a little longer than expected but that was down to adding more data validation, which required a helper function to supply maximum handicaps for men and women across the different handicapping systems.

So, still looking tight for a user feature complete status by close of play tomorrow – but not impossible!

Monday, July 25, 2011

What’s to blame?

As the trip to the Hungarian Grand Prix draws ever closer I’m continuing to close down the last two user features.

It’s handicap tracking this evening and rather than just allow users to change the handicap I’m adding the ability to record which recorded round of golf was responsible for the improvement (or otherwise) in the players handicap.

At this point in the development, most of the processing I need to track handicap changes is already in place.  It’s just a matter of bringing them together under the same dialog.  Tonight was all about building the dialog from the scrawled drawing and it ended up looking like this:


I’ll post the final version when it’s complete – tomorrow hopefully!

Sunday, July 24, 2011

And finally, to code.

A mixed Sunday today.  Todays hats were almost all a selection of non-ISV hats.

  • The Formula 1 Fan Hat.
  • The Local IT Support Go-To Hat
  • The DIY Hat

So far today has consisted of helping a neighbour connect their new PC to the interweb, watching the German F1 race and lifting the old bathroom flooring and laying down the new tiles.

Those three little tasks ran from 9am to 7pm, with a visit to the DIY store thrown in for good measure.

Add in breakfast, take out a skipped lunch and add back in a tasty dinner and the day is gone!

So, was it a coding washout?  Not quite, I still got the layout for the handicap tracking page on the dashboard up and running, leaving it just needing a couple of database queries to populate.

This weeks aim is to have StrokePlay complete, in terms of user features, by the end of day on Wednesday.  A bit of a challenge, but I’d like to head off to the Hungarian Grand Prix with the knowledge that on my return I’ll be going through the finishing off work and finally prepping for release.

Saturday, July 23, 2011

Tidy Up Time

I moved on from the charting success today and started on the penultimate feature remaining to do – handicap tracking.

The good thing about this one is I know exactly what needs to be done and how it should look and function.

Database wise it’s a couple of queries, an update and a trigger.  GUI wise it’s the addition of one simple dialog and an associated handicap tracker page for the player dashboard.

Starting this task also made me revisit my player properties handling.  As an original feature it still looked old, reflecting the original design.  But it’s been cleaned up and brought into line with the rest of the GUI.

Database wise, there were a couple of player attributes I don’t need to track any more so I tidied up the player database and the associated player object.

So, more of a tidy up and housekeeping day today than anything else.

Friday, July 22, 2011

Charting My Progress

It’s a bit of a milestone today.  All of the charts which I intend to include in the V1 release of StrokePlay Pro are done!

The drive distance spline chart was completed today and, like the drive position/distance chart, it had a couple of evolutionary steps before it was just right:



That’s really the last of the complex tasks done and I’m now into the home stretch and heading towards release 1.

A (very short) pause for reflection before cracking on with the finishing off tasks.

Thursday, July 21, 2011

The Evolution of the Spline

The most complex chart in StrokePlay is the Tee Shot Position/Distance chart.  Essentially it’s a plot of how far the ball went and where it ended up.

The complexity is why it was the second last chart to be worked on. 

The final bit of the charting code was plotting the lines from the tee to the resting place.  This involves layering multiple splines over a coloured background.  The lines started off looking odd but by the end they were representative:


The Bottom right image is the final one.

The other task which got some attention today was the raw stats printing.  I added a set of print only styles to the internal style sheet which tided up the output for browsers which don’t print backgrounds. 

Printing also received a print preview feature which was essentially just half a dozen lines of code to get the browser control to do it. 

The only printing work remaining is the formatting of headers and footers.

Wednesday, July 20, 2011

Wonder Web

I didn’t get to the two remaining charts or the website today.  Instead I made big inroads into one of the last bits of UI code – the Raw Statistics page.

I had intended to just use another grid for layout and display but was hit by a sudden flash of inspiration and used a web browser control instead.  I added in a method of creating the page dynamically in memory and then loading it straight into the browser control without the need for temporary files.

Works a treat and another benefit is that I get the printing for free.  Printing was going to be a post day-1 feature (planned for the very first update) but now I can release with raw stats printing and even include it in the free trial edition

A quick draft of the Raw Stats page, using dynamically created HTML and with initial CSS styles came out like this:


Adding new stats or reformatting the layout, even providing customisable layouts, should be simple now.

Tuesday, July 19, 2011

Brain on vacation

Bit of an odd evening on StrokePlay. 

The ToodleDo list started off with 10 items.  8 have been ticked off but the remaining seem to need more brain power than I have left today.

First up are the final two charts.  I started to work on the tee shot position chart which shows where your ball went relative to the tee.  I got this far:


Before I switched off.  I’ll park that until tomorrow rather than stare at it for another hour.

Last task was to spend time developing the website.  I have a picture in my head of what I want it to look like but I don’t seem to be able to put pen to tablet and get the graphics just right.  Another item parked!

Maybe sometimes you just need to give up for the evening and return to it tomorrow refreshed.

Oh, I did spend a little time punishing myself by trying to get iTunes working properly on Windows 7 64 Bit again.  Fail.  It still thinks Bonjour is disabled (looks fine to me) and it can’t see any iDevices that I plug in.  Ho hum.  I might fire up some SysInternals tools on it tomorrow for fun.

Monday, July 18, 2011

Programmers have social lives?

Apparently so – but it certainly has an impact on the programmers coding speed!

Neighbour BBQ yesterday afternoon, and in to the wee small hours, which means a very tired programmer who’s just spent the best part of two hours working on one minor bug (using a global\ prefix on a shared memory mapping when I shouldn’t) and trying to finish the two eclectic charts.

They’re done at last.

So, the original test charts in StrokePlay have gone from this:


to this:


Not a huge difference but it’s more consistent with the rest of the GUI and it splits the eclectics High/Low.

Chart wise, that just leaves two to finish and all of the charts I originally intended to include in StrokePlay V1 are finished!

Saturday, July 16, 2011

Hiding my homework

I just realised that I’ve only been posting snippets of StrokePlay’s GUI rather than any full window grabs.  It’s not intentional – but it does look like I’m hiding my homework from prying eyes!

So, here’s a screenshot of the main window – the data shown is just test data of course.


Friday, July 15, 2011

Can you go pie-chart blind?

In the same way you can go snow blind?

Todays target was seven charts – and seven were completed earlier than expected giving me time to work on some SQL and functions which will provide chunks of data for not only the remaining charts but also some future, post day-1, features.

I’m not going to post today’s new charts – more pie charts I’m afraid.

Line/Trend charts are coming, honest!

The current line charts are still in the original format with colouring which just doesn’t fit the new StrokePlay Decor.


Not pretty.

They’ll soon be tweaked to match though.

I seemed to up my tweet rate today too – I think that’s a symptom of pie-chart blindness.

Thursday, July 14, 2011

I love it when a plan comes together

A complete stats and charting day today.  Things are really coming together quickly.

The Drive Tendency chart has a companion – the Drive Range:


The putting charts have kicked off with a “first putt distance from hole” chart:



And the Score Analysis group is looking good to go:


Another day of charting ahead tomorrow but the end is in sight!

It seems that all the threads necessary to get StrokePlay out the door and available to buy are weaving together with increasing speed.

Exciting stuff!

Wednesday, July 13, 2011

Where’s my ball going

Finally got what is a simple enough looking chart finished - drive tendency, which essentially shows you where your ball ends up for a given golf club.


Turned out to be a slightly complex little SQL query but it’s looking good.

That’s just test data BTW, but my game isn’t far off!

Tuesday, July 12, 2011

Everybody likes a good mystery

Like why my new iTunes installation on the new PC refuses to see any Apple devices even though everything looks fine.

iTunes says Bonjour isn’t enabled, the service list says it’s not only enabled but running just fine.  As for the iPhone, Apple help tells you to check that the Apple USB drivers are present and correct but fails to say much else.  The drivers looked fine too.

Why am I even looking at this when I had a small issue on StrokePlay?  I don’t even need to use or sync the Apple devices just now!

Anyway, past experience would indicate that if you have two things that need to speak to each other, and are designed to do so, then either a) the seeker is looking in the wrong place, b) the sought is waiting in the wrong place or c) something isn’t giving them permission to speak.  This is a problem for when I have nothing better to do.

Back to StokePlay.  It couldn’t find it’s application data when I migrated it over to Windows 7.  Quick debug later found that it was storing the data in AppData\Local rather than AppData\Roaming.  Problem fixed.

One “woohoo” moment today – StrokePlay under Windows 7 looks and behaves exactly as it did under Windows XP.  Fantastic.

Monday, July 11, 2011

Homer lives

Old Homer has retired from active development duty.  To mark the occasion he has a new name – Eric.

New Homer has taken on the development duties following the resolution of the incremental linker crash problem (hotfix) and fixing the unresolved externals (RTM versions of the VS2008 runtimes hanging around when they should have been updated to the SP1 versions).

Build time is fantastically shorter and StrokePlay Pro has been built and is running on new Windows 7 (64bit) version of Homer.

Eric (nee Homer) has a great future as a test PC ahead of him.

Sunday, July 10, 2011

The perils of change

Homer has served me well.  Loyal, hardworking and only one disk failure and a blown PSU in more than 5 years.  I say 5 years, a guess, because I’ve forgotten how long Homer has been my developer PC. 

Homer is creaking Pentium 4 (with Hyper threading!!) PC which has been expanded beyond his use-by date.  I’d grown used to the performance (lack of), as you do, but it was his time.

Homer2 (or is it now 3 or 4) has arrived and I’m writing this blog entry on it now.  Homer2 is a shiny new Core i7 based PC with all sorts of gizmos.

Homer2 has had some tantrums already though, which has meant Homer isn’t going anywhere fast.  Instead of getting ready for a new life as a test PC, Homer is still fully configured and sitting in a remote desktop session on one of Homer2’s monitors.

Tantrums?  How about:

  • McAfee not really uninstalling and having to be forcibly ejected.
  • Office 2010 needing 5 attempts to install before actually working.
  • Windows Live Writer, my blogging tool of choice, being packaged with all manner of applications I don’t want.  And needing 3 runs at an install.
  • My shiny new Blu Ray drive working fine in PowerDVD when run separately but not in Windows Media Player.
  • My favourite anti-virus product, Avast!, blocking all web and mail traffic for whatever reason (Microsoft Security Essentials is now getting a chance).

Oh, development environments!  That’s what I bought the PC for!

Visual Studio 2008 installed first time, downloaded patches and set up MSDN without missing a beat.  The Feature Pack also went on just fine.  But, there had to be one, the incremental (temperamental?) linker is crashing and I’m getting some strange unresolved external reference I’d never seen before.

Ho Hum.  Two days wasted.  Seems to me like some products should be spending more time in User Experience, Build and Integration testing.

Still, StrokePlay now builds in 90% less time – just not fully.  It’ll just take an extended number of those fast builds to recoup the lost time.

Tuesday, July 5, 2011


Finally got round to signing up for an actual e-Junkie package after the trial period expired.  Completely slipped my mind.

Looking through their help prompted me to think more about the license key generation at the point of sale.

I decided not to spend all my time worrying about the pirates and crackers and came up with a decent looking key generation process.  I’ll marry that to the separate trial/purchase editions and some security functionality in StrokePlay.  Sounds about right to me.

Stop staring, it won’t fix it.

Great chat with Jim at Mosaic Retouching for the past hour.

I had a real creative blocker with the draft StrokePlay website and just couldn’t work out where to go.  No matter how I stared at it or tweaked this and that I couldn’t get it right.

The design’s fine, leave it alone is the order from Jim.

Concentrate on the content, the message and what you’re trying to say.  What are the big draws, the features, the important information.

So, graphics package closed, pencil and paper out and write it down first.

Exactly what I needed to be told.

Monday, July 4, 2011

Skills Trade

There’s a bit of a skills trade going on with my friend Jim over at Mosaic Retouching this evening.

I’ve been working on his new website and in return he’s casting an eye over the in-development StrokePlay website.

I’ve hit a real creative block on the website and it looks pretty much all over the place at the moment.

So I’ve taken a short time out from it.  I’ll concentrate on the textual content, navigation and what it is I want it to say while Jim takes a look to try and kick-start the creative ideas.

Saturday, July 2, 2011

Great Support

Hats off to the guys at SQLCipher.

I finally made the switch over from the standard SQLite library to the SQLCipher library and found that the Full Text Search (FTS3) tables weren’t supported by the pre-built Windows binaries.

The day after reporting the issue I had a newly built version of SQLCipher which now supports FTS3.  Quick re-build of StrokePlay and everything checks out.

Thanks guys!

Tweet Tweet

Finally got around to finishing off the Twitter account setup for StrokePlay Pro.

@StrokePlayPro is alive and tweeting.