Category Archives: Trip Report

Vermont Code Camp III

Along with Maura Wilder and Joan Wortman, I made the trek to Vermont from Boston to hang out with the cool kids at Vermont Code Camp III. The three of us gave talks and attended a bunch of excellent sessions. For my part, I attended talks on Hadoop, Visual Studio tools for Unit Testing, EF, software consulting, and Maura and Joan’s talk Introduction to the Ext JS JavaScript framework “for Rich Apps in Every Browser” (after which I admit I was convinced that this is a framework to take seriously – very impressive).

I presented a talk in the morning called Cloud Architecture Patterns for Mere Mortals (with Examples in Windows Azure). If you are interested, my slide deck is attached: Vermont Code Camp III – Cloud Architecture Patterns for Mere Mortals – Bill Wilder – 10-Sept-2011 (also available on Slideshare)

Also, you are all invited to the (free) Boston Azure Bootcamp to be held in the Boston area (Cambridge, MA) on Friday September 30 and Saturday October 1. Sign up here, and please help spread the word. Hope to see some Vermont Code Camp friends there! Let me know if you have a strong desire to “couch surf”, especially on the middle night, and I’ll see if I can help out. Tickets won’t last forever, so I encourage you to sign up sooner than later.

Thank you to all the Vermont Code Camp III organizers, volunteers, and sponsors – like last year, this was an inspired event and I’m glad I made the trip. Find them on Twitter at @VTCodeCamp.

A handful of Vermont Code Camp photos follow… (and a couple from Sunday night on Church Street in Burlington)

This slideshow requires JavaScript.

Advertisements

July Boston Azure User Group – Recap

The July Boston Azure User Group meeting had a tough act to follow: the June meeting included a live, energy-packed Rock, Paper, Azure hacking contest hosted by Jim O’Neil! The winners were chosen completely objectively since the Rock, Paper, Azure server managed the who competition. First prize was taken by two teenagers (Kevin Wilder and T.J. Wilder) whose entry beat out around 10 others (including a number of professional programmers!).

This month’s July Boston Azure User Group meeting was up for the challenge.

Hope to see you at the Boston Azure meeting in August (Windows Phone 7 + Azure), two meetings in September (one in Waltham (first time EVER), and the “usual” one at NERD), and then kicking off a two-day Boston Azure Bootcamp!

Details on ALL upcoming Boston-area events of interest to Azure folks (that I know about) can be found in this blog post about Boston-events in August and September. Those hosted by Boston Azure are also at www.bostonazure.org and the upcoming events page.

New Hampshire Code Camp #3 (and my talks)

Today I attended (and spoke at) the New Hampshire Code Camp 3 in Concord, NH.

Here’s how my day went:

  1. Spoke about the cloud and Azure’s role in the cloud. Special thanks to Corinne, Sandra, and Matthew for the excellent questions and discussion. Here is the slide deck (new-hampshire-code-camp-3-concord-bill_wilder-demystifying_cloud_computing_and_azure-04-june-2011.ppt) – though I didn’t use much of it! – we freestyled a lot. Of particular interest to attendees of this talk. check out my post called “Azure FAQ: How much will it cost me to run my application on Windows Azure?” (actually posted “tomorrow” – the day after I posted this note from code camp).
  2. Was torn between Phil Denoncourt‘s talk on “25 Things I’ve Learned about C# over the past 10 years” and Andy Novick‘s talk on SQL Azure. Ended up hanging out for Andy’s talk to see if there was anything new in SQL Azure and to get his take on the awesomeness that is SQL Azure Federations.
  3. Lunch break
  4. Spoke about Architecture Patterns for the Cloud. Here is the slide deck: New-Hampshire-Code-Camp-3-Concord-_bill_wilder_-_cloud_scalability_patterns_in_windows_azure_platform_-_04-june-2011 – we talked focused on three specific scalability patterns and how you might implement those on the Windows Azure Platform: Sharding, NoSQL Data (and eventual consistency), and CQRS.
  5. Watched Udai Ramachandran talk about Windows Azure AppFabric Caching in the final session.

Scaling Cloud Applications – Birds of a Feather (“BOF”) Session at TechEd

Today at TechEd in Atlanta, I served as discussion leader for a Birds of a Feather (BOF) session on Scaling Cloud Applications. The session had around 20 people in the room, and an unknown number watching the live stream, some of whom actively participated over Twitter.

"Bird's Nest" Panel

Some of the topics discussed:

  • SaaS vs. PaaS vs. IaaS, including the blurring of the lines between them
  • Scale Up vs. Scale Out vs. Scale back down — elastic scale means you pay for what you use — just start (or stop) using the resources you need and the billing will reflect this usage
  • Scale has many dimensions, some of which are Geographic Distribution of and Number of Users, Amount of Data, and Needed Computation Power
  • Cloud applications are architected differently, often decoupling user-facing functionality from services – the front-end may communicate with the back-end using a reliable queue (such as offered by Windows Azure); see CQRS pattern
  • There are many application architecture concepts that are shared across applications built for most cloud vendors – for example, the loosely coupled front-end/queue/back-end scenario mentioned above can be implemented on Windows Azure (which provides Web Roles, reliable queues, and Worker Roles) or Amazon (which allows you to build and upload a Virtual Machines for front-end and back-ends, plus offers a reliable queuing service), other cloud platforms, and even on-premise – the cloud services just make these more natural to implement
  • Improving latency for cloud applications might be facilitated through a Content Delivery Network (CDN), geographic load balancing (such as through Windows Azure Traffic Manager), and other techniques

Many thanks to all who participated, including:

The BOF events were very well run by the INETA team (Chris Pels and a few others).

If you want a more structured treatment of some of the same scalability concepts, feel free to check out my talk on Cloud Scalability Patterns coming on June 1/June 2 via the GITCA “24 Hours in the Cloud” event. Here is the generic event description – follow the link to find out when my talk is slotted in.

Come and get your Cloud geek on! On 1st June, 2011 GITCA and Microsoft are running an event called “24 Hours in the Cloud”. There will be 24 one hour sessions around the world covering a wide range of Cloud Computing topics. The presenters will be live on twitter to answer your questions. I will be one among them. There is something for everybody, developer, IT pro and SQL enthusiast. There is no question that Cloud Computing is here to stay and this is a unique opportunity to be educated and gain an insight as to where Cloud Computing is going. Stay tuned for more details, such as how to join the “Cloud 24 hour party”, as the event date approaches.

If you have more questions on the topic, feel free to put in on twitter (@codingoutloud), you can comment on this blog post, or you can email me (coding out loud at gmail). And, finally, below you can find the  Twitter stream from the live event – latest on top, earliest on bottom – (which I salvaged via research.ly). Scale on!

@techedbof20117 hrs ago
BOF12-DEV on Cloud Computing is now coming to an end. #bofdev #msteched

@techedbof20118 hrs ago
Mobile apps are a big area for growth in the cloud computing area.
#bofdev #msteched

@techedbof20118 hrs ago
Talking about moving existing apps to the cloud as we near the session conclusion.
#bofdev #msteched

@techedbof20118 hrs ago
When you scale you can select the instance size in Azure. #bofdev #msteched

@techedbof20118 hrs ago
Decoupling front end from back end processing is an important concept. #bofdev
#msteched

@techedbof20118 hrs ago
For scaling, one experience is knowing how much work to do and
how much an instance can process in an hour. #bofdev #msteched

@techedbof20118 hrs ago
Would be nice if the Azure platform would monitor and scale for you.
#bofdev #msteched

@techedbof20118 hrs ago
@itagsubbu Great to have you join us. #bofdev #msteched

@itagsubbu8 hrs ago
@techedbof2011 Thanks for asking my question. I am watching this live event.
#bofdev #msteched

@techedbof20118 hrs ago
@itagsubbu Yes you can scale either on a scheduled basis or in a programmatically
#bofdev #msteched

@itagsubbu8 hrs ago
@techedbof2011 #bofdev #msteched Can we scale up for certain period in an year?

@rileybeebs8 hrs ago
RT @jmilgram: Getting ready to attend Bill Wilder @codingoutloud Designing Scalable
Cloud Applications #bofdev session at TechEd #mstech ...

@techedbof20118 hrs ago
Gmail is an example of SaaS #bofdev #msteched

@techedbof20118 hrs ago
How do you get resources to the cloud platform? #bofdev #msteched

@techedbof20118 hrs ago
IaaS eliminates the infrastructure but you admin, for PaaS both roles are eliminated
#bofdev

@techedbof20118 hrs ago
As you scale out across geographically dispersed data centers what is the impact on
SQL Aszure costs? #bofdev

@jimoneil8 hrs ago
blurring of IaaS and PaaS is something interesting as well... becoming less of a
differentiator? #bofdev

@techedbof20119 hrs ago
Silverlight app has 50K updates/sec #bofdev

@techedbof20119 hrs ago
Silverlight app that was not designed for the cloud. What to do? #bofdev

@techedbof20119 hrs ago
Thoughts on WPF app w/ Azure backend? Are you doing that? #bofdev #msteched

@techedbof20119 hrs ago
BOF12-DEV on designing scalable cloud applications is getting started
#bofdev #msteched

@TashasEv9 hrs ago
RT @jmilgram: Getting ready to attend Bill Wilder @codingoutloud Designing Scalable
Cloud Applications #bofdev session at TechEd #mstech

@TashasEv9 hrs ago
@rileybeebs I haven't forgotten about you! just haven't been able to leave the
#BOFDEV sessions at all yet!

@TashasEv9 hrs ago
The next #MSTechEd #BOFDEV : Designing Scalable Cloud Applications lead by
@codingoutloud

@techedbof20119 hrs ago
The next #MSTechEd #BOFDEV : Designing Scalable Cloud Applications
lead by @codingoutloud

@techedbof20119 hrs ago
RT @jimoneil: RT @codingoutloud my 1:30 TechEd session on Designing Scalable
Cloud applications #msteched #bofdev << will be heckling from afar!

@jimoneil9 hrs ago
RT @codingoutloud my 1:30 TechEd session on Designing Scalable Cloud applications
#msteched #bofdev << will be heckling from afar!

New England Code Camp 15

I attended New England Code Camp 15 today and attended a bunch of interesting talks, and I also gave a couple of talks myself. (Links to my slide decks are included below.)

At my talks, I mentioned the Windows Azure Pass – a 30 day FREE pass for using Windows Azure Compute (IIS or Worker Roles), SQL Azure, Azure Blobs/Tables/Queues, etc. If you didn’t get a handout at talk, no worries! – You can still access the offer: Go here and use Promo Code BILLONAZURE. Let me know if you have any questions or if you use the promotion.

Talks I attended:

  • Maura Wilder and Joan Wortman‘s talk on the Ext JS JavaScript framework (which I learned has an incredibly rich widget library and robust  programming model).
  • Richard‘s talk on becoming a better developer.
  • Ben Day‘s talk on 7 Lessons Learned during his first large Silverlight dev project. Find out more by reading Ben’s article on same topic, starting here.
  • Steve Maier‘s talk on using Azure-hosted WCF services to serve as your mobile application’s back-end.
  • Chris Bowen on HTML 5.

My presentations (including links to the PowerPoint slide decks):

Many thanks to Chris Pels, Chris Bowen, and especially Patrick Hynes for such a great event! Thanks also to Telerik and Wintellect for sponsoring our food!

Also enjoying hanging out afterwards at Uno’s with Maura, Joan, George Babey, John Garland, Jesse Liberty, Pat Tormey, Chris, Veronica and Shawn Robichaud, Ron, and several other folks I didn’t get to say hello to…

Boston Azure Firestarter Wrap Up

Boston Azure Firestarter a Success!

We had 60-something folks attend the Boston Azure Firestarter (more photos) on May 8, 2010 in Cambridge, MA. This event provided both talks about important Azure concepts and hands-on-roll-up-your-sleeves-and-write-some-code Labs. Yes, attendees brought laptops! Feedback was positive. Many thanks to all the folks who helped make this event possible. This was a Boston Azure cloud computing user group event, supported by and hosted at Microsoft.

Many Thanks!

Those who helped prepare for the event, work the sign-in desk, help with technical problems, and handle the pair-programmer matching service included Nazik Huq, Chander Khanna, Joan Linskey, and Maura Wilder. Jim O’Neil and Chris Bowen (our East Coast Microsoft Developer Evangelists) were also on hand for trouble-shooting and general support and help.

 

Here was our speaker lineup:

  1. David Aiken from Microsoft’s Windows Azure team came from the left-coast in Redmond to the right-coast in Boston to keynote the event. David gave many demos, a couple of which were My Azure Storage and his new URL shortening service hmbl.me.
    David’s keynote was followed by:
  2. Bill Wilder: Roles and Queues talk + lab (http://hmbl.me/1OHBMZ)
  3. Ben Day: Azure Storage + lab
  4. Andy Novick: SQL Azure + lab (http://hmbl.me/1H46PK)
  5. Jim O’Neil: Dallas and OData (http://hmbl.me/1OHC5W)
  6. Panel Q&A (in the order shown in photo below): Mark Eisenberg (Microsoft), Bill Wilder, Ben Day, Jason Haley, and Jim O’Neil

After hours, a smaller group unwound at the sports bar over at the Marriott. This included Jim O’Neil, Maura Wilder, Joan Linskey, Bill Wilder, Sri from New Jersey, (okay, other names are vague!) …

Steve Krug on Rocket Surgery Made Easy from Dec 2010 BostonCHI Meeting

Rocket Surgery Made Easy

Steve Krug speaks at BostonCHI

Notes from 08-Dec-2009 meeting

  • Steve’s new book – Rocket Surgery Made Easy – due in bookstores in a couple of weeks – material from this talk will be in his book…
  • Passed a copy of his book around through the audience for quick peek
  • 150 or so people in attendance

Writing process

  1. writing process: collect years of notes
  2. need deadlines to force you to write (and finish)
  3. collect relevant articles for each chapter and post them all on a wall
  4. once you’ve begun to panic, start throwing things overboard
  5. Outline, write, iterate
  6. get help
  7. throw things overboard (save for next book?)
  8. FAQ at the end of every chapter – good idea
  9. Doing usability (vs How to Think About Usability)

Doing Usability

  1. A morning a month – that’s all we ask
  2. Run tests – with whole team – at our site – scheduled monthly and well ahead of time – and debrief immediately after over lunch
    1. maybe do right before iteration planning
    2. company-sponsored lunch
  3. Start earlier than you think makes sense
  4. The sooner you get information, the better use you can make of that information
  5. Don’t wait until the site is “finished” – test it as soon as it is testable
  6. Don’t worry that “you already know about the problems”
  7. If you have nothing built, test other people’s sites
  8. Are you working on the site? –> Yes ==> test now!
  9. Recruit loosely and grade on a curve
  10. Beware implied domain knowledge
  11. Some testing can be done w/o your target audience
  12. Usability testers say many things that are similar to what therapists say – “what did you expect to happen when you did that?”
  13. Keep yourself out of it! It is about the user and what the user being tested is thinking.
  14. Make it a spectator sport
  15. Get everyone to come and watch the test – frequently the observers suddenly just “get it” that they are not their users
  16. Have high quality snacks. Keep the sessions short and compact. Do them on site. Make it easy for everyone to join in, hard to have a good reason to skip it.
  17. Record sessions with Camtasia ($300). Get a good USB desktop microphone ($25). Don’t record user’s face (“useless and distracting”). Use a screen sharing service (like GotoMeeting, $40/month?) to control the UI. High quality audio is important, and should be channeled to the observation room via GotoMeeting or Skype.
  18. Focus ruthlessly on a small number of the most important problems
  19. Serious because everyone will come across them, or serious because for those who do encounter them will be seriously impeded.
  20. Don’t feel you need to come up with the “perfect” fix
  21. Ask everyone in the observation room to write down the three most important issues they observed. These are raised at the debriefing session over lunch.
  22. When fixing problems, always do the least you can do ™
  23. Prioritize the list, then work your way down the list until you run out of time/resources
  24. Sometimes a tweak is better than a redesign – don’t get suckered into a redesign – the perfect is the enemy of the good!
  25. Focus on the smallest change we think we can make to address the problem we observed
  26. Q&A
  27. Remote Testing?
  28. Remote testing is handy – saves travel time, recruiting pool grows, … do over skype or GotoMeeting.
  29. How to get it off the ground? Try a group usability test of competitor’s site – everyone can get behind that. Do one and hope people get enthused about it. Make the cost of swinging by to watch the testing really small.
  30. Be very cautious about asking users how to fix the problems they’ve encountered. “Users are not designers.” “Hopefully you know a lot more than they do about design.” Listen to them, but be careful that they’re ideas are not well thought out. The purpose of testing is to “inform your design intelligence”.