So what did I learn today?

Arbroath is further away than it looks on the map

Managed to clock > 50km in a day cycling (Ride 1, Ride 2 and Ride 3 ) for the first time today. A small 5km in the morning coupled with a 45km round trip cycle to Arbroath. The intention had been to to cycle there, coffee shop code for a bit and then come back. That'd have worked fine if I wasn't the sort of idiot who leaves the keys for their bike lock at home. So after 5 minutes of cursing I just cycled straight back.

Must admit I'm still enjoying this, only started in earnest 4 weeks ago but I've now built to a pretty solid with daily commute round trip of 20km per day coupled with a longer run at the weekend. I can feel my legs getting and times creeping up. The ride today ended with the longish climb up Grange Road and the big surprise? It was my quickest time so yet :) A jump to sixth in the segment leader board. In your face Vicki Maclean! :D

Cross Domain AJAX Calls - Empty Calorie Learning

I know about this sort of thing now and kind of wish I didn't. After quick change in how I'm organising my home project I hit a bit of a brick wall with this nonsense. Basically if your page is served to your browser from machine A then your web client can't make an AJAX request to a different domain.

Only it can through the horrid bodge that is JSONP which I got working. But then you find out all requests have to be PUT which breaks the idea of using http verbs to implement a [RESTful interface][REST. So I binned that and have ended up using OSXs built in install of Apache as a proxy to the game that all IO is done through.

And this is great as I'm not getting a better level of separation between my game app and the browser editor client with game only have to handle the REST api. Only the other thing I learned is Apple removed easy access to the Apache server they bundled and in turn had to learn a load of rubbishy rubbish on re-enabling it again and then how to set it up as a proxy.

Also I learnt some stuff about manipulating headers in Apache to allow CORS and also setting Chrome up so it won't moan about trying to do this kind of thing.

And did that move my home project along? No. Gnnnng. It's a shame in some ways, I had a fair bit of energy this weekend, used it up and don't have a lot to show for it development wise.

But On The Plus Side

There's always days like this I suppose and I did learn some a few awesome things. Had a brief look at various bits of JS middleware out there. This thing? it's an excellent thing! I want to eventually have some live shader editing and this will be perfect for it. KickJS already does that kind of thing and it works really well.

As the JS code I'm writing gets beyond a few hundred lines it's apparent some structure and organisation that the language doesn't naturally support. The way different bits of Javascript can know about each other is by polluting the global namespace with a a load of mess. There's a few formalised approaches to packaging things up which I found after playing about with my own solution. It was interesting reading about these, I'll likely go for CommonJS or RequireJS not sure which yet. In turn lead me to an introduction of the upcoming Harmony and tangentially about the imminent Coffeescript 2 release and its exciting Kickstarter journey.

I learnt a bit more about nice development environments for Coffescript and Javascript. After experimenting with have Guard auto compile things for me last week I'm now using Cake (yes, every language seems to have their own build environment, there was make, Ruby's rake so there's also cake of course for Coffeescript) after wholesale ripping off the really pleasant setup in this lovely demo app of Coffee Physics. It's so cool all of this stuff is easily available as source and so easy to learn from. So much great stuff out, just found a port of bullet to JS!

Actually when you write it down, on top of the cross domain nonsense I learnt a lot of good stuff. Not so bad then.

I Learnt I Don't Like Old Naked Men Commenting On The Fancyness of My Goggles

Went for a bit of swimming with Suzey and the boy at the local gym. Which was ace. Charlie's really come along and close to swimming completely solo. Right now he's just got a float to help him along but he's kicking away in the water and putting his head under with a boat load more confidence and verve that the last time we went.

In the changing room after a naked old man looked at my googles and said they were 'fancy'. And I really didn't like it.

References

Strava ride 1 Strava ride 2 Strava ride 3 Up Grange Road leaderboard JSONP Cross Domain AJAX Module Approaches Common Js Require JS Harmony Cake make rake Coffeescript 2 Coffee Physics KickJS Ace Code Editor Coffeescript2 Kickstater JSBullet CORS Chrome CORS Lion Apache REST