From Crawl to Walk (again)

I recently took on the task of getting back into all of my favorite hobbies, and photography has been at the center of the this recently as well.  I used a SLR for years and have zip-locks stuffed with a hundred or so rolls of film developed years ago.  I mainly used them to figure how what was wrong (in my mind) with the picture.  But after starting to use DSLRs, this kind of changed.  The camera wants to think for me, and allow me to do some on-board manipulation of the picture.  For me, this is kind of hard b/c I get caught up in the moment I hit the shutter button – there is nothing else going on around me except what I see TTL.

Like any great word or spreadsheet processor, we only figure out how to use 20%, maybe 30%, if it’s something we don’t use everyday.  But we use that 20-30% to accomplish whatever our task is without looking for a simpler way to finish a task.  This was me with my current camera.  I needed to fix this.

I was out on a bike ride one afternoon and decided to walk in to a book store and find a book that talks only about my camera.  And to my huge surprise, I found one.  Got through the first three chapters and learned so much about this little black box.  Based on what I learned, I was able to take a few pictures yesterday at a neighborhood dance recital.  The book doesn’t help me take better pictures, but it does/did help me setup the camera to my liking with some bracketing worked before the event, in and out of decent to lousy lighting.

So, I think I’ve made it beyond the crawling stage again with photography, and I’m walking again.  Hopefully, I can keep working on this little black box a day at a time to at least get back to the place I was.

j@s

 

IMG_7179IMG_7160IMG_7167IMG_7164IMG_7163

 

 

The Magic Factory

magic.factory

I recently discussed the “Magic Factory” with my girlfriend to see what she thought about a Grand ReOpening.  Oh, what is the Magic Factory? It’s a place I walk into mentally with one, or two, maybe three ideas and blue sky what might happen if I built applications around those ideas.

I’ve had a bunch of ideas up on AgileZen waiting to be unpacked and built but just lost the fire last year about this time to pick up my tools and start writing software again until this conversation happened.  But after trying all last year to relight the fire, all I could render was a spark and that was about it.

Then last month our shop announced Hack Day 2014 – hmm… how could I pass that up, right?  Our shop is going to give us 24 hours to build something from scratch then present to leadership the next day.  The 1st, 2nd, and 3rd prizes were pretty sweet, but it wasn’t about winning for me – it was a test to see if I could start and finish – something you take for granted when you a bit less gray over the ears.  So, freakin’ sign me up!

I found a great (and smart) peer on my team who wanted to help build something in 24 hours from scratch.  I thought this would be the real test to see if I could pry the doors open on this place I used to spend so much time in.

We didn’t win the grand prize, or make the final cut – but we built an app in 24 hours that conveyed the business idea we wanted to promote.  So, now with the doors to the magic factory swinging with activity and visitors like my grandma’s front porch screen door, things feel a bit more normal now that this place is open.  Oh, by the way, welcome to my “Grand (Re)Opening!”

 

Squeezing The Rain Out Of A Cloud

mostly.cloudy.rain.xlarge.mod

This week’s weather has been overcast and cloudy, and this morning the forecast looks like the image above (according to an online weather source).  So I thought I’d share a few things I worked through yesterday and this morning to get some rain out my cloud.

Here’s what the solution is using, so far:

MVC 4 Internet project – and all the scaffolding bits it gives us. Nuget packages only include Unity.Mvc4 & Microsoft.ServiceBus right now.  I’ve got some ideas for logging that’ll use some of the PnP Enterprise Library goodness to wire-up some business and system logging for this solution, as well as tap into Wasabi for scaling & throttling ideas I have for the solution – more on the last two later on though.

The solution is pretty simple, and that’s how I’d like to keep it for now.  But I needed to start pulling some mock data into grids to start with, and historically being a server-side coder I started out trying to unload my collections with some of the HTML helpers Razor exposes to us.  But it really just didn’t feel right and I found myself trying to hack something together to get some data into the view.  The night before I was having a conversation with John Papa around UI/UX content enablers.  He makes all of this stuff look so easy, so I thought, sure I can do this too so I set out to jam in a JQuery plug-in to spin through my data.

I settled on jqGrid with only a few minutes of looking around the jQuery home page.  So not being the client-side junkie most folks are these days I started Binging for code samples.  After a few hours (seriously, I’m not that smart and somethings take longer than it should) I found a post on Haack’s site that talked about what conventions need to match and which ones don’t.  Oh, and after a minutes I fixed the signature on my controller action and the code started lighting up.  Now it’s only formatting I need for a few views which I won’t burn too many cycles on.

Using Phil Haack’s example, I had jqGrid running in a few minutes.  But I will say this – I did learn alot about the Html Helpers ASP offers, they are powerful and very handy.

The side of effect of this choice was larger than I thought though and required a bit of refactoring.  The view receiving this data was strongly-typed with  IEnumerable and now that the data was coming from a jqGrid call to an action that returned a JSON payload, I didn’t need that.  The repository method that was serving the data to the controller looked funny now.  I needed to scope the method to just return the requestor’s data, not all of the data.  I may still split this interface up because of ISP, but I’ll keep my eyes open for code smells just in case.

So, there’s a bit of refactoring going on today before I hookup the Azure persistence piece which is next.  I haven’t quite figured that out yet, but soon.  The easy part about this is I can still target my Azure Service Bus queues, and tap into the local storage emulator on my local box until I figure out data and or document shapes for the storage thingee.

Here’s a gist with the view and controller source.

HTH /oFc