Barcamp Sarasota 2011

barcamp-med-white

My daughter and I went to Sarasota for Barcamp Sarasota this weekend.  The weather was awesome and the event was great.  This part of the community seems to be erupting in a good way, we are definitely going to be keeping our ears and eyes on this community.

My talk was called “Learn Your Customers’ Language”.  If you attended my Barcamp talk, here are the slides.  I hope you enjoyed it and if you have any questions, please shoot an email to me: onefloridacoder@live.com

** Update **

Put up two github gists from the code samples I didn’t get to during my talk
at #bcsrq on Saturday.  One for SpecFlow and one for StoryQ.

Take your Queues from PnP

I received an email from our Scott Densmore earlier this week that pointed me to a GIT project which had some updates he was making to PnP Azure guidance.  Without pressing F5, I started my own code review on the solution to see how the code was laid out.  Here’s the post that discussed the changes, and here’s the GIT source he posted.

He mentioned a MultiEntity pattern he was plugging in based on another post.  Both posts was interesting, and made total sense to a Azure noob like me.  Hanselman is big on reading good code, and today I read some really good code.  How do I know?  I compared it to some Azure Boot Camp code that laid out a short talk on Azure Queues today, which is where I focused my review.  From there, I went back up the stack to the data services (Role, Member, Session) and dove into the decoupled plumbing code from there, then up to the ASP providers.

This discussion about queue processing, not the MultiEntity pattern, Scott nails that together, and if that doesn’t do it for you, check out the article Scott references in his post.

The interesting difference in from the boot camp code was how the worker role that managed the queues was working.  The PnP code had setup a Task to run the job at specific intervals with an object called QueueCommandHandler that handles the processing. Here was the difference.  The boot camp code looked at using while(true) to loop through the queues’ messages to process.  I will have to say, the boot camp webcast definitely helped me understand queue processing much-much better.  And I could read through the PnP code even more easily.

The generic command queue handler which the queue command handler derives from looks like this:

image

The queue command handler looks like this:

image

The command handler looks like this:

image

 

When the worker role starts, it handles task scheduling like this for queue and non-queue command processing:

image

 

The Do() still uses a loop to process, but the processing is still pulled apart and re-usable a bit more to my liking.

image

The only thing I would to differently at first glance at all of this code was to incorporate some type of rheostat to handling slowing the processing if the queues are so busy. 

The boot camp web cast had an interesting approach to this called exponential back-off polling when means to us mortals is that if I look at queue every 5 seconds and it’s empty, I’m going to set an interval somewhere to 10 seconds so I check less often.

I’ve built things like this into some projects I’ve built, and usually from configuration, but this needs to be more dynamic (hands-free).  I’ll probably toy with this to build something easier to ready (which is why I’m not posting it here).

Take a look at Scott’s code and pick out some part of Azure that interests you as see if there any queues you want to take from their guidance.

I accidentally bought an iTouch yesterday

By pulling the SIM card out of my iPhone and slipping it inside a Samsung Focus, one of a few Windows Phone 7 models out currently.

The last Windows Mobile device I owned was BlackJack II, and I really liked it until the display seemed to get smaller and smaller, day by day – at least for my tired eyes.  This was the only selling point for the iPhone 3GS.  I had other folks on my team sporting them and really pushing the OS to do this that or the other with some newfound app from the fruit market.  I can say I didn’t pay for any applications, I just needed a phone that played music REALLY LOUD wherever it might be.  That’s why I (saved my money first and then) purchased an iPhone. 

Over the 2 1/2 years I owned it I probably synch with iTunes a total of 12-15 times, mainly to get apps back that had problems with iOS3 and iOS4 changes, the last time was for the iOS4.1 update.  Whenever it came out, that was the last time I updated my phone.

Just like it’s big-big brother the MBP, it is solid phone, and it never died.  I could always make a call and take care of business.  I have a few friends that are iOS developers, and they love it, no love loss at all between us, they enjoy the challenges the platform gives them and the envelopes they need to push – all developers like this. 

I , on the other hand, chose not to pursue the iOS platform as exciting and challenging as my peers made it sound.  I spent about six months being mentored by an awesome Silverlight developer and evangelist who demonstrated how Silverlight worked, and what each rev could do better then the previous.  And most importantly the tooling, it seemed remarkable to me and I could figure out how to make stuff from scratch and make it work for me.  I spent about eight months bending the curve back into my favor after he left for and reached that moment when you leverage the language to make it do what you want.  It was a good day, well great IMHO.

While I was working on Silverlight, Expression Blend, and Designer Windows Phone 7 (WP7) reared it’s head and landed on a device that I could apply some of my skills to.  The WP7 platform was a blended version of Silverlight 3 and 4 (some call it 3.5) but I instantly understood the layout and notification system, but didn’t get the entire platform b/c some of it was closed.  The developers’ guide states you have to do things a certain way or “no soup”, or to be clear your app wasn’t going anywhere near the app hub.  The iOS devs have the same opportunities, but really, who wants to publish an application that sucks or broken?!  Not I, ever. 

I’ve been blessed to be (physically and virtually) around a some really talented developers who enjoy this platform, and they like to share their experience and sometimes their code.  I think I enjoy the community aspect of the platform as much as the platform itself – it’s a nice pair.  There are .NET devs that work the same types of problems on the iOS platform as we would on the WP7 platform – tomato, tomata – potato, potata, I think we should all learn from each other and quit bitching about what platform is best.  It’s a phone, YMMV on that last point.

My only testimony, and probably the best is one adopter that was in the store waiting in line with me.  She was tapping and swiping to try to see what the Focus could do.  Then she found pictures, then the games, and so on, she was definitely engaged and she was about six years old.  She totally figured it out, and I’ve heard from others that have iOS devices their kids to the same.  I hope that all kids young and old, no matter what device they pick up to tap and swipe on, learn to love a platform that challenges them.

So, I waited and waited, and saved my money. Then yesterday I picked up my Samsung Focus.  It is a phone that I can see.  With windows down and sun roof open it is a music player I can hear.  It is a device that reciprocates torment when I deploy an app to it.   It is the awesome.

BarCamp Orlando 2011

Today BarCamp Orlando took place.  I’m not sure how many have graced our city but this was my first.  Not having any expectations for what to expect, it was awesome.

The sessions are filled with speakers who volunteer in the morning to talk about things they are passionate about or that live in their wheelhouse.  Here are the sessions that stood out for me.  Apologies to the speakers b/c I didn’t get their names from the slides or the session sign-up board, but I’ve added the ones that I captured from slides or conversations.

Barcamp Orlando BuildASession
Barcamp Orlando Session Board

Here’s how the sessions get built up.  Pickup a sharpie off the table in front of thesession board and write down a catchy but descriptive title of your talk.  You have 20 minutes to to you talk and allow for 10 minutes for setup, questions, and running over.

Pause.  It’s a verb and also an acronym for what to do when you approach an opportunity for design.  Here’s the breakdown.  He started with a question about what was the oldest tool we knew of.  Give up?  The hammer, and if you imagine one with a claw opposite side of the striking surface, you have an “undo” feature.

Make a fist with your hand and you’ve got the first hammer known to man (and woman).  Then it progressed – to a stick for leverage, then a rock for durability, then a rock tied to a stick.  Then if the rock breaks, you’ve got something that looks like a chisel potentially.   Back to the acronym.

P. Purpose. What’s the purpose of the thingee you’re going to build for the solution to his opportunity

A. Actions. What actions does it need to perform?

U. User.  This adds context to the thingee, is the user blind vs color blind vs 5-yr old.  We elminate the other types of users when we apply this context to the opportunity.

S. Spacial domains.  What type of space will the thingee live in?  You wouldn’t want to build a 1000 x 800 site for a smartphone would you?

E. Evolution, just like the hammer example above, it evolved from a stick to an Estwing.  Your idea should do the same thing.

The last thing to consider are how strong are the connections between P and A, A and U, and so on, the stronger the better.

Lunch

Here’s a picture of the lunch line today, and the eats were good and filling as well.  And the weather was just screamin’ blue sky all day long!

Health Care IT

Aaron Drenberg had a great talk on his views of impacting Health Care IT in the next decade.  And the impact that the aging baby boomer population will make in that space.  Easy to understand concepts about how this space can potentially offer opportunities for consultants involved in science and engineering.

There were discussions around BarCamp today of having a few health camp events in the state, and organizing local chapters around the state.  Here’s the site for more and better information.

http://www.advancedhealthcaresociety.org

Go When Called To Grow

This designer started out a hair dresser then became a graphic artist, then after leaving a larger company found herself unemployed and found other areas of her life to explore that added to her graphic design career,  and along the way became a yoga teacher.  One of the points she made that stuck with me was “think small – business”.  There’s help to be handed out in this area and she gave one example of how she helped one client with a dream to start his online business.

The front page she created for them would have been called “hideous” by some, unable to convince the customer otherwise, it was what the customer wanted, lime green, shartruse and all.  That’s what she delivered.  She also mentioned she was also working at day care teaching kids yoga and drawing.  She thought that maybe she might be influencing a future desinger by sharing to kids at that age, while teaching herself childrens’ book illustrations at the same time.  Much about the attitude we have when we walk in the door to our job, or when our customers walk in the door.

http:// www.bilanxcenter.com

Content + Design = Great User Experience

For the whole twenty minutes Jason (Van Lue) held our attention in describing how we should be handling and thinking about content and design.   A few points I managed to jot down during this barage of information:

Content Strategy

  • Know your voice – what to say
  • Know your audience – who am I talking to

Personalize content by using filters

  • geo-ip addresses
  • social demographics
  • registration information

Responsive Design

  • Design on grids
  • Grid elements must be flexible
  • Different views in different contexts via media queries (did not know what media queries were until today)

Mobile First

One resource I eeked out of my notes was “lukew.com – mobile design”  – I checked, there’s a lot of stuff over there you might want to check out.

@jasonvanlue | www.jasonvanlue.com

There was a contingency of .NET folks up from Sarasota today as well, and I hear there’s another barcamp in store for the community down in Sarasota April 30th – May 1st.  Checkout www.bcsrq.com for more info, ping Stan Schultes at stan@vbnetexpert.com, or just register and show up.

It was a really awesome day with a lot of really talented and smart people filling the air with passion and excitement for technology.